Skip to content

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())
  1. insecure: True uses 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.

    Capabilities

  • Full config workflow


    Merge or replace candidates from native JSON, gNMI-style payloads, or plain SR Linux CLI — with diff, commit, checkpoint-based rollback.

    Configuration management

  • Commit confirm


    Push risky changes with an automatic revert timer. Confirm them when you still have access, or let the device roll itself back.

    Commit confirm

  • TLS done right


    Plain HTTP for the lab, CA-verified HTTPS and mutual TLS with client certificates for everything else.

    Connection & TLS

Install

uv add https://github.com/napalm-automation-community/napalm-srlinux/archive/refs/heads/main.zip
uv add napalm-srlinux
pip install napalm-srlinux

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.