python / python/importlib_metadata

Accept `types.ModuleType` as a distribution identifier

Offen
#511 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

enhancement feature help wanted
Vorherrschende Sprache
Python
Sterne
142
Forks
97
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I have recently ran into the issue where the importable module did not come from the distribution metadata found by importlib.metadata. This was because the distribution modules were shadowed in sys.path, which can happen often in test environments.

It would be nice if we could pass a module to importlib.metadata.distribution(), and have it find the distribution where that module originates from, if any.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne beim Einstiegspunkt importlib.metadata.distribution() und untersuche, wie Distributionsbezeichner aufgelöst werden, unter besonderer Berücksichtigung von types.ModuleType und überschatteten Modulen in sys.path. Ermittle, wie die Ursprungsdistribution gefunden werden sollte, wenn ein Modul übergeben wird, einschließlich des Falls ohne Distribution. Als abgeschlossen gilt die Aufgabe, wenn ein Modul als Bezeichner akzeptiert werden kann und das Verhalten für überschattete Module durch Tests abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
tooling
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.