GitPedia

Python training for network engineers

Python hands-on training for network engineers. How to automate Junos with Python

From ksator·Updated June 17, 2026·View on GitHub·
·Archived

A "Python for network enginners" course. It is useful to network engineers with no python programming knowledge, who wants to use python to manage junos devices. This is a hands-on training, with step-by-step instructions and many basics examples. The course covers an introduction to Python programming, it includes also the PyEZ library to interact with JUNOS devices as well as an overview of some other Python modules to manipulate IP addresses, files, regular expressions, templates and rest cal... The project is written primarily in Python, distributed under the MIT License license, first published in 2016. Key topics include: jinja2, json, junos-automation, lxml, napalm.

What to find in thos project

A "Python for network enginners" course.
It is useful to network engineers with no python programming knowledge, who wants to use python to manage junos devices.
This is a hands-on training, with step-by-step instructions and many basics examples.
The course covers an introduction to Python programming, it includes also the PyEZ library to interact with JUNOS devices as well as an overview of some other Python modules to manipulate IP addresses, files, regular expressions, templates and rest calls.

Presentations

The presentations are available into this repo
- Python-for-network-engineers.pdf
- Python-training.pdf

Scripts

All the scripts are available into this project.
The examples and code in this document are for learning and educational purposes.
The samples were created with the goals of clarity and ease of understanding.
If you are writing code for a real application, you would write some code differently :-)

Agenda

  • introduction to network automation
  • introduction to python programming
  • IP addresses manipulation
  • files manipulation
  • building documents with jinja2 templates
  • YAML (humans to programs)
  • junos automation with PyEZ python library
  • JSON data format (exchange data between applications)
  • programmatic access with REST APIs

Looking for more Junos automation solutions:

https://github.com/ksator?tab=repositories
https://gitlab.com/users/ksator/projects
https://gist.github.com/ksator/

Contributions, bugs, questions or enhancement requests:

please submit github issues or pull requests.

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from ksator/python-training-for-network-engineers via the GitHub API.Last fetched: 6/23/2026