-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Swap out requests
to avoid LGPL dependency
#1461
Comments
Should this have been raised against https://github.com/kubernetes-client/python-base instead? |
The library is generated by https://github.com/OpenAPITools/openapi-generator so you should submit the issue/pr there. |
The use of requests appears to be in https://github.com/kubernetes-client/python-base/blob/8a969ee9ad2837528c19673cfb5127b47be03105/config/kube_config.py which I think is not generated, right? |
You are right, but I think it's more complicated, python-base uses for example google-auth and requests-oauthlib which use requests... |
Gogolle-auth also support urrlib as transport.
We may consider migrating to authlib. |
cc @palnabarun mentioned a similar conversation happened in the past |
We discussed a while back to keep only one of the Although, I am not very comfortable roping in Would you be willing to make the same change in python-base? |
I could look at changing this in python-base, sure. That said, it looks like the requests maintainers might be willing to merge the PR where we replaced the LGPL'd dep. Would you still like this change made if they do accept it? |
We were thinking of removing the dependency on requests for some time now. We would really love to have some helping hands.
Yup, removing |
Got it. I'll add it to my list of side projects -- can't promise when I'll get around to it though. |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This library depends upon requests, and while requests itself is Apache 2 licensed, it depends upon chardet which is LGPL'd.
This leads to confusing licensing situations for projects using this python docker client, and it is the view of the Apache Software Foundation that any LGPL dep places some restrictions on the downstream projects, and thus has to be avoided.
(This also depends upon websocket client, which is currently LGPLd, but they are considering a new license so that problem may be solved for us)
See psf/requests#5797 for the latest attempt to change the dependency upstream (which at the time of writing appears to be a Wont Fix, so I closed the PR)
So: I would like to propose that requests is switched out to httpx library -- it is broadly API compatible with requests.
I am happy to attempt this PR, but first I wanted to raise the issue and see if a PR will be accepted!
As this still supports Python2, we might have to only use httpx for Python3, and keep requests in use for Python 2.7, unless there are also plans to drop 2.7 support since it is no longer supported by Python upstream since January 1st 2021?
The text was updated successfully, but these errors were encountered: