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.
PyPI answered 429 to every first upload of a new project since the
afternoon of 2026-10-23; without --verbose the log does not say why or
for how long.
The device-types pilot failed pip-audit on pip 25.0.1 of the venv that also
held bandit and pip-audit. The package now goes into a venv of its own with
a current pip; its frozen set (URL installs left out) is what pip-audit
checks.
The pilot's build warned that setuptools refuses a license table and
License classifiers from 2027-02-18 (PEP 639); check now reports both and
the template builds with setuptools>=77. Recorded device output in tests
keeps its lines, so the template turns E501 off under tests/.
STANDARDS.md binds every repository in the NAPALM org: one default branch,
Conventional Commits, the device-types contract, test-driven development,
clean-code limits, a quality ratchet for existing code, packaging rules and
releases by tag to PyPI.
napalm-standard holds what a tool can check: the conformance check (with
release rules on a tag), the quality ratchet (ported from netOrk's
quality_ratchet.py), and the Gitea release from the CHANGELOG section.
.gitea/workflows/driver.yml is the CI every driver calls; template/ is a new
driver's starting point and passes the check as it is.