Python udemy

The ‘Master Network Automation with Python for Network Engineers’ course will teach you how to use and improve Paramiko and Netmiko for the automation of common administration tasks with Python and also helps you to master all the Python 3 key concepts starting from scratch.

This course is based on Python 3 and doesn’t require prior Python Programming knowledgeEverything is included in the course and you’ll also learn in-depth general Python Programming. The course is usually available for INR 2,799 on Udemy but you can click on the link and get the ‘Master Network Automation with Python for Network Engineers’ for INR 499.

Who all can opt for this course?

  • Engineers in networks
  • Network designers
  • SysAdmins
  • Engineers in DevOps
  • CCNA, CCNP, and CCIE are all credentials issued by Cisco
  • Anyone with an interest in Python-based network programming and automation

Course Highlights

Key HighlightsDetails
Registration LinkApply Now!
PriceINR 499 (INR 2,79980% off
Duration22 Hours
Student Enrollment21,706 students
InstructorAndrei Dumitrescu
Topics CoveredSSH, Python, Netmiko, NAPALM, Telnet, Ansible, Cisco
Course LevelIntermediate
Total Student Reviews2,769

Learning Outcomes

  • Starting from scratch, you will MASTER all of the core principles of Python 3
  • Discover how to use Python 3 in a multi-vendor environment to automate networking device configuration
  • Python, GNS3, and Ansible can be used to learn network programming
  • In order to automate networks, you should learn and use advanced Python concepts like multiprocessing and threading
  • View practical examples of automation scripts written in Python for Linux, Cisco IOS, and Arista EOS
  • Learn how to automate networks using Python and Telnet and SSH
  • Learn how to use Python to automate typical administrative activities with Paramiko and Netmiko
  • Use Ansible to automate and troubleshoot network configurations
  • You will be able to handle YAML files, playbooks, vaults, tasks, modules for Linux and networking devices, and Ansible inventory files
  • Utilize the NAPALM Python library in a setting with several vendors
  • Discover how to use a serial console connection to setup networking devices using Python
  • Enhance the current Python network automation modules and make your own
  • At the end, you’ll acquire practical abilities needed to become a proficient network or devops engineer
  • You will gain in-depth knowledge of general Python programming

Course Content

S.No.Module (Duration)Topics
1.Course Introduction (15 minutes)Why Network Automation with Python? Why Now?
IMPORTANT. Please read!
Quick inside. Course Overview
IMPORTANT FOR BEGINNERS: How to Learn Python Programming
Join Our Online Community!
Getting Course Resources
Quiz for Basic Python Programming
2.Setup the Environment: Python, PyCharm, GNS3, Cisco IOU and IOS (59 minutes)A Quick Note
Download and Install the Required Software
Python Installation
Installing Python 3 on Windows
Installing Python 3 on Linux and Mac
Installing PyCharm IDE on Windows
Installing PyCharm IDE on Linux and Mac
Running Python Scripts using PyCharm
Running Python Scripts using the Command Line
Where do I get Cisco IOS, Juniper vSRX or Arista vEOS Images
Just a few Words about Windows Installation
Installing GNS3 on Windows 10
Running Cisco IOU Images in GNS3 on Windows 10
Connecting to Cisco IOU Images Running in GNS3 from Window 10
Installing GNS3 and Running Cisco IOU on Linux
What if it still doesn’t work? This is the solution!
3.Working with Text Files in Python (01 hour 18 minutes)Intro
Opening and Reading Files
Absolute and Relative Paths
Reading Files: Tell, Seek and Cursors
The with Statement
Reading Files into a List
Writing to Text Files
Project: File Processing
Quiz for File Processing
Reading CSV Files
Writing CSV Files
Using CSV Custom Delimiters
Using CSV Dialects
Coding Section – Working with CSV Files
Assignment: File Processing
Assignment Answer 1: File Processing
Assignment Answer 2 (CSV Module): File Processing
4.Hands-On Challenges – Working With Files (03 minutes)Hands-On Challenges – Working With Text Files
Hands-On Challenges – Working With CSV Files
5.Data Serialization and Deserialization in Python (Pickle and JSON) (31 minutes)Intro to Data Serialization
Pickle Data Serialization and Deserialization
Coding – Pickle
JSON Data Serialization
JSON Data Deserialization
Coding – JSON
Assignment: JSON and Requests/REST API
Assignment Answer: JSON and Requests/REST API
Coding Challenge: Simplify Serialization
Coding Challenge Solution: Simplify Serialization
Coding Challenge – JSON and Requests/REST API
Coding Challenge Solution – JSON and Requests/REST API
Test Your Knowledge: Data Serialization (JSON & Pickle)
6.Network Automation with Paramiko (SSH) (01 hour 49 minutes)The Lab Environment
Intro to Paramiko
Extra: Enable SSH on Cisco Devices
Connecting to Networking Devices using Paramiko
Using **kwargs and Arguments Unpacking
Running Commands on Cisco Devices
Securing the Passwords Using getpass
Automating the Configuration (OSPF) of Multiple Cisco Routers
Running Commands on Linux – Method 1
Running Commands on Linux as a Non-privileged User – Method 2
Running Commands on Linux as root – Method 2
Paramiko Refactoring. Creating myparamiko Module
Running Commands Using myparamiko on Cisco IOS
Importing myparamiko Module
Backup the Configuration of a Single Cisco Device
Automating the Backup Configuration of Multiple Cisco Devices
Implementing Multithreading (Python and Paramiko)
Assignment: Interactive User Creation on Linux with Paramiko
Assignment Answer: Interactive User Creation on Linux with Paramiko
Quiz for Paramiko
Secure Copying Files with SCP and Paramiko from Python
7.Hands-On Challenges – Network Automation with Paramiko (04 minutes)Hands-On Challenges – Paramiko
8.Network Automation with Netmiko (SSH) (01 hour 41 minutes)The Lab Environment
Intro to Netmiko. Netmiko vs. Paramiko
Connecting and Running a Command on a Networking Devices
Netmiko Prompt. Enable & Global Config Mode
Running Multiple Commands on a Networking Device
Configuring a Networking Device from a File
Configuring Multiple Networking Devices from Multiple Files
Automating the Backup of Multiple Cisco Devices Using Netmiko
Netmiko Without Multithreading
Implementing Multithreading (Python and Netmiko
Netmiko and Linux
Troubleshooting Netmiko
Preparing the Router for SCP
Copy files to Networking Devices using SCP and Netmiko
Quiz for Netmiko
Assignment: Check Interface Status and Enable it if it’s Disabled
Assignment Answer: Check Interface Status and Enable it if it’s Disabled
9.Hands-On Challenges – Network Automation with Netmiko (04 minutes)Hands-On Challenges – Netmiko
10.Building Concurrent Applications Using Async IO (59 minutes)Python Concurrency Ecosystem
Implementing Async IO
Coding – Implementing Async IO
Building an Asynchronous Web Scraper
Coding – Building an Async Web Scraper
Running Shell Commands (Subprocesses) Asynchronously
Coding – Running Shell Commands
AsyncSSH: Asynchronous SSH
AsyncSSH: Running Multiple Clients
Coding – AsyncSSH (Multiple Clients)
11.[Appendix] – Running Arista vEOS and Juniper vSRX in GNS3 (25 minutes)How to Run Arista vEOS in GNS3
How to Run Juniper vSRX in GNS3
Juniper vSRX Basic Configuration
Arista vEOS Basic Configuration
Configure Arista EOS Switches
Netmiko in a Multivendor Environment: Cisco & Arista Configuration
12.Network Automation with Napalm (44 minutes)Intro to Napalm
Installing Napalm. Connecting to a Device
Displaying Information
Retrieving Information (facts, interfaces, arp table etc)
Checking Connectivity Between Devices (napalm_ping)
Configuration Management
Merging Configurations
Configuration Rollback
13.Network Automation with Telnet (01 hour 00 minutes)Bytes Objects, Encoding and Decoding
Telnet Protocol Basics. Configure and Connect to Cisco Devices
Connecting to Network Devices with Telnet from Python
Configuring Multiple Devices (Network Automation)
Securing the Passwords Using getpass
Telnet Enhancement (Refactoring) Using Object Oriented Programming
Testing the Custom Telnet Class. Configure Loopback Interfaces and OSPF
Configuring Multiple Devices Using the Custom Telnet Class
Improving the Custom Telnet Class
14.Hands-On Challenges – Network Automation with Telnet (03 minutes)Hands-On Challenges – Telnet
15.Network Automation Using Serial Connections (40 minutes)Serial Communication Basics. Connecting to a Console Port
Simulating a Serial Connection with Linux and GNS3
Open a Serial Connection to a Device Console Port
Configure Cisco Devices using Serial Connections
Pyserial Refactoring. Creating Our Own myserial Module
Module Enhancement. Initially Configuration of a Cisco Device
Initial Configuration Automation From a File
Quiz for Serial Connections
16.[Appendix] Useful Python Modules (32 minutes)System-specific Parameters and Functions: The Sys Module
Script’s Arguments: sys.argv
High-level File Operations: The Shutil Module
Running System Commands: The Os Module
Running System Commands: The Subprocess Module
17.[Appendix] – SSH Public Key Authentication (Cisco IOS & Linux) (40 minutes)SSH Public Key Authentication Overview
Generating SSH Key Pair on Windows
What about MacOS?
Generating SSH Key Pair on Linux
Configuring SSH Public Key Authentication on Cisco IOS – Part 1 [Windows]
Configuring SSH Public Key Authentication on Cisco IOS – Part 2 [Linux]
Configuring SSH Public Key Authentication on Linux
18.[Appendix] – Ansible – Automate for Everyone (50 minutes)About This Section
What is Ansible
Ansible Components
Installing Ansible
Inventory and ansible.cfg Files
Intro to Ad-Hoc Commands
Ad-Hoc Commands Part 1: command, shell, raw Modules
Ad-Hoc Commands Part 2: setup, file, copy Modules
Ad-Hoc Commands Part 3: apt and service Modules
Ad-Hoc Commands Examples
19.[Appendix] – Ansible Playbooks (01 hour 33 minutes)YAML Files
Quizz for YAML
Ansible Resources
Intro to Ansible Playbooks
ios_command Modul
Saving Output to a File
network_cli vs local. Privileged Exec Commands in Playbooks
Behavioral Inventory Parameters
Behavioral Inventory Parameters in Playbooks and Inventory Files
ios_config Module
ios_config Module parents Argument
Backup running-config Using ios_config Module
Ansible Loops: Create Linux Users
Arista eos_config Module
Playbook with Multiple Plays for a Multivendor Topology (Cisco & Arista)
Ansible Vault
20.[Python Programming] – Python Basics (53 minutes)Quick Note for Beginners
Python Installation
Running Python Code in a Cloud IDE
Test Your Knowledge: Variables
Test Your Knowledge: Comments and Constants
Dynamic vs. Static Typing
Built-in Types
Numbers and Math Operators
Test Your Knowledge: Built-in Types, Numbers, Math Operators
Assignment Operators
Comparison Operators
Identity Operators. Mutability vs. Immutability
Test Your Knowledge: Assignment, Comparison and Identity Operators
21.[Python Programming] – Strings in Python (01 hour 07 minutes)Intro to Strings
Get User Input
Converting Types
Test Your Knowledge: String Basics, User Input and Conversions
String Indexing
Concatenating and Repeating Strings
Test Your Knowledge: String Indexing, Concatenating and Repeating
String Slicing
Test Your Knowledge: String Slicing
Formatting Strings: f-strings
Test Your Knowledge: Formatting Strings
Intro to String Methods
Useful String Methods
Test Your Knowledge: String Methods
22.[Python Programming] – Program Flow Control (41 minutes)Conditional Statements
Nested if/elif/else Statements
Test Your Knowledge: Conditional Statements and Indentation
Boolean Variables
Logical (Boolean) Operators: AND and OR
Logical (Boolean) Operators: NOT
Test Your Knowledge: Booleans
23.[Python Programming] Python Loops (01 hour 02 minutes)For Loops
Debugging Your Code: Step Through Your Program
Loops and Ranges
For, continue and pass Statements
For, else and break Statements
While Loops
While and continue Statements
While and break Statements
Walrus Operator
24.[Python Programming] – Lists and Tuples in Python (01 hour 18 minutes)Intro to Lists
Test Your Knowledge: Intro to Lists
List Concatenation, Append and Extend
List Slicing and Iteration
Test Your Knowledge: List Concatenation, Iteration, Slicing
Python List Gotchas
List Methods Part 1: Append, Extend, Insert, Copy, Clear, Pop, Remove
List Methods Part 2: Clear, Pop, Index, Count
String to List and List to String: Split and Join
Test Your Knowledge: List Methods
Project: Extract IPv4, IPv6 and MAC Addresses
Intro to Tuples
Tuple Operations
Tuple Methods
Tuples vs. Lists
Test Your Knowledge: Tuples
25.[Python Programming] – Sets, Frozensets and Dictionaries in Python (01 hour 08 minutes)Intro to Sets
Set Methods Part 1: Add, Remove, Discard, Pop, Clear, Copy
Test Your Knowledge: Intro to Sets and Set Methods
Set Methods Part 2: Union, Intersection, Difference, Symmetric Difference
Test Your Knowledge: Set Operations and Frozensets
Intro to Dictionaries
Working with Dictionaries
Test Your Knowledge: Working with Dictionaries
Dictionary Operations and Methods – Part 1
Dictionary Operations and Methods – Part 2
Test Your Knowledge: Dictionary Operations and Methods
Dictionary and Set Comprehensions
26.[Python Programming] – Functions in Python (01 hour 02 minutes)Intro to Functions
Positional and Keyword Arguments
Default Argument
The return Statement
Variable-length Arguments: *args
Variable-length Arguments: **kwargs
Test Your Knowledge: Intro to Functions, Return Keyword and Arguments
Scopes and Namespaces
One More Word about Scopes and Namespaces
Test Your Knowledge: Scopes and Namespaces
Lambda Expressions
Test Your Knowledge: Lambda Expressions
27.[Python Programming] -Errors and Exception Handling (34 minutes)Intro to Exceptions
Exceptions Handling: Try…Except…Else…Finally
Built-in Exceptions and Best Practices
Test Your Knowledge: Errors and Exceptions Handling
Project: Test Network Connection
28.[Python Programming] – Object Oriented Programming Basics (45 minutes)Intro to Object Oriented Programming
OOP Demonstration: The Turtle
Defining Classes and Objects
The __init__ Method
Test Your Knowledge: OOP Basics
Instance Attributes and Class Attributes
Magic Methods
Test Your Knowledge: OOP Attributes and Magic Methods

Resources Required

  • No prior Python experience is necessary
  • A part on general Python programming is also present
  • understanding of networking fundamentals (TCP/IP Stack, Cisco CCNA Level)
  • A computer running Linux, MacOS, or Windows, with at least 4 GB of Memory
  • No expensive software is needed
  • Python 3, PyCharm, GNS3, VirtualBox, Linux, and other free software will all be used
  • To run into GNS3 or practise all the principles on actual Cisco devices, the learner should obtain Cisco IOS Images (from Cisco’s official website – contract required)
  • Basic understanding of GNS3 and how to run Cisco Images

Featured Review

Calvert Edwards (5/5) : One of the best courses I have taken on Python here on Udemy. It includes exercises, solutions, and scripts for you to download on each topic.


  • Mohammad Alam (5/5) : One of the best course to learn python for network automation.
  • Joe Ploehn (5/5) : This is an excellent course that goes into detail on using Python to accomplish network engineering tasks.
  • Patrice Tshibumbu (3/5) : I am looking into to improve my Python for Network skills, this course is perfect fro me.
  • Mark Garcia (5/5) : great work! I already know how to use python and ansible and hoping to improve my skills using this video.


  • John Ference (1/5) : I got almost through section 2 before running into several setup procedures that are outdated
  • Gustavo Martinez B (2/5) : I was excited about the title of this training, but it seems like very basic list of best practices for Network automation from 10 years ago.
  • Anonymized U. (2/5) : Yet nothing productive about networking. at this point asking review is not good option.

About the Author

The instructor of this course is Andrei Dumitrescu who is a DevOps Engineer and Professional Trainer. With 4.6 Instructor Rating and 12,928 Reviews on Udemy, Instructor offers 10 Courses and has taught 91,520 Students so far.

  • Andrei Dumitrescu have over 15 years of experience as a network and software engineer, which is the standard background of a devops engineer
  • Andrei Dumitrescu co-founded Crystal Mind Academy, a Cisco Academy and business training facility in Romania, with the goal of educating students in cutting-edge technology
  • In the fields of programming, information security, and operating systems, Andrei Dumitrescu has made contributions to education
  • More than 200,000 students have taken part in offline or online training courses at Crystal Mind Academy during the past 15 years
  • For numerous training programmes, including Cisco CCNA, CCNA Security, CCNP, Linux Administration, Information Security, Python Programming, Network Automation with Python, or Blockchain Programming (Ethereum/Solidity), which have been successfully attended by thousands over the years, Andrei Dumitrescu has created documentation, labs, and case studies

Comparison Table

ParametersMaster Network Automation with Python for Network EngineersPython Network Programming Complete MasterclassPython for Network Engineers: Netmiko, NAPALM, pyntc, Telnet
OffersINR 455 (INR 2,799) 80% offINR 455 (INR 3,499) 87% offINR 455 (INR 3,499) 87% off
Duration23 hours16 hours14 hours
Student Enrollments21,70633,05714,639
InstructorsAndrei DumitrescuMihai Catalin TeodosiuDavid Bombal
Register HereApply Now!Apply Now!Apply Now!

Leave feedback about this

  • Rating