ExperTeach Networking Logo

Python for Networkers

Practical Application in the Network

ExperTeach Networking Logo
The handling of networks shows a clear trend which replaces the classic CLI as the access or complements it with modern Application Programming Interfaces (APIs). These extend from APIs for routers and switches over APIs for SDN Controllers up to APIs for a cloud infrastructure. The course at hand explains how the different, conventional APIs can be used in Python programs.

Course Contents

  • Classic Routers and Switches
  • REST
  • NETCONF
  • RESTCONF
  • gRPC
  • SDN-Controller

Print E-Book PDF Symbol You will receive the comprehensive documentation package of the ExperTeach Networking series – printed documentation, e-book, and personalized PDF! As online participant, you will receive the e-book and the personalized PDF.

Target Group

The course addresses network designers and administrators who need a fast introduction to the handling of modern APIs due to the increasingly changing requirements.

Knowledge Prerequisites

Basic knowledge in Python programming is required.

1 Review of the basic concepts of the Python programming language.
1.1 The Python Programming Language
1.1.1 Download, installation and scope of delivery
1.1.2 Python shell
1.2 Short demonstration of basic control and data structures
1.2.1 Calculating with integers
1.2.2 Using variables
1.2.3 Floating point numbers and strings
1.2.4 Lists and dictionaries
1.2.5 Logical expressions
1.2.6 Functions
1.2.7 Function definitions and conditions
1.2.8 Loops and classes
1.3 Control and data structures
1.3.1 Statements and blocks in Python
1.3.2 Boolean and arithmetic operations
1.3.3 Other expressions in Python
1.3.4 Variables in Python
1.3.5 Functions I: Built-in functions
1.3.6 The help function
1.3.7 The condition: If
1.3.8 String details
1.3.9 Further String Details
1.3.10 Iterations I - While
1.3.11 While loop
1.3.12 For - A preview
1.3.13 Own functions
1.3.14 Nesting
1.3.15 Global or local
1.3.16 Recursion
1.3.17 Types of arguments
1.3.18 List
1.3.19 Other methods of lists
1.3.20 Tuples
1.3.21 A set - set
1.3.22 Dictionaries
1.3.23 Dictionaries - methods
1.4 Further concepts and functions
1.4.1 Exceptions
1.4.2 Anonymous functions
1.4.3 Comprehensions
1.5 Object-oriented programming
1.5.1 Class definition
1.5.2 Add behavior
1.5.3 Specialization by subclasses
1.6 Adding internal and external modules in Python
1.6.1 Import
1.6.2 Regular expressions
1.6.3 External Modules: Pip and PyPI
2 Basics of network communication
2.1 The ingredients to an IP network
2.2 Software and Networks
2.2.1 Client/server concept
2.3 Division of labor - the layer model
2.3.1 The application layer
2.3.2 The transport layer
2.3.3 The network layer
2.3.4 The link layer
2.3.5 The bit transmission
2.3.6 All together
2.3.7 The protocol family
2.3.8 Between application and IP: TCP and UDP
2.3.9 Source and destination port
2.3.10 UDP
2.3.11 TCP
2.4 Communication endpoints: Sockets
2.4.1 Datagram or byte stream
2.4.2 TCP
2.4.3 UDP
3 Applications in the network area with Python
3.1 Checking user input for the format of an IP address
3.1.1 Checking user input with regular expressions
3.1.2 The ipaddress module
3.2 Communication endpoints in Python: The sockets module
3.2.1 Network management: SNMP and pysnmp
3.2.2 The pysnmp module
3.2.3 The Pysnmp module - snmpget
3.3 Configuring classic network devices
3.3.1 Paramiko - SSH connections
3.3.2 Netmiko - configuring a network device
3.3.3 Netmiko - configuration of multiple network devices
3.3.4 Reading credentials from a file
3.4 Using APIs
3.4.1 Operating system API
3.4.2 Router API
3.4.3 Network API
3.4.4 REST API
3.5 REST in Python - The requests module
3.6 API data exchange formats: JSON
3.6.1 JSON in Python
3.7 API data exchange formats: XML
3.7.1 XML in Python - ElementTree
3.7.2 XML parsing
3.8 API data exchange formats: YAML
3.9 Network management: NETCONF
3.9.1 The function mode of NETCONF
3.9.2 NETCONF in Python
3.10 Network models: YANG
3.10.1 pyang
3.11 pyATS - Python Automated Test Systems
3.12 Software Defined Networking
3.12.1 Classical Router/Switch Networks
3.12.2 Software Defined Networking
3.12.3 Controllers and Protocols
3.12.4 Virtual networks
3.13 Other applications: OpenStack
3.13.1 History
3.13.2 Modules of OpenStack
3.13.3 SDN and Neutron
3.14 Further APIs

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!

Hybrid training

Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.

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 for customized courses
PDF SymbolYou can find the complete description of this course with dates and prices ready for download at as PDF.

