Cisco's pyATS is a all "batteries included" framework for testing your network. Here's a #pyATS TL;DR on what you need to know and its key features ...
πππ #networkautomation
pyATS is a testing framework. It gives you:
βοΈ Unicon connection drivers (think Netmiko)
βοΈ Genie parsers (raw output to structured) (think TextFSM or TTP)
βοΈ AETest/Easypy - Test reporting and execution (think Pytest)
βοΈ Tons of other useful libraries
πππ #networkautomation
**Genie** pyATS provides:
βοΈGenie Parse - Convert a single command into structured text
βοΈGenie Learn - Learn about a device feature aka run group of commands. Parse all output and create 1 single (mega) structured response
βοΈGenie Diff - Diff genie objects/JSON files.
πππ
Q. How do you run pyATS?
A. Python or the pyATS CLI.
Here's an example, using Python + Genie Parse ...
πππ #networkautomation
Here are 2 other cool features/libs of the Cisco pyATS framework:
π₯ Dq (Dictionary query) - Lib for easing the parsing of nested dictionaries pubhub.devnetcloud.com/media/genie-doβ¦
π₯ Mock Devices - Create mock devices you can SSH into using real network data. pubhub.devnetcloud.com/media/unicon/dβ¦
πππ
π₯ SuzieQ (Network Observability/Testing) - Great for NetOps due to its CLI, and also provides the ability to see your network at a previous point in time. #networkautomationsuzieq.readthedocs.io/en/latest/ πππ
π₯ Batfish (Network Analysis/Pre-Testing) - Validate your network before deploying. Great for performing offline impact analysis (via snapshot forking + differential reachability). #networkautomationbatfish.org