- CI arrives in .gitea/workflows/ci.yml and calls the shared driver
workflow of NAPALM/driver-standard; the repo had none before.
- setuptools>=77 and the SPDX license string PEP 639 wants, without the
License classifier; py.typed; Repository, Issues and Changelog links on
git.netork.io; napalm-device-types>=4.21.1 from PyPI.
- True floors, found by running the tests at them: redfish>=3.4.1 (older
releases return no response with max_retry=0) and pyghmi>=1.5.1 (1.5.0
imports python-dateutil without declaring it).
- The test extra becomes the dev extra of the standard, plus responses,
which the tests mock the BMC with. pytest puts the repo root on the
path, so tests.conftest also imports under a bare pytest.
- mypy strict; exempt for now (50 errors, most of them getters returning
dicts where the role declares TypedDicts): napalm_redfish.bmc, .driver,
.ipmi, .transport and parsers.common, .environment, .manager, .system.
They are recorded in tests/quality_baseline.json with seven functions
over complexity 10.
- Coverage floor 94 % (measured 94.27 %).
- The README's development steps install from PyPI.