Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion peps/pep-0752.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
PEP: 752
Title: Implicit namespaces for package repositories
Author: Ofek Lev <ofekmeister@gmail.com>
Author: Ofek Lev <ofekmeister@gmail.com>,
Jarek Potiuk <potiuk@apache.org>
Sponsor: Barry Warsaw <barry@python.org>
PEP-Delegate: Dustin Ingram <di@python.org>
Discussions-To: https://discuss.python.org/t/63192
Expand Down Expand Up @@ -39,6 +40,9 @@ namespace. A few examples:
are prefixed by ``opentelemetry-`` with child prefixes in the form
``opentelemetry-<component>-<name>-``. The contrib packages live in a
central repository and they are the only ones with the ability to publish.
* `Apache Airflow <https://airflow.apache.org>`__ 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
Expand Down Expand Up @@ -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 <https://discuss.python.org/t/pep-752-implicit-namespaces-for-package-repositories/63192/80>`__.

Rationale
=========

Expand Down