Cisco Platinum Learning Partner Logo

IPYNE

Intermediate Python for Network Engineers

Cisco Platinum Learning Partner Logo

The "Intermediate Python for Network Engineers (IPYNE)" course teaches the basic concepts of network programmability and automation with Python. It is aimed at network engineers who have no previous programming experience or professionals who want to improve their automation skills with Python and Cisco APIs. The course focuses on practical use cases such as automating device configurations, managing network inventories and integrating with Cisco products such as IOS XE, Meraki and ThousandEyes for API automation. You will also learn the basics of creating reusable programs with object-oriented programming, creating web interfaces with Flask, and interacting with large language models for advanced network automation. After completing the course, you will be able to write Python scripts, interact with network devices via APIs and design automation workflows to optimize network management tasks.

Course Contents

  • 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 

E-Book Symbol You will receive the original course documentation from Cisco in English language as a Cisco E-Book.

Request in-house training now

Target Group

  • Network engineers with little or no programming or Python experience
  • Network administrators
  • Network managers
  • Systems engineers

Knowledge Prerequisites

There are no prerequisites for this training course. However, it is recommended that you have the following knowledge and skills before attending this training course:</p

  • Familiarity and basic understanding of key networking concepts
  • Familiarity with Cisco IOS-XE software or other Cisco network devices and knowledge of their configuration and operation
  • Cisco CCNA certification or equivalent knowledge

Course Objective

The aim of the course is to develop practical skills in Python for automating, configuring and monitoring networks. Using tools such as Netmiko, PyATS and REST APIs, you will learn to create scalable solutions and integrate modern technologies such as CI/CD, telemetry and LLMs into network management.

Course Outline
Python Programming for Network Engineers
Write Your First Python Scripts
Python Development Environment Setup
Device Inventory Automation
Scale Configuration of Network Devices
Network Monitoring and Validation
Device Configuration Backup Automation
HTTP API Fundamentals
Cisco ThousandEyes Network Insights with HTTP API Automation
Network Automation Debugging and Testing
HTTP API Automation Wrapper
Build a Web Interface for Network Automation
Large Language Models for Network Automation
 
Lab Outline
Interact with Python Using the Interpreter
Run Your First Script
Install Python and Setup Developer Environment
Create a Device Inventory Tool
Create a Network Device Configuration Tool
Monitor and Validate Device Configurations
Create a Backup Tool for Network Configurations
Retrieve Data from Cisco Meraki Dashboard API
Create and Monitor ThousandEyes Network Tests
Write Unit Tests for Network Automation Scripts
Harden Automation Scripts with Logging and Error Handling
Build a Reusable Cisco ThousandEyes API Automation Wrapper
Build a Web Interface for Network Device Management
Build a Web Interface for Network Automation
Build a Network Automation Tool with Ollama
 

Classroom training

Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!

Online training

You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.

Tailor-made courses

You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.
Request in-house training now
PDF SymbolYou can find the complete description of this course with dates and prices ready for download at as PDF.

The "Intermediate Python for Network Engineers (IPYNE)" course teaches the basic concepts of network programmability and automation with Python. It is aimed at network engineers who have no previous programming experience or professionals who want to improve their automation skills with Python and Cisco APIs. The course focuses on practical use cases such as automating device configurations, managing network inventories and integrating with Cisco products such as IOS XE, Meraki and ThousandEyes for API automation. You will also learn the basics of creating reusable programs with object-oriented programming, creating web interfaces with Flask, and interacting with large language models for advanced network automation. After completing the course, you will be able to write Python scripts, interact with network devices via APIs and design automation workflows to optimize network management tasks.

Course Contents

  • 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 

E-Book Symbol You will receive the original course documentation from Cisco in English language as a Cisco E-Book.

Request in-house training now

Target Group

  • Network engineers with little or no programming or Python experience
  • Network administrators
  • Network managers
  • Systems engineers

Knowledge Prerequisites

There are no prerequisites for this training course. However, it is recommended that you have the following knowledge and skills before attending this training course:</p

  • Familiarity and basic understanding of key networking concepts
  • Familiarity with Cisco IOS-XE software or other Cisco network devices and knowledge of their configuration and operation
  • Cisco CCNA certification or equivalent knowledge

Course Objective

The aim of the course is to develop practical skills in Python for automating, configuring and monitoring networks. Using tools such as Netmiko, PyATS and REST APIs, you will learn to create scalable solutions and integrate modern technologies such as CI/CD, telemetry and LLMs into network management.

Course Outline
Python Programming for Network Engineers
Write Your First Python Scripts
Python Development Environment Setup
Device Inventory Automation
Scale Configuration of Network Devices
Network Monitoring and Validation
Device Configuration Backup Automation
HTTP API Fundamentals
Cisco ThousandEyes Network Insights with HTTP API Automation
Network Automation Debugging and Testing
HTTP API Automation Wrapper
Build a Web Interface for Network Automation
Large Language Models for Network Automation
 
Lab Outline
Interact with Python Using the Interpreter
Run Your First Script
Install Python and Setup Developer Environment
Create a Device Inventory Tool
Create a Network Device Configuration Tool
Monitor and Validate Device Configurations
Create a Backup Tool for Network Configurations
Retrieve Data from Cisco Meraki Dashboard API
Create and Monitor ThousandEyes Network Tests
Write Unit Tests for Network Automation Scripts
Harden Automation Scripts with Logging and Error Handling
Build a Reusable Cisco ThousandEyes API Automation Wrapper
Build a Web Interface for Network Device Management
Build a Web Interface for Network Automation
Build a Network Automation Tool with Ollama
 

Classroom training

Do you prefer the classic training method? A course in one of our Training Centers, with a competent trainer and the direct exchange between all course participants? Then you should book one of our classroom training dates!

Online training

You wish to attend a course in online mode? We offer you online course dates for this course topic. To attend these seminars, you need to have a PC with Internet access (minimum data rate 1Mbps), a headset when working via VoIP and optionally a camera. For further information and technical recommendations, please refer to.

Tailor-made courses

You need a special course for your team? In addition to our standard offer, we will also support you in creating your customized courses, which precisely meet your individual demands. We will be glad to consult you and create an individual offer for you.
Request in-house training now

PDF SymbolYou can find the complete description of this course with dates and prices ready for download at as PDF.