Files
driver-standard/CHANGELOG.md
T
Christian Manivong 8cbcd20a3a
CI / test (3.13) (pull_request) Successful in 30s
CI / test (3.12) (pull_request) Successful in 35s
chore: Python 3.12 is the floor, part A (#6)
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.
2026-10-27 10:10:15 +01:00

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 lowest on 3.12, the template declares requires-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. check keeps accepting a 3.10 floor until every driver has moved.
  • check reports a license given as a TOML table or as a License :: 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

  • publish uploads 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.
  • ratchet refuses a package directory that does not exist. Guessed from the name (napalm-hpe-aruba-procurve ships napalm_procurve), it measured nothing and wrote an empty baseline without a word.
  • security audited 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 against tests/quality_baseline.json.
  • napalm-standard notes and release: 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.