GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - network-evolution/Python_for_Network_Engineers: This repo contains Scripts which are explained in the youtube Channel https://www.youtube.com/c/NetworkEvolution/videos?sub_confirmation=1

BranchesTags
Open more actions menu

Latest commit

 

History

100 Commits
100 Commits

Folders and files

NameName
Last commit message
Last commit date
.idea
.idea
 
 
00_Python_Scripts_from_Youtube_Playlist
00_Python_Scripts_from_Youtube_Playlist
 
 
00_agentic_ai
00_agentic_ai
 
 
01_Paramiko_Sample_Scripts
01_Paramiko_Sample_Scripts
 
 
02_Configure_Device_Using_CSV
02_Configure_Device_Using_CSV
 
 
03_Cisco_Config_Parser_Regex
03_Cisco_Config_Parser_Regex
 
 
04_Python_SSH_From_Jump_Server
04_Python_SSH_From_Jump_Server
 
 
05_NETCONF_YANG_Tutorial_Scripts
05_NETCONF_YANG_Tutorial_Scripts
 
 
06_RESTCONF_Tutorial_Scripts
06_RESTCONF_Tutorial_Scripts
 
 
07_SOCKET_Tutorial_Scripts
07_SOCKET_Tutorial_Scripts
 
 
08_Python_Logging_Tutorial
08_Python_Logging_Tutorial
 
 
09_Fortigate_CLI_Automation_Using Python
09_Fortigate_CLI_Automation_Using Python
 
 
10_Fortigate_API_automation Using Python
10_Fortigate_API_automation Using Python
 
 
11_EVE-NG_API_Automation
11_EVE-NG_API_Automation
 
 
12_Mutable_vs_Immutable_Example
12_Mutable_vs_Immutable_Example
 
 
13_IPAddress_Module_Scripts
13_IPAddress_Module_Scripts
 
 
14_Paramiko_New
14_Paramiko_New
 
 
15_RegEx_Interface_CLI_Output_Parser
15_RegEx_Interface_CLI_Output_Parser
 
 
16_Config_Backup_Multithreading
16_Config_Backup_Multithreading
 
 
17_NXOS-API_Automation
17_NXOS-API_Automation
 
 
18_PyATS
18_PyATS
 
 
19_VMWare_ESXi_Automation
19_VMWare_ESXi_Automation
 
 
51_CI-CD-Pipeline For Network Automation/NetBox/automation-scripts
51_CI-CD-Pipeline For Network Automation/NetBox/automation-scripts
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

Python for Network Engineers

This repo contains Scripts which are explained in the YouTube Channel NetworkEvolution

List of Directories in this Repository:

  • 00_Python_Scripts_from_Youtube_Playlist
  • 01_Paramiko_Sample_Scripts
  • 02_Configure_Device_Using_CSV
  • 03_Cisco_Config_Parser_Regex

Summary of each Directory


Directory : 00_Python_Scripts_from_Youtube_Playlist

This directory contains all the Scripts explained in the below YouTube playlist which has more than 70 Videos.

Training starts from a very beginner level like: How to initiate SSH Connection to the Device using Paramiko To Intermediate level of Using NETCONF/YANG, RESTCONF etc

List of all the Scripts

Click here for Complete Videos Playlist In YouTube :Python Learning for Network Engineers

For the Complete Scripts and Video maps please access the folder "`00_Python_Scripts_from_Youtube_Playlist`" in this Repository

These Python scripts Contains Tutorials on:

  • Paramiko
  • Netmiko
  • Nornir
  • NAPALM
  • Ansible
  • NETCONF/YANG
  • RESTCONF
  • Regex For Parsing
  • CSV for Bulk Configuration
  • How to use text file for Configuration

Directory : 01_Paramiko_Sample_Scripts

This directory contains Scripts which explains how to use Paramiko Library for communicating with Cisco Devices.

  • Demonstrates the use of SSH Hostkey policy. Different ways to use hostkey policies :
session.set_missing_host_key_policy(paramiko.AutoAddPolicy())
session.load_host_keys('/home/evolve/.ssh/known_hosts')
session.set_missing_host_key_policy(paramiko.WarningPolicy())
  • SSH Keybased Authentication Using Paramiko:
  • Paramiko SSH exec_command Example
  • Paramiko invoke_shell example
  • SSH Password Based Authentication

List of Scripts in the Directory

01_ssh_host_key_policy.py
02.1_ssh_key_cisco_exec_command.py
02.2_ssh_key_cisco_invoke_shell.py
02.3_ssh_key_cisco_invoke_shell_fn.py

Click here for Complete Paramiko Scripts Tutorial Playlist In YouTube :01_Paramiko_Sample_Scripts

For the Complete Scripts and Video maps please access the folder "`01_Paramiko_Sample_Scripts`" in this Repository

Directory : 02_Configure_Device_Using_CSV

