chore: adopt the NAPALM driver standard #4

Closed
opened 2026-10-22 17:35:08 +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 dependency on napalm-device-types, or one without a floor
  • napalm-standard check: LICENSE, README or CHANGELOG is missing
  • napalm-standard check: a [project] field is missing
  • napalm-standard check: py.typed is missing
  • napalm-standard check: no strict mypy, coverage source or coverage floor
  • napalm-standard check: the project links point outside git.netork.io/NAPALM
  • ruff (E, F, I, UP, B): 11 (fixable 5), ruff format: 3 files
  • mypy strict: Found 20 errors in 1 file
  • bandit: B110×2 B324×1
  • coverage: 42% (13 passed in 0.44s)

Notes

  • No license declared at all, so add Apache-2.0. The dependency on napalm-device-types has no floor. bandit B324 (weak hash): say what the hash is for, or use usedforsecurity=False.

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 dependency on napalm-device-types, or one without a floor - `napalm-standard check`: LICENSE, README or CHANGELOG is missing - `napalm-standard check`: a `[project]` field is missing - `napalm-standard check`: `py.typed` is missing - `napalm-standard check`: no strict mypy, coverage source or coverage floor - `napalm-standard check`: the project links point outside git.netork.io/NAPALM - ruff (E, F, I, UP, B): 11 (fixable 5), ruff format: 3 files - mypy strict: Found 20 errors in 1 file - bandit: B110×2 B324×1 - coverage: 42% (13 passed in 0.44s) ## Notes - No license declared at all, so add Apache-2.0. The dependency on napalm-device-types has no floor. bandit B324 (weak hash): say what the hash is for, or use `usedforsecurity=False`. ## 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:35:08 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-yealink#4