Hi, ich versuche herauszufinden, wie die Nutzung von importlib.metadata eigentlich gedacht ist. In Beispielen sieht man of einen dict-artigen Zugriff importlib.metadata.metadata['mypackage']['Version'] Das funktioniert aber nicht, wenn man z.B. mehrere "Classifier" oder "Project-URL" in den Meta-Daten des Paketes hat. importlib.metadata.metadata['mypackage']['Project-URL'] zeigt immer nur die erste URL an, aber nicht die weiteren. Das Meta-Datenobjekt hat auch einen merkwürdigen Typ. >>> m = metadata.metadata('mypackage') >>> m <email.message.Message object at 0x7fa2cabe6370> Nun kann ich das alles umgehen, in dem ich auf das "_headers" Attribute zugreife und ein bisschen "rummauschle".
for h in m._headers: ... if h[0] == 'Project-URL': ... print(h[1]) ... homepage, https://codeberg.org/buhtz/hyperorg repository, https://codeberg.org/buhtz/hyperorg changelog, https://codeberg.org/buhtz/hyperorg/src/CHANGELOG.md
Da es sich aber um ein privates Attribute handelt, betrachte ich das als Workaround/Hack und nicht so von den Entwicklern gedacht.