-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
Sync with importlib_metadata 6.5 #103584
Sync with importlib_metadata 6.5 #103584
Conversation
edd7e34
to
0da56a6
Compare
0da56a6
to
89561ce
Compare
The test failures illustrate that there are other classes in pip reliant on the lenience of Distribution not enforcing its abstractmethods and these issues weren't caught earlier because pip doesn't test against importlib_metadata. |
85d5bd3
to
5a30cc3
Compare
I'll proceed to merge this change, but I'll be happy to entertain any review comments and will amend or roll back the changes as needed. |
|
|
|
|
I'm investigating these now. |
Failure message is:
|
The tests are failing on Windows buildbots, but I struggle to think of what might be different about the buildbot environments that would affect this test. |
I'm also unsure how to replicate the failure. Tests clearly pass on Windows in general. What is it about this test that makes it fail in the buildbot environments only? Since I don't have a way to triage the failure further, I'm going to mark the test as "xfail" for now to stop the buildbot failures. |
…5.0 to version 6.6.0 David Hotham (2): type annotations code review Jason R. Coombs (9): Update compatibility for Python 3.12 (python/cpython#103584). Resolve the located directory and remove suppression of Exceptions. Ref python/cpython#103661. Wrap 'subdir/line' in PosixPath to ensure the output uses posix path separators. Ref python/cpython#103661. Update changelog Rename 'line' to 'name' for better context. Reword to prefer imperative voice and more a more concise description. Use generator expression for paths. Remove nitpick_ignore no longer needed. Update changelog
Applies changes from importlib_metadata 5.1 through 6.5.0, including:
PackageMetadata.__getitem__
returningNone
(PackageMetadata.__getitem__ returns None importlib_metadata#371).MadeDistribution
an Abstract Base Class (ABC) to honor the declaredabstractmethod
s (Abstract methods in non-abstract imporlib.metadata.Distribution importlib_metadata#419).Distribution
now warns when instantiated without its abstract methods being implemented (version 6.0.0 change of making Distribution an abstract class breaks some projects importlib_metadata#422).PackageMetadata.get_all
to match the upstream implementation ofemail.message.Message.get_all
inemail.message
: Fix invalidTypeVar
usage; add some default values typeshed#9620 (mypy failing importlib_metadata#434).packages_distributions
now honors packages and modules with Python modules that not.py
sources (e.g..pyc
,.so
) (Incompletepackages_distributions
importlib_metadata#428).PackageMetadata
now stipulates an additionalget
method allowing for easy querying of metadata keys that may not be present (Should PackageMetadata.get be supported? importlib_metadata#384).installed-files.txt
forDistribution.files
when present ("files" is wrong when installed without "wheel" importlib_metadata#115).