The Intermediate Python for Network Engineers (IPYNE) training is tailored for network professionalsseeking to expand their skills in network programmability and automation using Python. Ideal for those looking to deepen their knowledge, this training emphasizes practical applications that enhance network efficiency and reduce repetitive tasks through automation. Participants will gain hands-on experience with real-world use cases, such as automating device configurations, managing network inventories, and integrating with Cisco products such as IOS XE, Meraki, and ThousandEyes using REST APIs. The training introduces intermediate programming concepts such as creating modular and reuseable code with object-oriented programming, building simple web interfaces with Flask, and leveraging large language models for intelligent automation workflows. Upon completion, you will be able to design and implement Python-based automation solutions that interact with network infrastructure and streamline operational tasks.
This training also earns you 29 Continuing Education (CE) credits toward recertification.
How You'll Benefit This training will help you:
Gain hands-on experience using Python to automate, configure, and monitor network devices, increasing efficiency and reducing manual errors
Develop practical skills in leveraging modern tools and libraries—such as Netmiko, PyATS, and REST APIs—for scalable and reliable network automation
Learn to build and deploy reusable automation solutions, including scripts, web interfaces, and API wrappers, to streamline network operations
Acquire foundational knowledge in integrating advanced technologies like CI/CD, telemetry, and large language models (LLMs) to enhance and future-proof network management
Describe Python’s versatility and suitability for network programmability and automation
Explain why network programmability is needed and how it enables modern network automation
Describe programmatic interaction with network devices and the benefits of network automation for scaling from traditional to programmable networks
Identify practical examples and existing Python tools for network automation
Write and run basic Python scripts, demonstrating foundational syntax, elements (variables, data types, operators), and logic (decisions and loops)
Introduce standard and third-party libraries, the import statement, and using the Python interpreter
Demonstrate hands-on interaction with Python, including accepting input and performing basic network tasks (e.g., connectivity checks)
Emphasize code styles, readability, and development environment setup, including Python installation, VS Code, virtual environments, Docker, and Git
Implement Python tools for automating device inventory, including data storage with variables, grouping devices with lists and dictionaries, iterating and filtering device data, and file operations (load/save)
Organize code with functions and develop scripts for inventory management
Use external libraries (e.g., Netmiko) for SSH connections and scaling network configurations with Python and templates
Parse and analyze device output, handle exceptions, and build CLI applications for device management
Implement tools for testing and validating device state using PyATS and Genie, including retrieving and verifying configuration data
Demonstrate Python context managers, parsing outputs, performing compliance validation, and running scripts on Cisco IOS-XE devices (Guest Shell)
Create tools for backing up device configs, automating backup storage with Git, comparing configs, and periodic backups with logging
Use PyATS for configuration comparison and automate backup processes
Describe HTTP REST API fundamentals, interactive documentation, and creating API requests in Python
Parse JSON data, automate interactions with APIs (e.g., Cisco Meraki Dashboard, ThousandEyes), and manage authentication securely
Demonstrate creating, configuring, and analyzing network tests and monitoring data with API scripts
Explain the importance of debugging, logging, unit testing, and integrating scripts with CI/CD pipelines
Handle API errors, implement rate limiting/retries, and introduce telemetry collection with OpenTelemetry