The handling of networks shows a clear trend which replaces the classic CLI as the access or complements it with modern Application Programming Interfaces (APIs). These extend from APIs for routers and switches over APIs for SDN Controllers up to APIs for a cloud infrastructure. The course at hand explains how the different, conventional APIs can be used in Python programs.

Course Contents

  • Classic Routers and Switches
  • REST
  • NETCONF
  • RESTCONF
  • gRPC
  • SDN-Controller

Print E-Book PDF Symbol You will receive the comprehensive documentation package of the ExperTeach Networking series – printed documentation, e-book, and personalized PDF! As online participant, you will receive the e-book and the personalized PDF.

Target Group

The course addresses network designers and administrators who need a fast introduction to the handling of modern APIs due to the increasingly changing requirements.

Knowledge Prerequisites

Basic knowledge in Python programming is required.

1 Review of the basic concepts of the Python programming language.
1.1 The Python Programming Language
1.1.1 Download, installation and scope of delivery
1.1.2 Python shell
1.2 Short demonstration of basic control and data structures
1.2.1 Calculating with integers
1.2.2 Using variables
1.2.3 Floating point numbers and strings
1.2.4 Lists and dictionaries
1.2.5 Logical expressions
1.2.6 Functions
1.2.7 Function definitions and conditions
1.2.8 Loops and classes
1.3 Control and data structures
1.3.1 Statements and blocks in Python
1.3.2 Boolean and arithmetic operations
1.3.3 Other expressions in Python
1.3.4 Variables in Python
1.3.5 Functions I: Built-in functions
1.3.6 The help function
1.3.7 The condition: If
1.3.8 String details
1.3.9 Further String Details
1.3.10 Iterations I - While
1.3.11 While loop
1.3.12 For - A preview
1.3.13 Own functions
1.3.14 Nesting
1.3.15 Global or local
1.3.16 Recursion
1.3.17 Types of arguments
1.3.18 List
1.3.19 Other methods of lists
1.3.20 Tuples
1.3.21 A set - set
1.3.22 Dictionaries
1.3.23 Dictionaries - methods
1.4 Further concepts and functions
1.4.1 Exceptions
1.4.2 Anonymous functions
1.4.3 Comprehensions
1.5 Object-oriented programming
1.5.1 Class definition
1.5.2 Add behavior
1.5.3 Specialization by subclasses
1.6 Adding internal and external modules in Python
1.6.1 Import
1.6.2 Regular expressions
1.6.3 External Modules: Pip and PyPI
2 Basics of network communication
2.1 The ingredients to an IP network
2.2 Software and Networks
2.2.1 Client/server concept
2.3 Division of labor - the layer model
2.3.1 The application layer
2.3.2 The transport layer
2.3.3 The network layer
2.3.4 The link layer
2.3.5 The bit transmission
2.3.6 All together
2.3.7 The protocol family
2.3.8 Between application and IP: TCP and UDP
2.3.9 Source and destination port
2.3.10 UDP
2.3.11 TCP
2.4 Communication endpoints: Sockets
2.4.1 Datagram or byte stream
2.4.2 TCP
2.4.3 UDP
3 Applications in the network area with Python
3.1 Checking user input for the format of an IP address
3.1.1 Checking user input with regular expressions
3.1.2 The ipaddress module
3.2 Communication endpoints in Python: The sockets module
3.2.1 Network management: SNMP and pysnmp
3.2.2 The pysnmp module
3.2.3 The Pysnmp module - snmpget
3.3 Configuring classic network devices
3.3.1 Paramiko - SSH connections
3.3.2 Netmiko - configuring a network device
3.3.3 Netmiko - configuration of multiple network devices
3.3.4 Reading credentials from a file
3.4 Using APIs
3.4.1 Operating system API
3.4.2 Router API
3.4.3 Network API
3.4.4 REST API
3.5 REST in Python - The requests module
3.6 API data exchange formats: JSON
3.6.1 JSON in Python
3.7 API data exchange formats: XML
3.7.1 XML in Python - ElementTree
3.7.2 XML parsing
3.8 API data exchange formats: YAML
3.9 Network management: NETCONF
3.9.1 The function mode of NETCONF
3.9.2 NETCONF in Python
3.10 Network models: YANG
3.10.1 pyang
3.11 pyATS - Python Automated Test Systems
3.12 Software Defined Networking
3.12.1 Classical Router/Switch Networks
3.12.2 Software Defined Networking
3.12.3 Controllers and Protocols
3.12.4 Virtual networks
3.13 Other applications: OpenStack
3.13.1 History
3.13.2 Modules of OpenStack
3.13.3 SDN and Neutron
3.14 Further APIs

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!

Hybrid training

Hybrid training means that online participants can additionally attend a classroom course. The dynamics of a real seminar are maintained, and the online participants are able to benefit from that. Online participants of a hybrid course use a collaboration platform, such as WebEx Training Center or Saba Meeting. To do this, a PC with browser and Internet access is required, as well as a headset and ideally a Web cam. In the seminar room, we use specially developed and customized audio- and video-technologies. This makes sure that the communication between all persons involved works in a convenient and fault-free way.

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 for customized courses

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