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).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file olav_netops-0.27.0.tar.gz.
File metadata
- Download URL: olav_netops-0.27.0.tar.gz
- Upload date:
- Size: 378.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4bcdb29c41f6f2011f1dcc8c7868c2f8d8ca86842696ab67271be96b7f7431d0
|
|
| MD5 |
a1aafa98f1d7c998bedf8149a3a67c4d
|
|
| BLAKE2b-256 |
84931378246ad302738e7351fbe169bf86af8d12397e05a3e4014061442da390
|
File details
Details for the file olav_netops-0.27.0-py3-none-any.whl.
File metadata
- Download URL: olav_netops-0.27.0-py3-none-any.whl
- Upload date:
- Size: 500.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46c15da057258a10f277f413b1d0db6f2e4c4990aa1682599fc914162ec10681
|
|
| MD5 |
b6c713c0435fe3d2aa8794525f2445e7
|
|
| BLAKE2b-256 |
a59370c323efa3a2183ff9be3a0681d9248b770276e2dd3b05c8bb8fcb35aae1
|