From 5e68dde26e3e26e351c7d8692e80ed1954b4b762 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Sat, 8 Mar 2025 08:50:09 +0100 Subject: [PATCH] PEP 752: Updates including co-authoring of the PEP (#4292) Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> --- peps/pep-0752.rst | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/peps/pep-0752.rst b/peps/pep-0752.rst index 79a7173bcee..5b6f4600696 100644 --- a/peps/pep-0752.rst +++ b/peps/pep-0752.rst @@ -1,6 +1,7 @@ PEP: 752 Title: Implicit namespaces for package repositories -Author: Ofek Lev +Author: Ofek Lev , + Jarek Potiuk Sponsor: Barry Warsaw PEP-Delegate: Dustin Ingram Discussions-To: https://discuss.python.org/t/63192 @@ -39,6 +40,9 @@ namespace. A few examples: are prefixed by ``opentelemetry-`` with child prefixes in the form ``opentelemetry---``. The contrib packages live in a central repository and they are the only ones with the ability to publish. +* `Apache Airflow `__ is a platform to programmatically + author, schedule and monitor workflows. It has providers, where each + provider package is prefixed by ``apache-airflow-providers-``. __ https://github.com/open-telemetry/opentelemetry-python __ https://github.com/open-telemetry/opentelemetry-python-contrib @@ -93,6 +97,16 @@ similar characters but that is insufficient for these use cases. __ https://github.com/pypi/warehouse/blob/8615326918a180eb2652753743eac8e74f96a90b/warehouse/migrations/versions/d18d443f89f0_ultranormalize_name_function.py#L29-L42 +Another problem that namespacing would solve is the issue of choosing new names +for packages following the agreed patterns of naming. Often (this is the case +for Apache Airflow for example), there are public discussions that precede +the decision to create a new package. The decision is based on the agreed +name and follow the pattern of the existing packages. If more package names are +considered during the discussion, all the names have to be reserved via a PyPI +interface before the discussion is public, otherwise the names can be taken by +other users. This has happened in the past as explained +in the associated `discussion `__. + Rationale =========