Skip to main content

nso-adapter

Middleware service between Cisco NSO and consumers (NetBox first). Speaks NSO RESTCONF; exposes a consumer-agnostic northbound REST API. Internally split into a generic NSO core and pluggable consumer bindings; a NetBox binding ships with it.

Documentation

docs/api-contract.md is the canonical northbound REST API contract. The NetBox plugin builds against it.

Companion repo netbox-nso-plugin provides the NetBox plugin that consumes this adapter. nso-packages contains the NSO-side YANG service packages (network-state-export read exports and the *-reconciler write services) that the adapter drives over RESTCONF.

Status

In active development (Phase 2, 2026-06). The northbound API serves ~57 endpoints across 16 config families (interfaces/IPs/MTU, VLAN/switchport, SVI, subinterfaces, L2 services, LAG, IS-IS, OSPF, BGP, route-policy, redistribution, static routes, BFD, SNMP, and logging). It provides read mirrors plus a full-replace intent store with a durable apply worker, post-apply dry-run verification, periodic + SSE-triggered sync, and an intent-summary endpoint for split-brain detection. docs/api-contract.md is kept in lock-step with the implemented surface.

Development

The custom review-pattern pre-commit hooks require the opengrep executable on PATH. Follow the official OpenGrep installation instructions, or set OPENGREP_BIN to an installed executable. These checks run in local pre-commit only. GitHub Actions and the pre-push stage do not run OpenGrep.

Projection authority writes must use explicit targets, even in sanctioned functions. Do not unpack tuples or lists into authorized_document, authorized_revision, or applied_revision. The authority-assignment-guard AST check enforces this in pre-commit and pytest, including nested and starred targets. OpenGrep checks the owner and value of each explicit write.

Metadata

Release files for nso-adapter 1.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nso-adapter 1.9.1
File Size Uploaded Provenance Actions
nso_adapter-1.9.1.tar.gz 583.9 kB With provenance Details for nso_adapter-1.9.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nso-adapter 1.9.1
File Interpreter ABI Platform Actions
nso_adapter-1.9.1-py3-none-any.whl Python 3 none any Details for nso_adapter-1.9.1-py3-none-any.whl

Total release size: 1.2 MB

Release files / nso_adapter-1.9.1.tar.gz

Download URL nso_adapter-1.9.1.tar.gz
Size 583.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9e6bba306e4f9c847a4ce8bd3872f64f6ae7a15a51c60e28d54f890c25441336
BLAKE2b-256 checksum
How to use checksums
22b209f78b231239ce8b3cee2b24a3878b0b1d7081f1ef90bbf481c429e53778
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / nso_adapter-1.9.1-py3-none-any.whl

Download URL nso_adapter-1.9.1-py3-none-any.whl
Size 595.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f74041cba228b8223b80d2f5ee405db24097395e9b17cd497fac864d8b28ce1f
BLAKE2b-256 checksum
How to use checksums
85282c30233af81e4066c26b43a24846fbf3ec90a6a286d0a1bb1ee2e7c1aec9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for nso-adapter 1.9.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for nso_adapter-1.9.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.9.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page