Python for Network Automation Training
Managing networks can be repetitive and error‐prone, but Python can make incredible changes to how you automate with all major (and most minor) network vendors. This course is driven by lessons and labs designed to utilize Python libraries designed to interact with and configure your network devices.
Python for Network Automation
Course Overview
At the conclusion of this course, you’ll be empowered with the tools and skills necessary to take your network to the next level. This class is a combination of live demonstrations and hands‐on labs with virtual network devices and endpoints as targets for your configuration. Learn more about:
- Sending HTTP Requests to APIs with builtin and 3rd party libraries
- Opening Telnet Sessions with builtin libraries
- Automating SSH commands with Paramiko
- Performing ICMP Pings
- Transforming Data between JSON, YAML, and Python
- Retrieve and Push network device configuration via Netmiko and Napalm
- Use Pandas to manipulate data in a variety of formats (CSV, Excel, JSON)
- Database manipulation
- Capturing and Parsing Network Traffic
Course Outline
- Lesson 1: Reviewing Python Essentials Version Controlling Code
- Up and running with Python (installing on various platforms)
- Lists
- Dictionaries
- File Input and Output
- Functions
- Methods
- Review of the Standard Library
- Using pip and pypi.org
- Lesson 2: Python and Data translation
- JSON – Reading from files – Reading from API
- YAML – Reading from files CSV – Reading from files
- Excel – Using pyexcel library – Using pandas library
- Lesson 3: Python and RESTful APIs
- RESTful APIs decoded
- Reading attachments
- API keying
- Passing credentials securely
- Standard Library Solution
- 3rd party library solutions
- Lesson 4: Automating SMTP and Extended SMTP (Email)
- SMTP
- Extended SMTP
- Automating Email solutions
- Setting headers and creating a body
- Attachments
- Google Gmail considerations
- Microsoft considerations
- Lesson 5: Python and Telnet
- RFC 854 ‐ Telnet Protocol
- Standard Library Solution
- Lesson 6: Python and SSH
- Standard Library Solution
- Paramiko – SSH Agents – Key exchange and authorization – Securing dealing with passwords – Configuration – SFTP
- Passing commands and capturing responses
- Parsing remote logs
- Lesson 7: Automating Switches and Routers with Python
- Netmiko
- Push / Pull Configuration
- Retrieve information about devices
- Manage the devices configuration
- Connecting and Running a Command on a Networking Device
- Enable & Global Config Mode
- Configure a Networking Device from a File
- Configuration Backup using Netmiko
- VLAN & VXLAN management
- BGP & OSPF Management
- Solutions for HSRP, VRRP, and GLBP
- Lesson 8: Automating Networks with Python NAPALM
- Installation
- Tutorials
- Validating deployments
- Supported Devices
- Command Line Tool
- NetworkDriver
- YANG
- napalm‐logs
- Integrations
- Lesson 9: Python and Network Captures
- Wireshark
- TCPDump
- Decoding network captures with Python
- *.pcap files
- *.pcap‐ng files
- Parsing network captures
- Regular Expression Library
- Lesson 10: Optimizations and Security
- Multiprocessing and Multithreading
- Examples of running in parallel
- Cost and Benefit Considerations
- Secure hashes and digests
- MD5, SHA, and OpenSSL Options
- Encrypting content
- Considerations for credentials
- Securely passing input
- Lesson 11: Overview of Ansible (optional)
- Relationship of Ansible and Python
- Overview and Installing
- Where YAML fits
- Modules for Cisco, Juniper, Arista, and other major vendors
- – shell, raw, copy, file, apt, service, cli_command, cli_config
- Constructing the playbook
- Applications of Python versus Ansible
Intended Audience
This course was written for networking professionals looking to expand their capabilities by automating their workload with Python.
This includes:
Network Engineers, Network Architects, System Admins, DevOps Engi‐neers, Cisco Certified Professionals (CCNA, CCNP, CCIE), and developers interested in network programmability with Python.
Prerequisites
Python 101 ‐ Python Basics (5 days)
Follow-on Courses
Related training topics
Justify your training
Use this sample request letter — copy it into an email to your manager and personalize the bracketed details to make the case for the time and budget.
Sample training request letter
Subject: Request for Programming & Development training from Applied Technology Academy
[Decision Maker Name],
I'm writing to request time and budget approval to complete Applied Technology Academy's course, Python for Network Automation Training. The information below outlines how this training benefits our organization, the tasks I'll be able to perform after completing it, and relevant cost and funding details.
Course Description
Managing networks can be repetitive and error‐prone, but Python can make incredible changes to how you automate with all major (and most minor) network vendors. This course is driven by lessons and labs designed to utilize Python libraries designed to interact with and configure your network devices. Applied Technology Academy is an award-winning, SBA-certified woman-owned training provider (est. 2008) whose instructors are active practitioners; the course is hands-on with virtual labs and a learn-by-doing methodology.
Course Objectives
Once I've completed the course, I'll have hands-on, job-ready skills in programming & development that I can apply immediately to our work.
Expected Organizational Benefits
After completing this course, I will be better equipped to apply these skills directly to our projects, reduce our reliance on outside expertise, strengthen our team's capabilities, and share what I learn with colleagues.
Expected Cost & Funding
Course fee: [request an itemized quote at the link below]. Applied Technology Academy supports multiple funding paths that may reduce or cover this cost: GSA MAS purchasing and government purchase orders, military credentialing funding (Army CA, AF COOL, CG COOL), VA GI Bill and VR&E, ATA Flexible Spending, and student financing. Private team cohorts are available if colleagues should attend with me.
Conclusion
This training provides practical, hands-on experience I can apply immediately to strengthen our work in programming & development. Additional course information is available at https://appliedtechnologyacademy.com/python-training/python-for-network-automation-training/.
Thank you for your consideration,
[Your Name]
Related Programming & Development courses
Design training around your team, not the other way around.
Talk to a training advisor about private cohorts, funding paths and program management.