Coder Social home page Coder Social logo

Comments (8)

philipkershaw avatar philipkershaw commented on June 23, 2024

When I first added pyasn1 my feeling was that it was better as an optional package: not everyone would want full subject alt name support. It seems to me with the above, I would need to make it a compulsory package. However it looks like you have a workaround by ensuring pyasn1 is installed first. It's not ideal but means pyasn1 stays as an optional package. Happy to be convinced otherwise if you feel it should be compulsory.

from ndg_httpsclient.

philipkershaw avatar philipkershaw commented on June 23, 2024

I'd be interested to hear if pyasn1 as a compulsory package would make life easier in general. Otherwise I will leave as is and close this ticket.

from ndg_httpsclient.

jayvdb avatar jayvdb commented on June 23, 2024

So Ubuntu precise has v0.0.11a by default, and
univ.Any appeared in v0.0.13a.

It can remain an optional dependency, by using

extras_require={'subjectAltName_support': 'pyasn1>=0.0.13'},

from ndg_httpsclient.

jayvdb avatar jayvdb commented on June 23, 2024

Hmm, this might be part of the problem.

https://travis-ci.org/jayvdb/ndg_httpsclient/jobs/135839291
https://travis-ci.org/jayvdb/requests/jobs/135838126#L661

I suspect the problem is that pip on Ubuntu is using ndg_httpsclient, and the current ndg_httpsclient conflicts with the old pyasn1, so pip breaks during installation.

Anyway, valid versions of pyasn1 to choose from are : 0.0.9a0, 0.0.10a0, 0.0.11a0, 0.0.12a0, 0.0.13a0, 0.0.13b0, 0.0.13, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9

And I have found a semi-reasonable workaround to the problem.

However 0.0.13 doesnt install on Python 3, so I think the minimum should be at least 0.1.1.

However I see that cryptography requires pyasn1>=0.1.8 , so it is likely most people will be using that soon.

from ndg_httpsclient.

bengotow avatar bengotow commented on June 23, 2024

Would love to see this merged! The pyasn1 issue is causing issues for us downstream nylas/sync-engine#385

from ndg_httpsclient.

philipkershaw avatar philipkershaw commented on June 23, 2024

I've set a minimum version dependency for pyasn1>=0.0.1 as in John's fork (thanks). Is this sufficient for your needs?

If so I'll cut the new release and put in PyPI.

Trying a pip install on Python 2.7 with dist tarball generated from dev branch, cryptography appears to enforce a minimum version of 0.1.8 for pyasn1. See below . . .

Collecting ndg-httpsclient
Collecting PyOpenSSL (from ndg-httpsclient)
  Downloading pyOpenSSL-16.1.0-py2.py3-none-any.whl (43kB)
    100% |████████████████████████████████| 51kB 4.9MB/s 
Collecting six>=1.5.2 (from PyOpenSSL->ndg-httpsclient)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting cryptography>=1.3.4 (from PyOpenSSL->ndg-httpsclient)
  Downloading cryptography-1.5.tar.gz (400kB)
    100% |████████████████████████████████| 409kB 2.8MB/s 
Collecting idna>=2.0 (from cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
  Using cached idna-2.1-py2.py3-none-any.whl
Collecting pyasn1>=0.1.8 (from cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
  Using cached pyasn1-0.1.9-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): setuptools>=11.3 in /home/pjkersha/virtualenvs/ndg-https-client-test-install-py27/lib/python2.7/site-packages (from cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
Collecting enum34 (from cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
  Using cached enum34-1.1.6-py2-none-any.whl
Collecting ipaddress (from cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
  Using cached ipaddress-1.0.16-py27-none-any.whl
Collecting cffi>=1.4.1 (from cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
  Downloading cffi-1.7.0-cp27-cp27mu-manylinux1_x86_64.whl (383kB)
    100% |████████████████████████████████| 389kB 2.6MB/s 
Collecting pycparser (from cffi>=1.4.1->cryptography>=1.3.4->PyOpenSSL->ndg-httpsclient)
Building wheels for collected packages: ndg-httpsclient, cryptography
  Running setup.py bdist_wheel for ndg-httpsclient ... done
  Stored in directory: /home/pjkersha/.cache/pip/wheels/a9/20/85/11b14ee4749b21f4a8f54b7d032994f4109a3a29a59da5bb49
  Running setup.py bdist_wheel for cryptography ... done
  Stored in directory: /home/pjkersha/.cache/pip/wheels/d4/98/43/a428a8aed7285f934d18efd787647455d7ef9a9dda81f22839
Successfully built ndg-httpsclient cryptography
Installing collected packages: six, idna, pyasn1, enum34, ipaddress, pycparser, cffi, cryptography, PyOpenSSL, ndg-httpsclient
Successfully installed PyOpenSSL-16.1.0 cffi-1.7.0 cryptography-1.5 enum34-1.1.6 idna-2.1 ipaddress-1.0.16 ndg-httpsclient-0.4.3 pyasn1-0.1.9 pycparser-2.14 six-1.10.0

from ndg_httpsclient.

jayvdb avatar jayvdb commented on June 23, 2024

I am rebasing my branch now.
I ran into unexpected difficulties with pypa/pip#3945

from ndg_httpsclient.

philipkershaw avatar philipkershaw commented on June 23, 2024

I've updated devel making pyasn1>=0.1.1 a mandatory dependency. This is simpler given PyOpenSSL dependency cryptography requires it anyway. Unless I hear otherwise I'll put the new release into PyPI on Monday.

from ndg_httpsclient.

Related Issues (11)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.