Course Overview
The Intermediate Python for Network Engineers (IPYNE) training introduces the fundamental concepts of network programmability and automation using Python. It is designed for network engineers new to programming or professionals looking to enhance their automation skills through Python and Cisco APIs. The training focuses on practical use cases, such as automating device configurations, managing network inventories, and integrating with Cisco products like IOS XE, Meraki, and ThousandEyes for API automation. You will also learn the basics of creating reusable programs using object-oriented programming, building web interfaces with Flask, and interacting with large language models for advanced network automation. Upon completion, you will be able to write Python scripts, interact with network devices via APIs, and design automation workflows to streamline network management tasks.
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
- Earn 29 CE credits toward recertification
Who should attend
- Network Engineers with little or no programming or Python experience
- Network Administrators
- Network Managers
- Systems Engineers
Prerequisites
There are no prerequisites for this training. However, the knowledge and skills you are recommended to have before attending this training are:
- Familiarity and basic understanding of core networking concepts
- Familiarity with Cisco IOS-XE software or other Cisco network device configuration and operation skills
- Cisco CCNA certification or equivalent knowledge
These skills can be found in the following Cisco Learning Offerings:
Course Objectives
- 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