Cover PEP 420 namespace packages in "Creating and discovering plugins" guide
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Dokumentation
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- documentation
Rechercherichtung
Beginne mit dem Abschnitt „Using namespace packages“ im Leitfaden Creating and discovering plugins und vergleiche anschließend sein Beispiel mit PEP 420 und dem packaging namespace-packages guide. Kläre, ob die bestehenden Anweisungen native oder pkg-style namespaces beschreiben, und dokumentiere gegebenenfalls ein korrektes minimales Beispiel für einen native namespace. Als erledigt gilt die Aufgabe, wenn der Leitfaden nicht mehr im Widerspruch zu PEP 420 steht und den Fall ohne Plugin erklärt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Using namespace packages is not explicit whether it talks about native PEP 420 namespace packages, or pkg-style namespace packages.
I tried to apply it for PEP 420 namespace packages and stumbled over two issues:
First, the given example doesn't wrap import myapp.plugin in try/except, but actually ModuleNotFoundError should be handled because, as a core package maintainer, you can't know how many plugins will be installed at runtime. In case of zero plugins installed, how would you guarantee a myapp.plugins namespace will exists anyways? At least setuptools won't let you install empty directories.
Second, the guide says
include the namespace-package style init.py in the namespace sub-package directory
But PEP 420 explicitly requires the absence of __init__.py files. Then, what is a namespace-package style __init__.py in the context of PEP 420? I believe @theacodes had pkg-style namespace packages in mind when adding that sentence with #296.
Could we make it either more clear the guide is not 1:1 applicable for native namespace packages, or even better, find a suggested minimal working PEP 420 example and adapt the guide accordingly?
- Vorherrschende Sprache
- Python
- Sterne
- 1.7k
- Forks
- 1.7k
- Ø Merge
- 3 T. 12 Std.
- Gemergte PRs (30 T.)
- 4
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
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 pypa/packaging.python.org
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
pypa/packaging.python.org#1960 · 4 Kommentare ·
-
component: specifications good first issue type: enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
pypa/packaging.python.org#1226 · 3 Kommentare · 1 Reaktion ·
-
`test` vs. `tests` Offencomponent: guides component: tutorials type: enhancement type: task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
pypa/packaging.python.org#1165 · 5 Kommentare ·
-
type: task
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
pypa/packaging.python.org#792 · 2 Kommentare · 1 Reaktion ·
-
good first issue help wanted type: bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
pypa/packaging.python.org#463 · 5 Kommentare ·
Alle Issues in pypa/packaging.python.org
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
bancolombia/sentinel#23 ·
-
test md OffenCI
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100