chore: Python 3.12 is the floor, part A (#6)
CI / test (3.13) (pull_request) Successful in 30s
CI / test (3.12) (pull_request) Successful in 35s

The shared workflow tests on 3.12 and 3.13 by default and runs lowest on
3.12; the template declares requires-python >=3.12 with ruff and mypy on
3.12, and the tool itself needs 3.12. netOrk runs every driver on 3.12 in
its own containers.

check keeps accepting a 3.10 floor until every driver has moved; part B
raises it.
This commit is contained in:
Christian Manivong committed 2026-10-27 10:10:15 +01:00
1 parent 7e03ad6ab3
commit 8cbcd20a3a
6 files changed
+16 -11

No files matched your search

+2 -2
View File
@@ -155,7 +155,7 @@ release tags:
| `standard` | `napalm-standard check` (with `--tag` on a tag) and `napalm-standard ratchet` |
| `lint` | `ruff format --check`, `ruff check` |
| `types` | `mypy` on the package |
| `test` | `pytest --cov` on Python 3.10–3.13; the floor is `fail_under` |
| `test` | `pytest --cov` on Python 3.12 and 3.13; the floor is `fail_under` |
| `lowest` | the tests again with every direct dependency at its declared floor |
| `security` | `bandit`, `pip-audit` |
| `build` | wheel and sdist, `twine check --strict` |
@@ -168,7 +168,7 @@ release tags:
names do not change with the package name.
- **`pyproject.toml`** declares `name`, `version`, `description`, `readme`,
`license = "Apache-2.0"` (an SPDX string, PEP 639; no table, no `License ::`
classifier, `setuptools>=77`), `requires-python = ">=3.10"`, the dependencies, a
classifier, `setuptools>=77`), `requires-python = ">=3.12"`, the dependencies, a
`dev` extra, `[project.urls]` with `Repository` (and `Issues`) on
`https://git.netork.io/NAPALM/…`, and the `napalm.drivers` entry points.
- **Dependencies are ranges with true floors.** A driver is a library: it never pins