-
Notifications
You must be signed in to change notification settings - Fork 308
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
Rely on importlib_metadata 3.6 for nicer protocol. #732
Rely on importlib_metadata 3.6 for nicer protocol. #732
Conversation
ee63c58
to
a7c38f0
Compare
a7c38f0
to
9424ff0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like a nice simplification. Anything else before merge?
Nothing else. Merging. |
This change blocks us from updating to the latest twine version on Fedora unfortunately. Since no packages were relying anymore on the external importilib_metadata we went ahead and removed the package from the distribution as we expected everything to rely on the stdlib. Also noting here that the oldest supported Fedora version has Python 3.8 as its main system interpreter so we'll have the module always available. Are there features in the importlib_metadata that do not exist in the stdlib module? |
tl;dr: Yes, any feature from importlib_metadata 1.6 and later. I'm afraid this change isn't the only one that's going to require So there's a decent demand for the third-party module and the demand is expected to become strong with the API change for entry_points, slated for a backward-incompatible API change (such as implemented in this PR). This backport and forward port provides a bridge between the current behavior and the behavior anticipated for I hope that clarifies the need to honor any package's dependency declarations (not just twine here). If that transition is causing consternation, please consider filing an issue with importlib_metadata. I'd be happy to help explain the motivations or clarify the situation. |
Your explanation has been thorough and quite detailed thanks a lot for that! In that case the sane thing to do would be to re-introduce the package on Fedora. |
This reverts commit dcff5dc. This package was dropped earlier as it's functionality was integrated into Python 3.8. However, it seems that newer versions of this package still contains functionality not present in the Python standard library at least until Python 3.10, and some packages (py3-keyring, py3-twine) depend on that. Read pypa/twine#732 (comment) for context
Following twine's decision: pypa/twine#732
Following up on #728, I've spent some time on importlib_metadata working out a new interface that's a lot more amenable to the various use-cases, including this one. As you can see, this new interface creates a much more straightforward usage for Twine.
This change does expand the scope of Python versions that require
importlib_metadata
but it's expected these changes will become available in future Python versions (likely 3.10).