-
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
Update pkg_resources (via setuptools) to 65.6.3 #11689
Conversation
82b7827
to
d8db6b8
Compare
Oh fun, a new dependency in the graph! |
I’d rather include #11661 and declare |
I think we still need the newer pkg_resources for unblocking the packaging update (it removes the reliance on LegacyVersion-style parsing). Besides, we should probably do an upgrade anyway. |
Hmm... Well, I'm not sure what to do now -- pkg_resources has too many dependencies for me to be comfortable upgrading as-is (outside of the need for our vendoring support to handle namespace packages too), but unless we upgrade, we can't upgrade to packaging 22.0/23.0 in pip either, since those are incompatible with the older version of setuptools we're still on (and IDK if it'd work with setuptools either). jaraco-text has a large set of dependencies as well: https://github.com/jaraco/jaraco.text/blob/ca494073a4b0a6a6fabac2fae150e3fc93e0ef5b/setup.cfg#L19 @pypa/setuptools-team Would you be willing to copy-over the three functions from jaraco.text that are actually used instead of needing downstream users to vendor all of jaraco.text and its dependency cone? |
Unless I'm misunderstanding something, this is effectively blocking the implementation of PEP 685 and preventing us from benefitting from the improved startup times and error messages from the hand-written requirement parser in |
What are the functional changes of |
pypa/setuptools@ |
TBH, I don't mind forking |
Yeah I looked at the history and there are only 10-ish relevant commits that changed any functionality, and a good portion of them are actually features/removals that we arguably might not want (remove support for zipped I’m starting to think this is a good idea. |
Neato. Unless someone raises concerns, I'll spend some time exploring this. I might also rename it internally to something other than |
We could move the file to |
Hmm... pygments depends on |
That's the reason
It pains me greatly that That said, if you wish to fork pkg_resources, that's certainly something you're welcome to do and may be a viable path. I and the Setuptools project is unwilling to support maintenance of pkg_resources in any expanded capacity. If you could limit the usage to Python<3.7 or <3.9 (for removal in just a few years), that would be preferable. |
We have ported to importlib.metadata on newer versions of Python FWIW, but we've preserved the pkg_resources-backed implementation for handling metadata on < 3.10 (or < 3.11). |
See https://github.com/pypa/pip/tree/main/src/pip/_internal/metadata for the implementation of this. It's not more embedded and it's on its way out. The problem right now is that setuptools has created a large dependency graph for 3 utility functions to be used in pkg_resources. If you can trim or simplify the graph, as I've suggested above, that's unblock us to stay aligned with setuptools' pkg_resources. As it stands, pkg_resources blocks us from being able to migrate to being stricter in what versions we accept (circa packaging's removal of LegacyVersion/LegacySpecifier). And, this blocks implementing PEPs that basically need a packaging upgrade (like 685). The only motivation to fork would be to move quicker than setuptools can on this front, but if you're willing to move setuptools forward to unblock this, that would be amazing. <3 |
Kicking the can down the road for this. |
I’m happy I lobbied for some projects to get rid of Thank you for maintaining it! I know how hard it is to invest into something that is on its way out. |
d8db6b8
to
eb7b4ed
Compare
Ok, I've taken a slightly different approach with the latest push: pulling in the 3 functions that |
9508b82
to
85da66d
Compare
Given that you manage the namespace, you may be able to get away with adding an empty |
Could you clarify what you mean by this? |
I'm actually gonna go ahead and eagerly land this -- reverts are cheap and we can make additional changes in a follow up to this! |
x-ref #11501