Layer Stack
Layer Details
1. Primitives (Foundation)
The atomic building blocks that everything else composes:
| Module | Purpose |
|---|---|
|
Authentication helpers (Basic, Bearer, Certificate) |
|
HTTP client abstractions (sync/async) |
|
Response parsing (XML, JSON, CLI output) |
|
Pydantic models for type safety |
|
Common utilities (MAC formatting, date parsing) |
2. Protocols (Transport)
Network protocol implementations:
| Protocol | Port | Use Case |
|---|---|---|
RESTCONF |
443 |
Modern REST for Cisco IOS-XE |
NETCONF |
830 |
Configuration management |
gNMI |
9339 |
Streaming telemetry |
SSH |
22 |
CLI automation |
SNMP |
161 |
Monitoring/polling |
3. Capabilities (Actions)
Vendor-agnostic operations:
-
Backup - Configuration backup to NAS
-
Monitoring - Health checks, session queries
-
Provisioning - Device configuration
-
Compliance - Policy validation
Directory Structure
netapi/
├── netapi/
│ ├── cli/
│ │ ├── ise.py # ISE CLI commands
│ │ └── docs.py # Docs scraper CLI
│ ├── primitives/
│ │ ├── auth/
│ │ ├── http/
│ │ ├── parsers/
│ │ └── models/
│ ├── protocols/
│ │ ├── restconf/
│ │ ├── netconf/
│ │ └── ssh/
│ ├── capabilities/
│ │ ├── backup/
│ │ └── monitoring/
│ └── vendors/
│ ├── cisco/
│ │ └── ise/
│ ├── pfsense/
│ └── synology/
├── pyproject.toml
└── README.md