Comments (8)
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.
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.
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.
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.
Would love to see this merged! The pyasn1 issue is causing issues for us downstream nylas/sync-engine#385
from ndg_httpsclient.
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.
I am rebasing my branch now.
I ran into unexpected difficulties with pypa/pip#3945
from ndg_httpsclient.
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)
- version 0.3.3 does not work with python3 HOT 1
- OpenSSL.SSL.WantReadError
- Wheel support HOT 1
- test certs have expired (20 Jan 2018). Could those be refreshed? HOT 3
- maximum number of alt names HOT 5
- Test certificates expired (again) HOT 4
- test suite fails with openssl 1.1.1e HOT 1
- Setup.py not copying __init__.py into package. HOT 13
- LICENSE missing from pypi package HOT 2
- v0.4.1 was not pushed to PyPI HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ndg_httpsclient.