Project: Back Up Running-Configs from a Device List into Git
A complete config-backup tool: read a YAML inventory, pull running-configs with Netmiko, save to disk, and commit to Git so every change becomes a reviewable diff.
A complete config-backup tool: read a YAML inventory, pull running-configs with Netmiko, save to disk, and commit to Git so every change becomes a reviewable diff.
Turn show command output into lists of dicts with TextFSM and ntc-templates — parse_output for common commands, hand-written templates for the rest, no regex per command.
An introduction to NETCONF from Python with ncclient — datastores, capabilities, get-config filters, edit-config, and the candidate/commit transactional workflow on IOS-XE.
Drive network controllers with Python's requests library — HTTP verbs, status codes, token auth, JSON bodies, and the token-then-query pattern used by DNA Center and Meraki.
Use Jinja2 to turn a YAML inventory into finished device configs — expressions, loops, conditionals, file-based templates, and filters, the same engine Ansible uses.
Read and write YAML and JSON from Python to separate network data from code — json vs yaml, safe_load, and an inventory-driven Netmiko pattern with no hardcoding.
NAPALM gives network engineers one Python API across Cisco, Arista, and Juniper — normalized getters plus config diff, commit, and rollback for safe multi-vendor automation.
Netmiko makes router SSH automation easy: send_command with TextFSM parsing, send_config_set for changes, save_config, enable mode, and fleet-wide pushes with error isolation.
Drive a real SSH session to a router from Python with Paramiko — exec_command vs invoke_shell, disabling paging, handling auth failures, and a reusable connect-and-run helper.
Build a TCP port reachability checker with Python's socket module — connect_ex, timeouts, DNS resolution, and a management-plane service audit across a device list.