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

Python 3.10 Readiness #5925

Closed
nateprewitt opened this issue Sep 2, 2021 · 6 comments
Closed

Python 3.10 Readiness #5925

nateprewitt opened this issue Sep 2, 2021 · 6 comments
Milestone

Comments

@nateprewitt
Copy link
Member

Python 3.10 is just a little over a month away and we have some issues that need to be addressed in Requests. Currently our test suite relies heavily on httpbin which has been largely unmaintained since 2017. As a dependency, it relies on brotlipy which has since migrated to a new package brotlicffi. Given these are both C-based, we can't compile them in CI environments and rely on wheels being available.

It looks unlikely that we'll get a new wheel for brotlipy, so we'll need to either find a way to migrate httpbin to brotlicffi, or work out another alternative for the test suite. I still have PyPI credentials for httpbin to cut a new release, but there's a matter of ownership to be worked out now that it's under Postmanlabs. It also appears to have several versions in the commit history that have never been published that we'll need to consider.

@nateprewitt nateprewitt added this to the 2.27.0 milestone Sep 2, 2021
@sigmavirus24
Copy link
Contributor

I was removed from httpbin when it was sold/transferred to Postman. Maybe it's time to fork/use something different? #5915 has the start of something we might be able to use instead

@sethmlarson
Copy link
Member

@nateprewitt I can get you a new wheel of brotlipy for Python 3.10. I've never built a wheel from a build candidate however. Is the way to go there to build a wheel from a build candidate and then once Python 3.10 is officially released upload a new wheel for 3.10 with an incremented build number? If that works for you I can take care of that step.

@nateprewitt
Copy link
Member Author

If we can push a new wheel from the brotlipy tag, that may be much easier than the alternatives in the short term. I would assume the wheels would be virtually identical between the rc and official release. If we have issues though, we can definitely revisit updating the build number with a wheel from the official 3.10 release. Thank you!!

@sethmlarson
Copy link
Member

Uploaded abi3 wheels for brotlipy which are compatible with Python 3.10 and all future Python 3 versions: https://twitter.com/sethmlarson/status/1433488043529359369

@nateprewitt
Copy link
Member Author

Now that @sethmlarson has been kind enough to get us unblocked, I think we should be set with #5928.

@theGOTOguy
Copy link
Contributor

@sigmavirus24 If it's decided that #5915 is the future of requests' testing, I will refactor all of the tests to use it and then remove the existing test server.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Dec 3, 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

4 participants