Skip to content

tmckinneydev/python-network-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Network Automation Toolkit

A Python-based network automation tool designed to execute commands across multiple Cisco IOS devices using SSH.

Features

  • YAML-based device inventory
  • Multi-device command execution
  • Graceful failure handling
  • Centralized logging (console + file)
  • CLI interface
  • Clean, modular architecture

Project Structure

python-network-automation-toolkit/
├── inventory/
│   └── devices.yaml
├── logs/
│   └── app.log
├── network/
│   ├── connector.py
│   ├── executor.py
│   └── inventory.py
├── utils/
│   └── logger.py
├── .gitignore
├── cli.py
├── README.md
└── requirements.txt

Usage

python cli.py --command "show ip interface brief"

Architecture Overview

The toolkit follows a layered design:

  • CLI handles user input
  • Inventory loader provides device data
  • Executor coordinates multi-device execution
  • Connector manages SSH lifecycle per device
  • Logger provides centralized observability

This separation improves maintainability, testability, and extensibility.

About

Python-based network automation tool using Netmiko and YAML inventory

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages