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.
2.1 KiB
2.1 KiB
Changelog
The format follows Keep a Changelog, versions follow Semantic Versioning.
[Unreleased]
Changed
- Python 3.12 is the floor: the shared workflow tests on 3.12 and 3.13 by default and
runs
loweston 3.12, the template declaresrequires-python = ">=3.12"with ruff and mypy targeting 3.12, and the tool itself needs 3.12. netOrk runs every driver in its own containers on 3.12, so older versions are no longer tested.checkkeeps accepting a 3.10 floor until every driver has moved. checkreports a license given as a TOML table or as aLicense ::classifier: setuptools refuses both from 2027-02-18 (PEP 639). The template builds with setuptools>=77.- E501 is off under
tests/: recorded device output keeps its lines (found in the device-types pilot).
Fixed
publishuploads with--verbose, so a refusal from PyPI shows its reason, and--skip-existing, so a re-run after a partly successful upload does not fail.- The shared workflow waits 60 s per download and retries ten times, so a slow PyPI response no longer fails a job.
ratchetrefuses a package directory that does not exist. Guessed from the name (napalm-hpe-aruba-procurve shipsnapalm_procurve), it measured nothing and wrote an empty baseline without a word.securityaudited the runner's own pip instead of the package: pip-audit now checks a venv holding only the package and its dependencies.
[0.1.0] - 2026-10-22
Added
- STANDARDS.md: repository usage, the device-types contract, TDD, clean code, the quality ratchet, packaging, versions and releases.
napalm-standard check: the conformance check, with release rules on a tag.napalm-standard ratchet: function length, complexity, file size, annotations, strict-mypy exemptions and the coverage floor againsttests/quality_baseline.json.napalm-standard notesandrelease: the CHANGELOG section of a version, and the Gitea release made from it.- The shared driver workflow
.gitea/workflows/driver.yml, publishing to PyPI on a tag. - A template for new drivers.