-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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 setuptools dependency #7687
Conversation
…mediate step before droping setuptools dependency
Many thanks for the PR! I've queued it for review. I do need to go back and get #5209 over the line - it got a bit fiddly so I didn't yet find a good moment to get everything as it should be. |
@franzhaas Is this PR still applicable now #5209 is merged? It seems like it makes a similar set of changes to achieve similar goals. |
Sry for the late reply. I did not check, but this would be extremely unlikely as this is a derived work of the mentioned pull request. |
@franzhaas thanks for checking back and electing to close. #5209 should gain the same performance improvement, please do check 0.56 when it's released and report any issues in relation to this. Thanks again! |
similar to numba/llvmlite#801 (comment), this is an effort to remove usage / dependency of setuptools.
The motivation is that it makes it easier to use tools like pyoxidizer, replaces a library dependency with a builtin depenency, decreases import latency and reduces overall dependancies.
also like the mentioned pull request, not a killer feauture not a bug fix, but it is expected to speedup import times.
At some point i noticed the PR fix/4927-slow-import and used the developoments from there.
This is not a successfull simplification. A dependency of a backport and two implementations how to find the entrypoints have been added. On the other side the dependancy of setuptools and 1 implementation got removed.
If this yields improvements on importtime, it propably is still be worth it, especially for python 3.8 and newer. Also for me personaly droping setuptools as a requirement is a big plus as packages tend to use it if it is there, which ocationally causes issues...
I used input from: python/importlib_metadata#298
And again, the original PR from @svrakitin.
These code changes would need to be touched when suport for 3.7 and 3.8 gets removed.
Unfortunately I was unable to test it with real extensions.