chore: adopt the NAPALM driver standard #14

Closed
opened 2026-10-22 17:35:01 +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: LICENSE, README or CHANGELOG is missing
  • napalm-standard check: requires-python allows Python below 3.10
  • 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): 168 (fixable 159), ruff format: 2 files
  • mypy strict: Found 139 errors in 2 files
  • bandit: B105×1 B110×1 B310×1
  • coverage: 47% (99 passed in 0.55s)

Notes

  • PyPI name: napalm-netgear belongs to a third party (shrank, 0.0.2). This package needs another name before its first upload; the netgear_smart and netgear_plus entry points stay. bandit B310 (urlopen): check which schemes it can reach.

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`: LICENSE, README or CHANGELOG is missing - `napalm-standard check`: `requires-python` allows Python below 3.10 - `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): 168 (fixable 159), ruff format: 2 files - mypy strict: Found 139 errors in 2 files - bandit: B105×1 B110×1 B310×1 - coverage: 47% (99 passed in 0.55s) ## Notes - **PyPI name:** `napalm-netgear` belongs to a third party (shrank, 0.0.2). This package needs another name before its first upload; the `netgear_smart` and `netgear_plus` entry points stay. bandit B310 (`urlopen`): check which schemes it can reach. ## 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:01 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: NAPALM/napalm-netgear#14