Skip to content

albertomateus9/netmaster-cli-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NetMaster CLI/API

Network automation template for provisioning and documenting network devices with a clean, extensible Python architecture.

Overview

NetMaster CLI/API is an educational and technical starter project for network automation. It separates domain rules, application use cases, interface adapters, and infrastructure details so students and engineers can evolve the repository into a CLI, REST API, or lab automation tool without mixing business logic with device-specific integrations.

Problem

Network teams often start automation scripts as isolated one-off files. That makes testing, reuse, and onboarding difficult. This repository demonstrates a more professional baseline for VLAN provisioning, device inventory, and future SSH/API integrations.

Architecture

  • domain/: pure entities such as NetworkDevice and VLAN.
  • application/: use cases such as ProvisionVLANUseCase.
  • interface_adapters/: future FastAPI routes, Typer commands, and serializers.
  • infrastructure/: future persistence, Netmiko drivers, and vendor-specific adapters.

Stack

  • Python 3.10+
  • FastAPI and Uvicorn for REST APIs
  • Typer for command-line workflows
  • SQLAlchemy for persistence
  • Netmiko for SSH-based network device automation

Getting Started

git clone https://github.com/albertomateus9/netmaster-cli-api.git
cd netmaster-cli-api
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

On Linux or macOS, activate the environment with:

source .venv/bin/activate

Development Direction

  • Implement repository interfaces for device inventory.
  • Add a Netmiko-backed network service for lab devices.
  • Expose the provisioning use case through FastAPI and Typer.
  • Add tests for domain entities and use-case orchestration.

Professional Context

This repository reflects practical interests in telecom infrastructure, routing, network automation, and teaching software architecture through realistic engineering scenarios.

License

MIT. See LICENSE.

About

Network automation template with Python, FastAPI, Typer, Netmiko, and Clean Architecture.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages