@@ -186,10 +186,8 @@ Organizations
186
186
-------------
187
187
188
188
Any 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.
193
191
194
192
Organizations MAY reserve one or more namespaces. Such reservations neither
195
193
confer ownership nor grant special privileges to existing projects.
@@ -235,12 +233,12 @@ detected when any existing namespace starts with the proposed namespace.
235
233
Uploads
236
234
-------
237
235
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:
239
238
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.
244
242
245
243
Then the upload MUST fail with a 403 HTTP status code.
246
244
@@ -389,6 +387,16 @@ None at this time.
389
387
Rejected Ideas
390
388
==============
391
389
390
+ Granting reservations to users
391
+ ------------------------------
392
+
393
+ As package repositories have a flat namespace, allowing any user to reserve a
394
+ namespace would be untenable not just because there would be
395
+ `contention for a finite resource `__, but also because no repository has enough
396
+ human operators to manage the vetting of an arbitrary number of users.
397
+
398
+ __ https://en.wikipedia.org/wiki/Tragedy_of_the_commons
399
+
392
400
.. _artifact-level-association :
393
401
394
402
Artifact-level Namespace Association
@@ -756,6 +764,9 @@ Footnotes
756
764
.. [5 ] `Detailed write-up <https://discuss.python.org/t/64679 >`__ of the
757
765
potential for provenance assertions.
758
766
767
+ .. [6 ] As an example, PyPI's concept of organizations is described
768
+ `here <https://blog.pypi.org/posts/2023-04-23-introducing-pypi-organizations/ >`__.
769
+
759
770
__ https://www.sphinx-doc.org/en/master/usage/extensions/index.html
760
771
__ https://airflow.apache.org/docs/apache-airflow/stable/authoring-and-scheduling/plugins.html
761
772
__ https://airflow.apache.org/docs/apache-airflow-providers/index.html
0 commit comments