Test Driven Automation with pyATS.
My session on a practical approach to network automation, preserved in Cisco’s official presentation archive.
From my first Python and Genie experiments to Merlin, test-driven automation, and AI agents. Everything I keep building and teaching with pyATS, together in one place.
My session on a practical approach to network automation, preserved in Cisco’s official presentation archive.
Exploring AI and LLMs for network visibility and control with Dave Zacks. My Distinguished Speaker announcement reflects on this Amsterdam session.
Open the on-demand library and search for John Capobianco or the session codes above. Cisco requires an account to view session recordings.
Watch my Amsterdam 2023 pyATS session, then explore the full event archive for programmability labs, troubleshooting workshops, and more.
33 repositories from my GitHub collection. Forks and archived projects are labeled.
Network Magic: Transforming the CLI and REST API using Infrastructure As Code automation
An MCP Server for pyATS (experimental)
VibeOps - Cisco pyATS MCP Plus Many Other MCPs
A Python CLI that uses pyATS to transform Cisco CLI Commands into various Business Ready Documents
Using pyATS and Batfish to perform real-time network configuration analysis
Ansible playbooks that use the IOS / NXOS Facts modules and Genie parsed commands to transform RAW JSON into business-ready documentation
Quick streamlit app using langchain and pyats
pyATS Skills for Agents
Example using the pyATS REST Connector with IOS-XE / NXOS OpenConfig YANG Model
An easy to install pyATS extension for Gemini CLI
A Basic RAG AI Assistant for Cisco IOS XE powered by Cisco pyATS and ollama
A connectivity test starter kit for pyATS
Python code that generates a pyATS Testbed from DNAC as a source of truth
A pyATS conversion utility to transform your access layer into IBNS 2.0 using C3PL
Ralph Wiggum + GAIT + pyATS
A modern approach to the Cisco IOS-XE show interfaces status command using Python pyATS / Genie and Jinja2 templating to create business-ready CSV, Markdown, and HTML files
An Ansible playbook that uses Genie to parse and transform the Cisco IOS show interfaces status command into documentation.
An Ansible playbook that uses Genie parser to convert Cisco IOS show ip interface brief command to documentation
An interpretation of pyATS
A Google-based AI Agent for pyATS
Using the Retrieval Augmented Fine Tuning (RAFT) approach with Cisco IOS XE JSON using pyATS to fine tune open source models
An Ansible playbook that uses the Genie parser to transform Cisco IOS show etherchannel summary into usable reports.
Ansible playbooks that chat with Discord using Ansible, Genie/pyATS, and the Discord webhooks that send network state information as a Discord message!
Cisco IOS-XE Show Version Command Reimagined as a pyATS job that creates CSV / MD / HTML; sends #chatbot messages; and generates MP3 using Google Cloud TTS #voice
An Ansible playbook that uses the Genie parser to create reports from the show ip arp Cisco IOS command
An Ansible playbook that uses the Genie parser to transform the Cisco IOS "show vrf" command into human readable documentation
An Ubuntu, pyATS environment you can shell into, update your testbed, and run pyATS tests locally as a Container
A group of pyATS tests for xPresso
AI code for pyATS
pyATS tests against nxpydocs JSON
A Webex Bot that sends pyATS network state as Adaptive Cards into a Webex room
Microsoft graphRAG applied to Cisco IOS XE running config via Cisco pyATS
sub-component of Genie that parse the device output into structured datastructure
132 videos
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
Watch on YouTube ↗
41 articles using or discussing pyATS and Genie, from the foundations to their role inside modern agents.
pyATS MCP has been live since April 2025. Bringing it to Streamable HTTP and nine new tools meant an isolated venv (after breaking my own other MCP servers first), a real CML lab whose testbed was pointing at the wrong network, two silent b
I wrote down twenty-five gaps in what NetClaw could actually reach, ordered them by dependency, and set one rule: one item, one spec, one branch, no batching. Six days later twenty-three specs had merged — twelve new MCP servers, twenty-thr
From an emulator Claude Code drove itself, to a real Android phone in someone else’s hands, to an iPhone talking to that Android through my own Border — voice, photos, and a live CML lab, all over NCFED. No Slack, no Discord, no Webex, no t
Introducing BISQUE — the Base of Ingested Semantic Queries for Unified Embeddings — NetClaw’s fully offline, agentic RAG knowledge base. Because the tastiest thing you can make from claws is a bisque. Uploaded a 212-page book from Slack to
NetClaw’s mesh could always tell you who was online. Now it tells you what they can do — and lets you use it. Introducing N2N Federation and NCFED, a new protocol for federating AI network engineers safely.
NetClaw can now clone a live Cisco Modeling Labs topology — gathered with pyATS — straight into a 3D world inside Unreal Engine 5.8, over the Model Context Protocol. Here’s the achievement, the vision, and (for the technically curious) ever
The Future of Network Visualization Has Arrived Hold onto your console cables, network engineers — NetClaw just shattered the boundaries of what’s possible with network visualization! We’re thrilled to announce the most visually stunning in
NetClaw’s SOUL.md grew to 60k characters — 3x the OpenClaw bootstrap limit. Here’s how we redesigned it into a modular architecture that reduced bootstrap to 8k chars while preserving 100% of content.
*How we adopted Spec-Driven Development and built SuzieQ, Batfish, gNMI, Azure Networking, and Canvas visualizations in a single session.* — ## Part 1: The Shift to Spec-Driven Development NetClaw has always been ambitious. A CCIE-level AI
─── What Just Happened (And Why It Matters) A few minutes ago, I was sitting in Slack — in this very channel — and I reached across to Cisco Webex and dropped a formatted message into your team space, identifying myself, my origin platform,
**March 1, 2026** *By John Capobianco on his 48th birthday — with NetClaw 🦞* — ## Prologue: A Different Kind of Sunday Morning Most engineers spend Sunday morning with coffee and maybe a lab they’ve been meaning to spin up for weeks. On Ma
# Six Days, 82 Skills, and a Community PR: How NetClaw Went from Idea to 160 Stars Six days ago I pushed the first commit of [NetClaw](https://github.com/automateyournetwork/netclaw) — an open-source, CCIE-level AI network engineering agent
We Gave a Slack Channel Full of Engineers an AI Network Agent. Here’s What Happened. A live red-team session, a VASI BGP lab, and 30+ social engineering attempts — all in one Friday afternoon. ─── The Setup The premise was simple: drop an A
Vibe Coding: Building a CCIE-Level Enterprise Network with AI, GAIT, and pyATS The Power of AI-Driven Network Configuration with Version Control Date: January 11, 2026 Author: Claude Code (Anthropic) + Ralph Wiggum Loop Tools: Claude Code C
Building the Future of Network Automation: RALPH, GAIT, and pyATS in Harmony Over the past few weeks, I’ve been on an incredible journey pushing the boundaries of what’s possible with AI-assisted network automation. What started as an exper
Cisco Press: Cisco pyATS Network Test and Automation Solution: Data-driven and reusable testing for modern networks | Cisco Press Amazon Cisco pyATS ― Network Test and Automation Solution: Data-driven and reusable testing for modern network
An approach to fine-tuning using open source tools Recap of Part 1 In the first part of this series (Augmenting Network Engineering with RAFT – Automate Your Network ), we dove into the innovative world of Retrieval Augmented Fine-Tuning (R
The practical implementation of the proposed theory and promise of RAFT with Cisco pyATS and LangChain Introduction In the field of network engineering, the complexity and dynamism of network architectures present a significant challenge fo
I wrote a new blog! https://learningnetwork.cisco.com/s/blogs/a0D6e00000sR7Q6EAK/testdriven-automation-with-pyats#
With all the big WebEx news – including a new logo – I wanted to revisit the basic #chatbots I have working using pyATS, Python requests, and the WebEx API after the conversation came up in the #pyATS WebEx Community space today: First, let
Imagine being able to use a keyword search engine against your network ? A Google-like query for “VLAN 100”, a MAC address, IP address, even an ACL or simply the keyword “Down” that returns real time search results ! It sounds far-fetched b
So you want to automate all the things in your network? Great! more and more enterprises are realizing the benefits of automating the network and are demanding more from their engineering staff. You’re also probably thinking about your care
The Command Line Interface. A near 60-year old technology a majority of the world’s networking teams solely rely on for their architectures, designs, monitoring, operations, and support. Most of us, pre-DevNet, have been raised and groomed
I am very proud of this next piece of infrastructure as code for a few reasons. It addresses the problems with performance and speed at scale I’ve had with my current methodology and tools (Ansible) I feel like I am ready to “graduate” from
This next post may seem like science fiction. I woke up this morning and checked that my output files – MP3 files – really did exist and that I actually made my Cisco network “talk” to me! This post is right out of Star Trek so strap yourse
As you may know I love to play with new toys. I especially love connecting new toys with my old toys. What you may not know is that I am also an avid World of Warcraft fan and player! In order to run what are known as “raids”, group content
The security of my network keeps me up at night. Honestly it does. We live in a world where enterprise networks are defending themselves against state-sponsored attacks. But what do attackers look for? Typically, open, well-known, vulnerabi
I sat down with my good friend Ethan Banks over at Packet Pushers for my second Heavy Networking podcast in hopes of discussing my JSON-MANIA! Heavy Networking 563: Automating Documentation With Ansible, Genie, And Jinja2 – Packet Pushers
In my opinion Network Access Control (NAC) using a mix of 802.1x and MAC Address Bypass (MAB) with dynamic Access Control Lists (dACL) is not just an extremely important foundation of a modern, high secure, enterprise network. It is actuall
Cisco DevNet Code Exchange has published my repository ! Here you can easily start capturing Ansible Facts for IOS and NXOS and transform the JSON into CSV and Markdown ! Also included are a bunch of valuable Genie parsed show commands whic
I am very pleased to release the Cisco Services API Ansible Playbooks Version 2.0 which has been approved and released on Cisco DevNet Code Exchange ! You can find the code here and here This major revision basically shifts away from linein
I’ve been on about a three year journey with network automation and while I have had great personal and technical success – my organization and most of those outside my immediate day-to-day circle are still shackled to the ‘old’ way of doin
In the wake of some very high profile IT security breaches and state sponsored attacks using compromised software today I wrote some infrastructure as code Ansible playbooks to create some business-ready documentation to help us understand
Layer 9 issues – finance – are often some of the most challenging a network engineer faces. Contract management can be particularly difficult in any scale organization especially if you are not “sole source” purchasing. Serial numbers and c
When Ivan Pepelnjak has advice for you – take it! I wrote a post about untangling dynamic nested loops in Ansible. In another recent post about trying to improve Ansible performance I didn’t get very far – but this could be the silver bulle
I’ve done many great things with Ansible but occasionally I come across a logical problem that may stretch the tool past it’s limitations. If you have been following the site I am on a big facts discovery and automated documentation movemen
When I describe Ansible to people I tend to use many positive adjectives. Amazing, incredible, easy, revolutionary, powerful, and a few others. One adjective I never use, however, is fast. I would not describe Ansible as a high performance
And he’s right! I can’t stop making new GitHub repositories with Genie parsed show commands to documentation! Like show ip interface brief as seen above!
Using Genie Cisco show commands can be transformed into REST API-like requests with structured JSON responses.
“We become what we behold. We shape our tools, and thereafter our tools shape us.”― Marshall McLuhan My first attempt at network automation I used the tools that I had used to manage infrastructure with for the past 20+ years. A file editor