-
Notifications
You must be signed in to change notification settings - Fork 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
Remove tenacity dependency #10822
Comments
FYI it's used in a second internal function. The one you mentioned: https://github.com/pypa/pip/blob/21.3.1/src/pip/_internal/utils/misc.py#L125 |
What tornado issue are you referencing? |
AFAIK it was #10020 |
Tenacity consists of ~1600 lines of Python code which seems wasteful given a custom utility retry decorator wouldn't require more than 50 lines. Any objections if I submit a PR to replace tenacity with our own decorator? This assumes we don't plan on using tenacity's extended features like custom stop conditions or exponential backoff). Also, FWIW, |
I've pushed a draft patch. I still need to write unit tests, but overall I think it's worth it: main...ichard26:pip:replace-tenacity |
What's the problem this feature will solve?
Tenacity dependency introduces a lot of issues, but it is used only in one pip's function. Removing this dependency will solve all class of issues with pip.
Tenacity seems to be bloated package with poor support of dependencies (see tornado issue). It is an unnecessary complication, which introduces requirement of patching and solving problems which can be simply ommited by not using it.
Describe the solution you'd like
To solve the problem change this:
to something like this:
Alternative Solutions
Additional context
Code of Conduct
The text was updated successfully, but these errors were encountered: