
Python Network Automation Course
Stop configuring devices by hand and start automating everything. This course takes network engineers from Python basics to production-grade automation using Netmiko, Ansible, Nornir, NAPALM, and modern APIs. You'll write real scripts, manage real configs, and build workflows that scale across your entire device fleet.
What you will learn:
You'll start with Python fundamentals tailored to network tasks and quickly move into connecting to routers and switches using Netmiko and Paramiko. From there, you'll learn to parse CLI output, generate configurations with Jinja2 templates, and interact with devices through REST, NETCONF, and RESTCONF APIs. The course covers industry frameworks including Ansible, Nornir, and NAPALM for fleet-wide management. You'll also build CI/CD pipelines, write automated tests, and apply version control to your automation code. By the end, you'll have the skills to deploy reliable, auditable automation in production network environments.
How you study practically Python Network Automation Course
How you practise Python Network Automation Course
For companies looking to train their teams
With Dedika for businesses, the course includes exercises and examples tailored to your own business and the way your company needs.
Course content
8 Chapters • 38 LessonsDuration between 4 and 360 hours (you decide)
Chapter 1HideHide detailsSee detailsPython Foundations for Network Engineers
Python Foundations for Network Engineers
Lesson 1 • File and Data Handling
Read and write text files, CSV, and JSON to store and retrieve network data. Directly enables config backup and inventory management tasks.
Lesson 2 • Control Flow and Functions
Write conditionals, loops, and reusable functions to automate repetitive network tasks. Introduces modular code design used in all subsequent scripts.
Lesson 3 • Python Modules and Script Structure
Organise code into modules, import standard library tools, and structure scripts for reuse. Prepares students for building maintainable automation projects.
Lesson 4 • Core Python Data Types
Master strings, integers, lists, tuples, dicts, and sets with network-focused examples. These types underpin every automation script in later chapters.
Lesson 5 • Python Environment Setup
Install Python, configure virtual environments, and choose an IDE suited for network automation. Establishes the reproducible workspace used throughout the course.
Chapter 2HideHide detailsSee detailsNetworking Concepts for Automation
Networking Concepts for Automation
Lesson 1 • Network Protocols Relevant to Automation
Survey SSH, Telnet, SNMP, NETCONF, RESTCONF, and gRPC at a functional level. Establishes protocol context for the connection libraries introduced later.
Lesson 2 • IP Addressing and Subnetting Review
Revisit IPv4 and IPv6 addressing, CIDR notation, and subnet maths using Python's ipaddress module. Provides the addressing foundation for all device-targeting scripts.
Lesson 3 • Device Configuration Concepts
Understand running vs. startup configs, configuration modes, and commit models. Directly informs how automation scripts push and validate changes.
Lesson 4 • Network Data Models and Encoding
Explore YANG models, JSON, XML, and plain text as data representations for device state. Prepares students to parse and construct payloads in later chapters.
Chapter 3HideHide detailsSee detailsConnecting to Network Devices
Connecting to Network Devices
Lesson 1 • Managing Multiple Device Connections
Iterate over device inventories and connect to many hosts in sequence or in parallel. Builds the scalable connection patterns used in fleet-wide automation.
Lesson 2 • Multi-Vendor Access with Netmiko
Leverage Netmiko's device-type abstraction to connect to routers and switches from multiple vendors. Reduces boilerplate and handles prompt detection automatically.
Lesson 3 • SSH Connectivity with Paramiko
Use Paramiko to open SSH sessions, execute commands, and capture output. Introduces low-level connection control before higher-level abstractions.
Lesson 4 • Connection Reliability and Error Handling
Implement retries, timeouts, and exception catching to make connection scripts robust. Ensures automation does not silently fail on unreachable devices.
Chapter 4HideHide detailsSee detailsParsing and Processing Device Output
Parsing and Processing Device Output
Lesson 1 • Using NTC-Templates Library
Leverage the community NTC-Templates collection to parse common show commands without writing templates. Accelerates development for standard vendor commands.
Lesson 2 • Regular Expressions for Network Text
Apply Python's re module to extract IPs, interface names, and status fields from CLI output. Regex is the baseline parsing skill before template-based tools.
Lesson 3 • Genie and PyATS Parsing
Use Cisco's Genie library to parse show commands into deeply nested Python objects. Introduces model-driven parsing for complex multi-vendor environments.
Lesson 4 • Data Transformation and Normalization
Clean, filter, and reshape parsed data into normalised structures ready for reporting or decision logic. Bridges raw parsing and actionable automation outcomes.
Lesson 5 • Structured Parsing with TextFSM
Write TextFSM templates to convert multi-line CLI output into lists of dictionaries. Enables consistent parsing across identical commands on many devices.
Chapter 5HideHide detailsSee detailsConfiguration Management with Python
Configuration Management with Python
Lesson 1 • Backup and Restore Workflows
Automate scheduled config backups and restore procedures for disaster recovery. Directly supports operational continuity and audit requirements.
Lesson 2 • Idempotent Configuration Practices
Design scripts that apply config only when needed, avoiding duplicate or conflicting changes. Builds safe automation habits critical for production environments.
Lesson 3 • Sending Configuration Commands
Use Netmiko's send_config_set to push multi-line configs and verify acceptance. Establishes the basic config-push workflow before templating and validation.
Lesson 4 • Jinja2 Configuration Templating
Generate device-specific configs from Jinja2 templates and variable data sources. Enables scalable, consistent config generation across heterogeneous fleets.
Lesson 5 • Configuration Validation and Diffing
Compare intended vs. running configs using diff tools and custom checks. Prevents unintended changes and supports change-control documentation.
Chapter 6HideHide detailsSee detailsAPI-Driven Network Automation
API-Driven Network Automation
Lesson 1 • Automating SDN Controllers via API
Interact with SDN controller REST APIs to manage topology, flows, and policies programmatically. Demonstrates API automation at the controller abstraction layer.
Lesson 2 • NETCONF Automation with ncclient
Use ncclient to open NETCONF sessions, retrieve configs, and edit device state via RPC. Enables model-driven automation on NETCONF-capable devices.
Lesson 3 • RESTCONF with Python
Query and modify YANG-modelled data over RESTCONF using standard HTTP and the requests library. Bridges REST familiarity with model-driven network management.
Lesson 4 • REST API Fundamentals
Understand HTTP methods, status codes, headers, and authentication used in network REST APIs. Provides the conceptual base for all API interaction in this chapter.
Lesson 5 • Using the Requests Library
Send HTTP requests to network device REST APIs and process JSON responses with the requests library. Covers the primary Python tool for REST-based automation.
Chapter 7HideHide detailsSee detailsNetwork Automation Frameworks
Network Automation Frameworks
Lesson 1 • Parallel Execution and Scaling
Configure concurrent task execution in Nornir and Ansible to reduce runtime on large fleets. Addresses performance requirements for production-scale automation.
Lesson 2 • NAPALM for Multi-Vendor Management
Use NAPALM's unified API to retrieve facts, push configs, and compare state across vendors. Introduces abstraction-layer automation before full framework adoption.
Lesson 3 • Ansible for Network Automation
Write Ansible playbooks using network modules to configure devices without Python scripting. Covers inventory, variables, tasks, and handlers in a network context.
Lesson 4 • Framework Selection and Integration
Evaluate trade-offs between Ansible, Nornir, and NAPALM for different use cases. Guides students in combining frameworks within a single automation pipeline.
Lesson 5 • Nornir Framework Fundamentals
Build Python-native automation workflows with Nornir's inventory, task, and runner system. Offers full Python control compared to Ansible's declarative model.
Chapter 8HideHide detailsSee detailsProduction Automation and Operations
Production Automation and Operations
Lesson 1 • Change Management and Compliance
Integrate automation workflows with change-control processes and compliance checks. Ensures automated changes meet organisational governance and audit standards.
Lesson 2 • Version Control for Automation Code
Manage automation scripts and configs in Git with branching, pull requests, and tagging. Enables team collaboration and change traceability in production.
Lesson 3 • Testing Automation Scripts
Write unit and integration tests for automation code using pytest and mock libraries. Prevents regressions and validates logic before production deployment.
Lesson 4 • Observability and Alerting
Instrument automation scripts with structured logging, metrics, and alerts for operational visibility. Enables rapid diagnosis of failures in production automation runs.
Lesson 5 • CI/CD Pipelines for Network Automation
Build pipelines that lint, test, and deploy automation code automatically on commit. Reduces manual steps and enforces quality gates before production runs.
Your valid completion certificate
This course is for you:
Network engineers: ready to replace repetitive CLI work with scalable automation.
NOC technicians: looking to move beyond manual troubleshooting into scripted workflows.
Systems administrators: managing network infrastructure alongside server and cloud environments.
IT professionals transitioning into network automation or DevOps-adjacent engineering roles.
Hobbyists and home lab enthusiasts: eager to apply real-world automation to personal projects.
Junior network engineers: building automation skills early to accelerate their career trajectory.
What our students say
Your lessons are perfect. I purchased the one-year package and finally have the opportunity to follow various topics of my interest without needing to change platforms... I thank you for everything you do, I've already recommended you to other people...

I like how the lessons are straight to the point and how I can change chapters and skip content I don't need.

I like the content and the way videos are presented and transcribed, which speeds up the process!

The platform is fast, simple to use. The diversity of content and complementary videos help a lot with learning.

Top training programmes
FAQ
Who is Dedika?
Is the certificate valid in Kenya?
Are the courses free?
What is the course workload?
What are the courses like?
How do the courses work?
What is the duration of the courses?
What is the cost or price of the courses?
What is an EAD or online course and how does it work?
PDF Course




















