@@ -108,7 +108,7 @@ A project always has exactly one status. If no status is explicitly noted,
108
108
then the project is considered to be in the ``active `` state.
109
109
110
110
Indices **MAY ** implement any subset of the status markers specified in this
111
- PEP, as applicable.
111
+ PEP, as applicable to their needs .
112
112
113
113
This PEP does not prescribe *which * principals (i.e. project maintainers,
114
114
index administrators, etc.) are allowed to set and unset which statuses.
@@ -189,10 +189,14 @@ HTML index
189
189
The following changes are made to the
190
190
:ref: `simple repository API <packaging:simple-repository-api-base >`:
191
191
192
- * The per-project index **SHALL ** define the ``pypi:repository-version `` as ``1.4 ``.
192
+ * The per-project index **MUST ** define the ``pypi:repository-version `` as ``1.4 ``.
193
193
* The per-project index **SHOULD ** add an appropriate ``pypi:project-status `` meta tag, with
194
194
a ``content `` of the project's status marker. The index **MAY ** choose to omit
195
195
the ``pypi:project-status `` meta tag if the project is marked as ``active ``.
196
+ * The per-project index **MAY ** include a ``pypi:project-status-reason `` meta tag,
197
+ with a ``content `` of free-form text contextualizing the project's status.
198
+ The index **MAY ** choose to omit the ``pypi:project-status-reason `` meta tag
199
+ if the project is marked as ``active `` or if no reason is provided.
196
200
197
201
For example, the following would be a valid HTML index response for
198
202
``sampleproject `` after is has been marked as ``quarantined ``:
@@ -205,6 +209,7 @@ For example, the following would be a valid HTML index response for
205
209
<head >
206
210
<meta name =" pypi:repository-version" content =" 1.4" >
207
211
<meta name =" pypi:project-status" content =" quarantined" >
212
+ <meta name =" pypi:project-status-reason" content =" the project is haunted" >
208
213
<title >Links for sampleproject</title >
209
214
</head >
210
215
<body >
@@ -221,10 +226,14 @@ JSON index
221
226
The following changes are made to the
222
227
:ref: `JSON simple index <packaging:simple-repository-api-json >`:
223
228
224
- * The per-project index **SHALL ** define the ``meta.api-version `` as ``1.4 ``.
225
- * The per-project index **SHOULD ** include a ``project-status `` key in the JSON response,
229
+ * The per-project index **MUST ** define the ``meta.api-version `` as ``1.4 ``.
230
+ * The per-project index **SHOULD ** include a ``project-status.state `` key in the JSON response,
226
231
with a value of the project's status marker. The index **MAY ** choose to omit
227
- the ``project-status `` key if the project is marked as ``active ``.
232
+ the ``project-status.state `` key if the project is marked as ``active ``.
233
+ * The per-project index **MAY ** include a ``project-status.reason `` key in the JSON response,
234
+ with a value of free-form text contextualizing the project's status.
235
+ The index **MAY ** choose to omit the ``project-status.reason `` key
236
+ if the project is marked as ``active `` or if no reason is provided.
228
237
229
238
For example, the following would be a valid JSON index response for
230
239
``sampleproject `` after is has been marked as ``quarantined ``:
@@ -236,7 +245,10 @@ For example, the following would be a valid JSON index response for
236
245
"meta" : {
237
246
"api-version" : " 1.4"
238
247
},
239
- "project-status" : " quarantined" ,
248
+ "project-status" : {
249
+ "status" : " quarantined" ,
250
+ "reason" : " the project is haunted"
251
+ },
240
252
"alternate-locations" : [],
241
253
"files" : [],
242
254
"name" : " sampleproject" ,
0 commit comments