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

Migrate to the next version of Python requests when released #6011

Closed
potiuk opened this issue Jul 11, 2021 · 6 comments · Fixed by #6020
Closed

Migrate to the next version of Python requests when released #6011

potiuk opened this issue Jul 11, 2021 · 6 comments · Fixed by #6020
Labels
bug something isn't working as intended dependencies Pull requests that update a dependency file

Comments

@potiuk
Copy link
Member

potiuk commented Jul 11, 2021

Hello Maintainers, 

I am a PMC member of Apache Airflow, and I wanted to give you a bit of heads-up with rather important migration to the upcoming version of requests library in your Python release. 

Since you are using requests library in your project, you are affected.

As discussed at length in https://issues.apache.org/jira/browse/LEGAL-572  we found out that the chardet library used by requests library was a mandatory dependency to requests and since it has LGPL licence, we should not release any Apache Software with it. 

Since then (and since in Airflow we rely on requests heavily) we have been working with the requests maintainers and "charset-normalizer" maintainer to make it possible to replace chardet with MIT-licensed charset-normalizer instead so that requests library can be used in Python releases by Apache projects.

This was a bumpy road but finally the PR by @ashb has been merged: https://github.com/psf/requests/pull/5797 and we hope soon a new version of requests library will be released. 

This is just a heads-up. I will let you know when it is released, but I have a kind requests as well - I might ask the maintainers to release a release candidate of requests and maybe you could help to test it before it is released, that would be some re-assurance for the maintainers of requests who are very concerned about stability of their releases.

Let me know if you need any more information and whether you would like to help in testing the candidate when it is out.

@potiuk potiuk added the bug something isn't working as intended label Jul 11, 2021
@rawlinp
Copy link
Contributor

rawlinp commented Jul 12, 2021

@potiuk thank you for the heads up. Once there is a release candidate available, we can help test it out.

@ashb
Copy link
Member

ashb commented Jul 13, 2021

https://pypi.org/project/requests/2.26.0/ has been released now.

@zrhoffman zrhoffman added the dependencies Pull requests that update a dependency file label Jul 13, 2021
@mitchell852
Copy link
Member

@potiuk thank you for the heads up. Once there is a release candidate available, we can help test it out.

so you will test it out @rawlinp and close? :)

@rawlinp
Copy link
Contributor

rawlinp commented Jul 13, 2021

Yes.

@potiuk
Copy link
Member Author

potiuk commented Jul 13, 2021

Requests 2.26.0 released without the mandatory chardet dependency:

https://pypi.org/project/requests/2.26.0/

Instead of chardet, use the MIT-licensed charset_normalizer for Python3 to remove license ambiguity for projects bundling requests. If chardet is already installed on your machine it will be used instead of charset_normalizer to keep backwards compatibility. (#5797)

You can also install chardet while installing requests by specifying [use_chardet_on_py3] extra as follows:

shell pip install "requests[use_chardet_on_py3]"

Python2 still depends upon the chardet module.

@rawlinp
Copy link
Contributor

rawlinp commented Jul 13, 2021

The charset_normalizer change in version 2.26.0 appears to work just fine for our Python Traffic Ops client, so I opened a PR to update it: #6020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something isn't working as intended dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants