@@ -186,10 +186,8 @@ Organizations
186186-------------
187187
188188Any package repository that allows for the creation of projects (e.g.
189- non-mirrors) MAY offer the concept of `organizations `__. Organizations
190- are entities that own projects and have various users associated with them.
191-
192- __ https://blog.pypi.org/posts/2023-04-23-introducing-pypi-organizations/
189+ non-mirrors) MAY offer the concept of organizations [6 ]_. Organizations are
190+ entities that own projects and have various users associated with them.
193191
194192Organizations MAY reserve one or more namespaces. Such reservations neither
195193confer ownership nor grant special privileges to existing projects.
@@ -235,12 +233,12 @@ detected when any existing namespace starts with the proposed namespace.
235233Uploads
236234-------
237235
238- If the following criteria are all true for a given upload:
236+ If the name of a package being uploaded matches a reserved namespace and either
237+ of the following criteria are true:
239238
240- 1. The project does not yet exist.
241- 2. The name matches a reserved namespace.
242- 3. The project is not owned by an organization with an active grant for the
243- namespace.
239+ * The project does not yet exist.
240+ * The project is not owned by an organization with an active grant for the
241+ namespace.
244242
245243Then the upload MUST fail with a 403 HTTP status code.
246244
@@ -756,6 +754,9 @@ Footnotes
756754 .. [5 ] `Detailed write-up <https://discuss.python.org/t/64679 >`__ of the
757755 potential for provenance assertions.
758756
757+ .. [6 ] As an example, PyPI's concept of organizations is described
758+ `here <https://blog.pypi.org/posts/2023-04-23-introducing-pypi-organizations/ >`__.
759+
759760__ https://www.sphinx-doc.org/en/master/usage/extensions/index.html
760761__ https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/plugins.html
761762__ https://airflow.apache.org/docs/apache-airflow-providers/index.html
0 commit comments