Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dependency on cryptography package breaks upgrades #5771

Closed
jfinkhaeuser opened this issue Mar 11, 2021 · 3 comments
Closed

Dependency on cryptography package breaks upgrades #5771

jfinkhaeuser opened this issue Mar 11, 2021 · 3 comments

Comments

@jfinkhaeuser
Copy link

Unfortunately, the maintainers of the pyca/cryptography package have made Rust a hard dependency in newer releases. Since they cut short any discussion about this (not your problem, but a problem for the Python community in general), I was not able to explain to them that a dependency that is required by default and must be manually disabled can be considered a hard dependency.

As a result, updating any package that depends on cryptography breaks. Yours happens to be a widely used one.

It's not your fault, for which I am sorry. But you can solve this for your package by keeping your requirement on cryptography restricted to versions that do not require Rust.

Expected Result

When I pip install -U requests[security], the update works.

Actual Result

I get errors that newer versions of the cryptography require a Rust toolchain.

Reproduction Steps

see above.

System Information

various

@jfinkhaeuser
Copy link
Author

Relates to pyca/cryptography#5810

@sigmavirus24
Copy link
Contributor

No. In fact, I think we should raise the lower limit to the ones requiring the Rust toolchain. It's significantly more secure which is one of the tenants of this library - maximum security by default for users

@jfinkhaeuser
Copy link
Author

Ok.

I disagree. Rust has the potential to introduce more security, but the same was said of Java. We all know how that ended. While Rust is following a different design, it'll take more time to prove its approach.

Well, I raised the issue to the PSF directly, so maybe we'll come back to that. Maybe not.

The problem is that Rust just doesn't support the same range of target platforms that C or C++ do. So this excludes a bunch of e.g. embedded platforms that are currently still viable targets. I don't think that's the right approach for Python as a whole. Hence getting the PSF involved.

But it may be sufficient for requests. At least I'm not going to argue about it here. I tried raising this, if it's rejected then so be it.

@psf psf locked as resolved and limited conversation to collaborators Mar 11, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants