chore: adopt the NAPALM driver standard #1

Closed
opened 2026-10-22 17:32:26 +00:00 by christianmanivong · 0 comments
Owner

Adopt the NAPALM driver standard (https://git.netork.io/NAPALM/driver-standard, STANDARDS.md). Epic: NAPALM/driver-standard#2.

Measured on 2026-10-22 (default branch)

  • napalm-standard check: CI is not in .gitea/workflows/, or a .github/ is left over
  • napalm-standard check: no strict mypy, coverage source or coverage floor
  • ruff (E, F, I, UP, B): 0 (fixable 0), ruff format: 0 files
  • mypy strict: Found 5 errors in 1 file
  • bandit: B314×1 B405×1 B406×1 B501×1
  • coverage: not measured

Notes

  • No CI workflow yet. bandit B501 (verify=False is reachable through verify_ssl) and B314/B405/B406 (XML parsing) need a decision each: use defusedxml, or a justified nosec.

To do

Three commits, as in the pilot:

  • style: ruff format and ruff check --fix with the standard's rule set.
  • fix: the remaining lint and bandit findings by hand. bandit has no ratchet.
  • chore: .gitea/workflows/ci.yml calling the shared workflow; LICENSE, README, CHANGELOG, py.typed; SPDX license, Python >= 3.10, links to git.netork.io; strict mypy with today's failing modules exempt; coverage floor at today's value; napalm-standard ratchet --write.
  • First release by tag, once its dependencies are on PyPI.
Adopt the NAPALM driver standard (https://git.netork.io/NAPALM/driver-standard, STANDARDS.md). Epic: NAPALM/driver-standard#2. ## Measured on 2026-10-22 (default branch) - `napalm-standard check`: CI is not in `.gitea/workflows/`, or a `.github/` is left over - `napalm-standard check`: no strict mypy, coverage source or coverage floor - ruff (E, F, I, UP, B): 0 (fixable 0), ruff format: 0 files - mypy strict: Found 5 errors in 1 file - bandit: B314×1 B405×1 B406×1 B501×1 - coverage: not measured ## Notes - No CI workflow yet. bandit B501 (`verify=False` is reachable through `verify_ssl`) and B314/B405/B406 (XML parsing) need a decision each: use defusedxml, or a justified nosec. ## To do Three commits, as in the pilot: - [ ] **style:** `ruff format` and `ruff check --fix` with the standard's rule set. - [ ] **fix:** the remaining lint and bandit findings by hand. bandit has no ratchet. - [ ] **chore:** `.gitea/workflows/ci.yml` calling the shared workflow; LICENSE, README, CHANGELOG, `py.typed`; SPDX license, Python >= 3.10, links to git.netork.io; strict mypy with today's failing modules exempt; coverage floor at today's value; `napalm-standard ratchet --write`. - [ ] First release by tag, once its dependencies are on PyPI.
christianmanivong added the
prio
P3
tech-debt
labels 2026-10-22 17:32:26 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-amt#1