gNMI and YANG will hand you an overwhelming amount of data, and the value here is the editorial choice about what an assistant should see. The constraints are stated up front — it is tested on Cisco XRd, log retrieval is IOS-XR only, and without an inventory file it cannot operate at all.
A network telemetry server that queries devices over gNMI using OpenConfig models and returns structured JSON. It is opinionated about which fields matter, so an agent gets a usable answer instead of the full YANG dump.
- Routing: BGP and ISIS protocol state and neighbour status
- Interfaces: status, configuration and statistics
- MPLS: labels, forwarding tables and segment routing
- VPN and VRF: L3VPN configuration and route targets
- Logs: device logs with keyword filtering — IOS-XR only
- Topology: direct neighbours over LLDP and CDP, plus network-wide adjacency analysis across every device in the inventory
- Device profile and role information, and the gNMI capabilities a device reports
- Inventory validation that checks format, IP addresses, required fields and authentication before you run anything
- Batch operation across all devices at once, with a configurable worker count
Python 3.13+ and uv; on Windows use WSL. Devices must have gNMI enabled and support the OpenConfig models the project lists — openconfig-system, openconfig-interfaces and openconfig-network-instance, each at or above a stated version. A device inventory file is mandatory: a JSON list of devices with a name, ip_address and nos, authenticated either by username and password or by certificate and key. Point at it with --inventory or the NETWORK_INVENTORY variable. Tested on Cisco XRd.
