netOrk runs every driver in its own containers on Python 3.12, so 3.10
and 3.11 are no longer supported or tested. requires-python, mypy and
ruff move to 3.12, along with what ruff's pyupgrade rules then rewrite.
- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
of NAPALM/driver-standard; .github/ is gone.
- license = "Apache-2.0" and a LICENSE file: the package declared no
license at all. README and CHANGELOG.md, py.typed, links to
git.netork.io, a dev extra with floors; .venv/ and build output ignored.
- Floors on every dependency: napalm-device-types>=4.21.1 (had none),
napalm>=4.0 (what napalm-device-types needs) and requests>=2.28.0.
Without them the lowest CI job resolves napalm 0.10, which does not
build; the tests pass at exactly these floors.
- mypy strict for the package; napalm_yealink.yealink is exempt for now
(20 errors), recorded in the quality baseline with get_facts'
complexity. Coverage floor 42 % (measured 42.61 %).
Closes#4
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_health_metrics, get_ssids, get_radio_info and get_wireless_clients
only raised NotImplementedError. They are left over from when the
driver sat on AccessPointDriver, and a stub makes a capability check
(callable(getattr(driver, name))) answer yes. The application polls
SNMP itself (napalm-device-types docs/STRUCTURE.md); a phone has no
profile to declare.
Also stops tracking the .pyc and egg-info files .gitignore already
lists.
Closes#2
The same job as napalm-fritzbox and napalm-opnsense: Python 3.10, 3.11 and
3.12, pytest, then wheel and sdist. napalm-device-types comes from
git.netork.io first, because PyPI has an unrelated package of that name.
pyproject gains a dev extra with pytest, which the job installs.