Sync with importlib_metadata for Python 3.16
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
Rechercherichtung
Read the upstream importlib_metadata 9.0.1 and 9.1.0 changelogs linked in the issue, then compare their changes with Lib/importlib/metadata and its tests. Check each listed behavior and cleanup against the current Python 3.16 implementation; done when the applicable upstream changes are reflected and the relevant tests pass. The issue names _typing.py but does not identify specific test files.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Tracking issue for applying importlib_metadata changes to importlib.metadata in 3.16, continuing the pattern of #132947 (3.15) and #117089 (3.13).
This covers importlib_metadata 9.0.1 and 9.1.0:
- Prefer the greater metadata directory when a path supplies more than one. Children are now considered in reverse lexicographic order, so stale metadata left behind by an interrupted or unclean upgrade no longer shadows the version in use (#100666).
- Identify the distribution when a required metadata field is missing.
Distribution.nameand.versionnow raise aKeyErrornaming both the field and the distribution, andPathDistributionrenders itself as its metadata path. - Defer
EntryPoint.valuevalidation until use. Construction no longer validates, so one malformed entry point no longer prevents entry points in other groups from being selected (python/importlib_metadata#523). importlib.metadata.diagnoseno longer crashes on a metadata directory with no metadata file, or whose metadata declares no name; such distributions are reported by their location (python/importlib_metadata#548).SimplePath.joinpathandSimplePath.__truediv__takeotherpositional-only, sopathlib.Pathsatisfies the protocol under type checkers that compare parameter names (python/importlib_metadata#542).
Two further items that are cleanups rather than behavior changes:
Prepared.normalizereturns to there.subimplementation. The hand-rolled version from #143658 was reverted upstream, so keeping it here would be fresh drift.Lib/importlib/metadata/_typing.pyis removed along with its import. Its only export,md_none, lost its last call site whenDistribution.metadatabegan raisingMetadataNotFound(#143387), but the import line survived the merge that landed that change, leaving an unused module imported by nothing.
Linked PRs
- gh-160387
- Vorherrschende Sprache
- Python
- Sterne
- 77.7k
- Forks
- 38.3k
- Ø Merge
- 13 Std. 43 Min.
- Gemergte PRs (30 T.)
- 704
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/cpython
-
topic-socket type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
python/cpython#160561 · 7 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
tests topic-profiling type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
python/cpython#160334 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
`iso2022_jp_3` encodes U+9B1D but decodes the result as U+9B1CEvtl. vergeben @kinqsradio hat das vor 1 Tag übernommen. Offenextension-modules type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
interpreter-core type-feature
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 78/100
python/cpython#160109 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
extension-modules type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
python/cpython#160001 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
follow-up
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
modelscope/modelscope#1833 ·
Maintainer antworten meist innerhalb von 1 Tag
-
ocr_data_to_elements() raises AttributeError when a layout element is a ListEvtl. vergeben @Eapp1e hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
Unstructured-IO/unstructured#4616 ·
Maintainer antworten meist innerhalb von 1 Tag