style: ruff format and ruff check --fix with the standard's rule set (E, F, I, UP, B, line length 100, Python 3.10). Mechanical.
fix: bandit is clean: the catch-all except Exception: continue in get_wan_status logs at debug level before the next WAN service is tried (B112); the "any remote host" placeholder of get_nat_translations is a named constant with a nosec (B104, reported data, never a bind). No behaviour change.
chore: CI in .gitea/ calling the shared workflow, .github/ removed; napalm-device-types >=4.21.1 from PyPI; LICENSE, CHANGELOG, py.typed, SPDX license, setuptools>=77, dev extra floors, URLs on git.netork.io (README included); strict mypy with napalm_fritzbox.fritzbox exempt; coverage floor 81 %; quality baseline.
## Summary
napalm-fritzbox adopts the NAPALM driver standard (https://git.netork.io/NAPALM/driver-standard).
Epic: NAPALM/driver-standard#2.
## Changes
- **style**: ruff format and ruff check --fix with the standard's rule set (E, F, I, UP, B, line length 100, Python 3.10). Mechanical.
- **fix**: bandit is clean: the catch-all `except Exception: continue` in `get_wan_status` logs at debug level before the next WAN service is tried (B112); the "any remote host" placeholder of `get_nat_translations` is a named constant with a nosec (B104, reported data, never a bind). No behaviour change.
- **chore**: CI in .gitea/ calling the shared workflow, .github/ removed; napalm-device-types >=4.21.1 from PyPI; LICENSE, CHANGELOG, py.typed, SPDX license, setuptools>=77, dev extra floors, URLs on git.netork.io (README included); strict mypy with napalm_fritzbox.fritzbox exempt; coverage floor 81 %; quality baseline.
## Related Issue
Closes #6
## Testing
Locally: 70 tests, coverage 81.36 %, ruff, mypy, bandit clean; `napalm-standard check` and
`ratchet` clean; build + `twine check --strict` pass.
Mechanical: ruff format, and ruff check --fix with the rule set every NAPALM
driver uses (E, F, I, UP, B at line length 100, Python 3.10). What ruff
cannot fix comes in the next commit.
- get_wan_status: the catch-all except Exception: continue (B112) now logs
at debug level before the next WAN service is tried, so a swallowed
failure leaves a trace. A module logger is new.
- The "any remote host" placeholder of get_nat_translations is a named
constant with a nosec (B104): an address reported as data, never a
bind. The output is unchanged.
- ruff found nothing left after the mechanical pass.
- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
of NAPALM/driver-standard; .github/ is gone.
- napalm-device-types >=4.21.1 from PyPI (the floor was 0.4.0).
- LICENSE, CHANGELOG, py.typed, SPDX license string, setuptools>=77,
version floors on the dev extra (black is gone), links to git.netork.io;
the README names Python 3.10 and the Gitea CI.
- mypy strict for the package; napalm_fritzbox.fritzbox is exempt for now
(6 errors), recorded in the quality baseline with four long getters.
- Coverage floor 81 % (measured 81.36 %).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
napalm-fritzbox adopts the NAPALM driver standard (https://git.netork.io/NAPALM/driver-standard).
Epic: NAPALM/driver-standard#2.
Changes
except Exception: continueinget_wan_statuslogs at debug level before the next WAN service is tried (B112); the "any remote host" placeholder ofget_nat_translationsis a named constant with a nosec (B104, reported data, never a bind). No behaviour change.Related Issue
Closes #6
Testing
Locally: 70 tests, coverage 81.36 %, ruff, mypy, bandit clean;
napalm-standard checkandratchetclean; build +twine check --strictpass.