Installation¶
Install the driver¶
Install napalm-srlinux from PyPI into the environment where you run NAPALM:
=== "pip"
```bash
pip install napalm-srlinux
```
=== "uv"
```bash
uv add napalm-srlinux
```
The driver requires:
- Python ≥ 3.10
- napalm ≥ 5 (installed automatically as a dependency)
That's the whole footprint — besides NAPALM itself, the only dependency is httpx. There is no gNMI/protobuf stack to build.
Enable the JSON-RPC server on SR Linux¶
The driver talks to the JSON-RPC server of SR Linux, so it must be enabled on the node:
set / system json-rpc-server admin-state enable
set / system json-rpc-server network-instance mgmt http admin-state enable
set / system json-rpc-server network-instance mgmt https admin-state enable
set / system json-rpc-server network-instance mgmt https tls-profile <profile>
containerlab has you covered
In containerlab labs the JSON-RPC server is enabled by default, with both HTTP and HTTPS endpoints up — no extra configuration needed. Deploy a node and connect.
Only enable the endpoints you intend to use: https for verified TLS or mTLS, http if you plan to connect with insecure: True in a lab.
Verify¶
Check that the JSON-RPC server answers — for a containerlab node named srl:
curl -k -u admin:NokiaSrl1! https://srl/jsonrpc -d '{
"jsonrpc": "2.0", "id": 1, "method": "get",
"params": {"commands": [{"path": "/system/name/host-name", "datastore": "state"}]}
}'
If you get a JSON response with your hostname back, you're ready for the quickstart.