Repository navigation
Home
nettopo is a Python CLI that reads saved Cisco show command outputs (or collects
them itself over SSH) and generates network diagrams in draw.io format with Cisco
icons, plus the intermediate data as CSV tables.
This wiki is the command reference. For what the project is, installation and the
quickstart, see the README. For scope,
architecture and the delivery plan, see
PROJECT_SPEC.md.
| Page | Covers |
|---|---|
| nettopo parse | CSV export only — the primary debugging aid |
| nettopo l2 | Physical/link-layer topology from CDP/LLDP |
| nettopo stp | Per-VLAN spanning-tree diagrams, --group-mode
|
| nettopo hsrp | Per-VLAN first-hop-redundancy diagrams |
| nettopo bgp | The BGP session graph |
| nettopo all | Every view and every CSV in one run |
| nettopo collect | Live collection over SSH |
| Preparing Captures | The capture file format, which commands each view needs |
| Example Gallery | Every view end to end, from the committed example capture sets |
nettopo [--version] [--log-level LEVEL] <command> [options]
Every command reads a directory of saved capture files (see
Preparing Captures) and writes into an output directory, creating it
if needed. parse, l2, stp, hsrp and bgp each produce one part of that output;
all produces all of it in one run.
That input directory defaults to ~/configs, so once your captures live there you can
drop -i entirely and just run nettopo all. collect is the command
that puts them there, gathering them from the devices over SSH:
nettopo collect --inventory devices.txt # devices -> ~/configs
nettopo all # ~/configs -> ./output| Option | Values | Default | Meaning |
|---|---|---|---|
--version |
flag | — | Print the installed version and exit, without a subcommand: nettopo --version. Read from the installed distribution's metadata, so after bumping pyproject.toml re-run pip install -e . for it to catch up. |
--log-level |
DEBUG, INFO, WARNING, ERROR, CRITICAL
|
INFO |
Logging verbosity. Goes before the subcommand: nettopo --log-level DEBUG l2 -i ./captures. |
| Option | Values | Default | Meaning |
|---|---|---|---|
-i, --input
|
directory path | ~/configs |
Directory of saved device captures to read. See Preparing Captures. The tilde is expanded by nettopo, so the default works even when the shell never sees it. |
-o, --output
|
directory path | ./output |
Directory to write generated output into (created if it doesn't exist). |
--platform |
an ntc-templates platform name | cisco_ios |
Fallback platform used to pick the right parsing template when a device's own platform can't be detected from its show version output. IOS and IOS-XE both use cisco_ios. |
See PROJECT_SPEC.md §9
for the CLI design rationale.