olav-netops 🐺
Network-operations domain extension for the OLAV agentic operations platform: SSH collection (Nornir + TextFSM), topology analysis and What-If simulation (networkx), cross-snapshot drift detection, compliance audits, and ContainerLab digital-twin validation.
Install
pip install olav olav-netops
olav skill install olav-netops # deploys the netops + audit agents
The second command deploys the agent workspaces bundled inside this wheel
into your project's .olav/workspace/. From then on:
olav --agent netops "/netops_init" # collect device data via SSH
olav --agent netops "simulate R2 link failure" # What-If analysis
olav --agent audit "run bgp_health check" # compliance profiles
With Batfish simulation support:
pip install "olav-netops[sim]"
Docker
The platform repo ships a compose profile that builds this package in and starts Batfish alongside it:
docker compose --profile netops up -d batfish # wait for healthy
docker compose --profile netops run --rm olav-netops agent install olav-netops
docker compose --profile netops run --rm olav-netops doctor
docker compose --profile netops run --rm olav-netops --agent netops "/netops_init"
run, not up, for the agent itself — Batfish is the only long-running service
here. Device credentials come from CLAB_USERNAME / CLAB_PASSWORD; mount a key
directory with SSH_KEY_DIR for key-based access.
Containerlab is not run inside the container: it needs the host's network namespace and Docker socket. Run it on the host and let the netops agent reach the resulting devices over the network.
What it adds
| Agent | Capabilities |
|---|---|
netops |
Parallel SSH collection (command-whitelisted), BGP/OSPF analysis, topology queries, ECMP/failure simulation, ContainerLab twin deploy + commit-validate |
audit |
Health-check profiles (author + run), schema-aware reporting, TextFSM template learning |
Plus netops.* DuckDB tables auto-registered into the platform's ingest
pipeline, and slash commands (/netops_init, /netops_snapshot) exposed
through the platform CLI/TUI.
Documentation
Docs: docs.olavai.com · Website: olavai.com
Versioning
olav-netops releases in lockstep with the olav platform — install
matching versions (the dependency pin enforces the minimum).
License
BSL-1.1 — Business Source License 1.1 (same as the OLAV platform).
Metadata
Release files for olav-netops 0.27.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| olav_netops-0.27.0.tar.gz | 378.2 kB | Without provenance | Details for olav_netops-0.27.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| olav_netops-0.27.0-py3-none-any.whl | Python 3 | none | any | Details for olav_netops-0.27.0-py3-none-any.whl |
Total release size: 878.9 kB
Release files / olav_netops-0.27.0.tar.gz
| Download URL | olav_netops-0.27.0.tar.gz |
|---|---|
| Size | 378.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4bcdb29c41f6f2011f1dcc8c7868c2f8d8ca86842696ab67271be96b7f7431d0
|
|
BLAKE2b-256 checksum How to use checksums |
84931378246ad302738e7351fbe169bf86af8d12397e05a3e4014061442da390
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / olav_netops-0.27.0-py3-none-any.whl
| Download URL | olav_netops-0.27.0-py3-none-any.whl |
|---|---|
| Size | 500.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46c15da057258a10f277f413b1d0db6f2e4c4990aa1682599fc914162ec10681
|
|
BLAKE2b-256 checksum How to use checksums |
a59370c323efa3a2183ff9be3a0681d9248b770276e2dd3b05c8bb8fcb35aae1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for olav-netops 0.27.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.