STANDARDS.md binds every repository in the NAPALM org: one default branch, Conventional Commits, the device-types contract, test-driven development, clean-code limits, a quality ratchet for existing code, packaging rules and releases by tag to PyPI. napalm-standard holds what a tool can check: the conformance check (with release rules on a tag), the quality ratchet (ported from netOrk's quality_ratchet.py), and the Gitea release from the CHANGELOG section. .gitea/workflows/driver.yml is the CI every driver calls; template/ is a new driver's starting point and passes the check as it is.
napalm-example
NAPALM driver for Example switches, built on
napalm-device-types (SwitchDriver).
Tested against
| Model | Firmware |
|---|---|
| Example 24 | 1.0.0 |
Connection
SSH on port 22. The account needs read access to show version.
from napalm import get_network_driver
driver = get_network_driver("example")
with driver("192.0.2.10", "admin", "secret") as device:
print(device.get_facts())
Supported
| Getter / action | |
|---|---|
get_facts |
yes |
Not supported
Configuration changes.
Development
The rules are in STANDARDS.md.
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytest --cov
License
Apache-2.0