This directory contains Scripts which explains how to read Device IP Address and configuration lines from CSV file and configure respective devices using Python.

  • Sample CSV FIle Used for Configuring the Device :

CSV1

  • The above CSV file will create a Dictionary in below format
conf_dict={'192.168.0.50': ['terminal len 0',
                  'config t',
                  'int gi1',
                  'no shut',
                  'exit',
                  'exit',
                  'show ip int brie',
                  'show run int gi1'],
 '192.168.0.51': ['terminal len 0',
                  'config t',
                  'int lo0',
                  'ip add 10.0.0.1 255.255.255.0',
                  'int lo1',
                  'ip add 11.0.0.1 255.255.255.0',
                  'do show run int loopback0',
                  'do show run int loopback1'],
 '192.168.0.53': ['terminal len 0', 'config t', 'int gi3', 'no shut'],
 'csr1.test.lab': ['terminal len 0',
                   'config t',
                   'int gi2',
                   'no shut',
                   'ip address 2.2.2.2 255.255.255.0',
                   'exit',
                   'exit',
                   'show ip int brie',
                   'show run int gi2']}

List of Scripts in the Directory

  • 01_config_in_row.csv : How to read Content from CSV file in row format : Script Demonstration Videos
  • 01_csv_reader_row.py : How to read Content from CSV file Using Reader format : Script Demonstration Videos
  • 02_config_in_column.csv : How to read Content from CSV file in Column format :Script Demonstration Videos
  • 02_csv_reader_column.py : How to read Content from CSV file in Column format using Reader : Script Demonstration Videos
  • 03_csv_DictReader_column.py : How to read Content from CSV file in Column format using DictReader :Script Demonstration Videos

Click here for Complete CSV Videos Playlist In YouTube :02_Configure_Device_Using_CSV

For the Complete Scripts and Video maps please access the folder "`02_Configure_Device_Using_CSV`" in this Repository

Directory : 03_Cisco_Config_Parser_Regex

This directory contains Scripts which explains how to parse configuration lines from Cisco Devices Using Regex in Python

Sample Parsed Output :

*Show Version Parser

Show_Version

*Show Running Config Parser Output:

Show_run_parsing

  • Regex Patterns Used for Show Version Parser:
version_pattern = re.compile(r'Cisco .+ Software, Version (\S+)')
model_pattern = re.compile(r'cisco (\S+).+bytes of memory\.')
serial_no_pattern = re.compile(r'Processor board ID (\S+)')
uptime_pattern = re.compile(r'(.+) uptime is (.*)')

  • Regex Patterns Used for Show running Parser:
hostname_pattern = re.compile(r'hostname (\S+)')
domainname_pattern = re.compile(r'ip domain name (.+)')
pid_pattern = re.compile(r'license udi pid (\w+) sn (\S+)')
netconf_pattern = re.compile(r"netconf-yang\r\n")
username_pattern = re.compile(r'username (\S+) privilege (\d{2})')
interface_pattern = re.compile(r'interface (\S+[.]?\d*)\r\n.+?\r?\n?\s?ip address ([\d\.]+) ([\d\.]+)')
interface_prop_pattern = re.compile(r'interface (?P<name>\S+[.]?\d*)\r\n\s?.+?\r?\n?\s?ip address (?P<ip_aadress>[\d\.]+) (?P<mask>[\d\.]+)')
default_route_pattern = re.compile(r'ip route 0.0.0.0 0.0.0.0.+?([\d.]+)\r\n')
static_route_pattern = re.compile(r'ip route (?P<dst_subnet>[^0][\d\.]+) (?P<mask>[^0][\d\.]+) (?P<next_hop>[\d\.]+)')

List of Scripts in the Directory

  • 01_parse_Show_ver_SSH.py : Parse Show Version Output over SSH : Script Demonstration Videos
  • 01_parse_show_ver_from_file.py : Parse Show Version Output from Text file : Script Demonstration Videos
  • 02_parse_show_run_from_file.py : Parse Show Run Output from Text file :Script Demonstration Videos
  • 02_parse_show_run_from_SSH.py : HParse Show Run Output from SSH : Script Demonstration Videos
  • command_output_to_txt.py : Save Multiple Show Commands to text file :Script Demonstration Videos

Click here for Complete Cisco Configuration Parsing Videos Playlist In YouTube

For the Complete Scripts and Video maps please access the folder "03_Cisco_Config_Parser_Regex" in this Repository

About

This repo contains Scripts which are explained in the youtube Channel https://www.youtube.com/c/NetworkEvolution/videos?sub_confirmation=1

Topics

ansible-playbookcicd-pipelinecisco-iosnapalm-ansiblenetbox-apinetconfnetmikonetwork-automationnetwork-engineersnetwork-programmingnetwork-securitynornir-netmikonxos-deviceparamikoparamiko-tutorialpyatspythonregex-patternrestconfssh-automation

Resources

Readme
BSD-3-Clause license
Activity

Stars

125 stars

Watchers

8 watching

Forks

74 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.