Skip to content

Commit 67048ee

Browse files
authored
docs(standard): amend the requirements the conformance audit found out of step (#114)
1 parent 1e42c23 commit 67048ee

1 file changed

Lines changed: 23 additions & 7 deletions

File tree

‎docs/standard.md‎

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,18 @@ A repo MAY measure branch coverage. Branch coverage MUST NOT be the gate.
138138
### TS5 · Exclusions { #TS5 }
139139

140140
`[tool.coverage.report] exclude_also` MUST be `["if typing.TYPE_CHECKING:"]`. A repo MUST NOT
141-
exclude a file to reach the number; it deletes or tests the code instead.
141+
exclude a file of the package to reach the number; it deletes or tests the code instead.
142+
`[tool.coverage.run] omit` MAY list directories that are not the package (benchmarks with their own
143+
environment, generated code), the same carve-out [TY2](#TY2) grants.
144+
145+
### TS6 · `pragma: no cover` { #TS6 }
146+
147+
A repo MAY exclude a line or block with `# pragma: no cover`. Each pragma SHOULD carry its reason on
148+
the same line (`# pragma: no cover - never invoked; the test only exercises start()`); this becomes
149+
MUST on 2026-11-01.
150+
151+
*Why:* a pragma is an exclusion no configuration lists, so the line itself is the only place a
152+
reviewer can see why the code is not tested.
142153

143154
## Python versions
144155

@@ -324,8 +335,8 @@ a relative one 404s on the package page.
324335

325336
### RM2 · Opening { #RM2 }
326337

327-
`README.md` MUST open with the repo's one-liner ([MD1](#MD1)), then what the package does, then a
328-
minimal example.
338+
`README.md` MUST open with a sentence that states the repo's one-liner ([MD1](#MD1)), then what
339+
the package does, then a minimal example. The sentence MAY reword the one-liner and add links.
329340

330341
## Metadata
331342

@@ -336,10 +347,14 @@ the same one-liner: purpose-first, about 120 characters at most, no trailing per
336347

337348
### MD2 · GitHub topics and website { #MD2 }
338349

339-
GitHub topics MUST be lowercase and hyphenated, at most 12, drawn from the shared vocabulary:
340-
`python`, `dependency-injection`, `di`, `ioc-container`, `modern-di`, `fastapi`, `litestar`,
341-
`faststream`, `sqlalchemy`, `postgresql`, `asyncio`, `docker`, `cli`, `messaging`. The website
342-
field MUST be the docs site, or `modern-python.org`.
350+
GitHub topics MUST be lowercase and hyphenated, at most 12. A topic for a concept in the shared
351+
vocabulary MUST use its spelling there: `python`, `dependency-injection`, `di`, `ioc-container`,
352+
`modern-di`, `fastapi`, `litestar`, `faststream`, `sqlalchemy`, `postgresql`, `asyncio`, `docker`,
353+
`cli`, `messaging`. Other topics, such as the framework a repo integrates with, are the repo's
354+
call. The website field MUST be the docs site, or `modern-python.org`.
355+
356+
*Why:* the vocabulary keeps the org's shared concepts findable under one spelling; it cannot list
357+
every framework and protocol a repo touches.
343358

344359
### MD3 · Keywords { #MD3 }
345360

@@ -375,6 +390,7 @@ The PyPI distribution name MUST equal the repo name.
375390
| `that-depends` | the core as a whole, except [TS2](#TS2) | The org's most-used package and the only repo with steady external contributor traffic; it keeps its own tooling rather than converging. |
376391
| `modern-di-arq` | [PV1](#PV1), the `3.14t` entry | Every `arq` release requires `redis[hiredis]<6`, and importing `hiredis` re-enables the GIL ([hiredis-py#229](https://github.com/redis/hiredis-py/issues/229)). Lift when a `hiredis` release declares free-threading support. |
377392
| `modern-di-grpc` | [PV1](#PV1), the `3.14t` entry | `grpcio` ships no free-threaded wheel and importing `cygrpc` re-enables the GIL ([grpc/grpc#38762](https://github.com/grpc/grpc/issues/38762)). Lift when a `grpcio` release declares free-threading support. |
393+
| `semvertag` | [RL5](#RL5) | It is also a GitHub Action (`uses: modern-python/semvertag@v0`), so its `release.yml` moves the floating major tag after each stable release. Permanent while the Action is published. |
378394

379395
An exemption is granted by a pull request to this repo that adds the row. Drift that nobody
380396
recorded is not an exemption.

0 commit comments

Comments
 (0)