Skip to content

Commit b803be9

Browse files
committed
PEP 792: address more feedback
Signed-off-by: William Woodruff <william@yossarian.net>
1 parent bae063d commit b803be9

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

peps/pep-0792.rst

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ Rationale and Motivation
2222
========================
2323

2424
The "status" of a project is an important piece of metadata, made more important
25-
by growth in both the breadth and depth of the Python packaging ecosystem.
25+
by growth in both the size and complexity of the Python packaging ecosystem.
2626
Project status (or proxies such as recent activity) is useful to know in
2727
determining whether a project is maintained or otherwise suitable for consumption.
2828

2929
Python packaging has at least three different mechanisms for communicating
3030
the "status" of a project:
3131

32-
1. Distributions can include *trove classifiers* in their metadata, as
32+
1. Distribution packages can include *trove classifiers* in their metadata, as
3333
originally specified in :pep:`301`. The list of supported classifiers is
3434
`maintained by the PyPA <https://github.com/pypa/trove-classifiers>`_,
3535
and includes the ``Development Status`` hierarchy. For example, a
@@ -77,17 +77,17 @@ the "status" of a project:
7777

7878
In summary, there are multiple ways to communicate the "status" of a project in
7979
Python packaging. However, none of them satisfy the four characteristics we desire.
80-
There is no current project status indicator that is machine-readable, general,
80+
There is no current project status indicator that is machine-readable, general,
8181
index-agnostic, and applies to the entire project, instead of per-release or
8282
per-distribution.
8383

84-
================= ================ ======= ============== ============
85-
Mechanism Machine-readable General Index-agnostic Project-wide
86-
================= ================ ======= ============== ============
87-
Trove classifiers ✅ ✅
88-
Yanking ✅ ❌
89-
Project statuses ✅ ✅
90-
================= ================ ======= ============== ============
84+
===================== ================ ======= ============== ============
85+
Mechanism Machine-readable General Index-agnostic Project-wide
86+
===================== ================ ======= ============== ============
87+
Trove classifiers ✅ ✅
88+
Yanking ✅ ❌
89+
PyPI project statuses ✅ ✅
90+
===================== ================ ======= ============== ============
9191

9292
This PEP proposes adopting PyPI's project statuses as an index-agnostic
9393
mechanism, satisfying all four conditions.
@@ -103,7 +103,8 @@ Project status markers
103103

104104
This PEP proposes the following project status markers.
105105

106-
A project **MUST** have exactly one project status marker at any given time.
106+
A project always has exactly one status. If no status is explicitly noted,
107+
then the project is considered to be in the ``active`` state.
107108

108109
Indices **MAY** implement any subset of the status markers specified in this
109110
PEP, as applicable.
@@ -113,7 +114,11 @@ PEP, as applicable.
113114

114115
Description: The project is active. This is the default status for a project.
115116

116-
Index semantics: none.
117+
Index semantics:
118+
119+
* The index hosting the project **MUST** allow uploads of new distributions to
120+
the project.
121+
* The index **MUST** offer existing distributions of the project for download.
117122

118123
Installer semantics: none.
119124

@@ -158,9 +163,7 @@ by another project.
158163

159164
Index semantics:
160165

161-
* The index hosting the project **MUST** allow uploads of new distributions to
162-
the project.
163-
* The index **MUST** offer existing distributions of the project for download.
166+
* This status shares the same semantics as ``active``.
164167

165168
Installer semantics:
166169

0 commit comments

Comments
 (0)