NAPALM driver for Nokia SR Linux¶
napalm-srlinux is the community NAPALM driver for the Nokia SR Linux network OS. It speaks to SR Linux over its JSON-RPC management interface — no gNMI stack, no protobuf toolchain, no platform-specific wheels. The only runtime dependencies are napalm and httpx.
If you already automate with NAPALM — directly, through Nornir, Ansible, or Salt — SR Linux becomes just another platform string:
from napalm import get_network_driver
driver = get_network_driver("srlinux")
with driver("192.0.2.1", "admin", "NokiaSrl1!",
optional_args={"insecure": True}) as device: # (1)!
print(device.get_facts())
insecure: Trueuses plain HTTP — perfect for containerlab labs, not for production. See Connection & TLS for the HTTPS modes.
-
26 getters
Every standard NAPALM getter with an SR Linux equivalent is implemented — facts, interfaces, BGP, LLDP, routes, MAC tables, optics and more.
-
Full config workflow
Merge or replace candidates from native JSON, gNMI-style payloads, or plain SR Linux CLI — with diff, commit, checkpoint-based rollback.
-
Commit confirm
Push risky changes with an automatic revert timer. Confirm them when you still have access, or let the device roll itself back.
-
TLS done right
Plain HTTP for the lab, CA-verified HTTPS and mutual TLS with client certificates for everything else.
Install¶
Requires Python ≥ 3.10 and napalm ≥ 5. Head over to the installation guide to enable the JSON-RPC server on your node, then run through the quickstart — it takes you from zero to get_facts() against a containerlab node in about two minutes.
Coming from the older gNMI-based 1.x driver? The migration guide covers everything that changed.