CLI tool for processing Arista AVD inventories and generating configurations
Project description
AVD CLI
A command-line interface for processing Arista AVD inventories and generating configurations, documentation, and ANTA tests using pyavd.
[!IMPORTANT] Personal Project Notice
This project (
avd-cli) is a personal project and is not an official development of the Arista AVD team or Arista Networks. It is maintained independently and is not endorsed, supported, or affiliated with Arista Networks, Inc.For official AVD tools and support, please visit avd.arista.com.
Key Features
- ๐ง Configuration Generation: Generate EOS device configurations using pyavd
- ๐ Documentation Generation: Create comprehensive network documentation in Markdown
- ๐งช ANTA Test Generation: Generate ANTA test catalogs for network validation
- ๐ Configuration Deployment: Deploy configurations to EOS devices via eAPI with diff statistics
- โก Lightning fast generation: Generate configurations, documentation and tests way faster than ansible (
1.28secfor 10 hosts compare to3secwith Ansible) - ๐ Multi-Fabric Support: Process multiple network fabrics with variable inheritance
- ๐ง Rich Terminal Experience: Beautiful CLI with progress bars and formatted output
Getting Started
Installation
# Using pipx (recommended)
pipx install git+https://github.com/titom73/avd-cli.git
# Or using pip
pip install git+https://github.com/titom73/avd-cli.git
Basic Usage
# Generate all outputs (configs, documentation, ANTA tests)
# Default output: ./examples/atd-inventory/intended/
avd-cli generate all --inventory-path ./examples/atd-inventory
โ Loading inventory...
โ Loaded 10 devices
โน Using default output path: examples/atd-inventory/intended
โ Generating configurations, documentation, and tests...
โ Generation complete!
Generated Files
โโโโโโโโโโโโโโโโโโณโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Category โ Count โ Output Path โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ Configurations โ 10 โ examples/atd-inventory/intended/configs โ
โ Documentation โ 10 โ examples/atd-inventory/intended/documentation โ
โ Tests โ 2 โ examples/atd-inventory/intended/tests โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
# Deploy configurations to EOS devices
avd-cli deploy eos --inventory-path ./examples/atd-inventory --dry-run --diff
Deployment Plan (dry-run)
Mode: replace
Targets: 10 devices
Concurrency: 10 devices
โ ผ Deploying to 10 devices...
Deployment Status
โโโโโโโโโโโโโโโโโโณโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโโโณโโโโโโโโ
โ Hostname โ Status โ Duration โ Diff (+/-) โ Error โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ spine01 โ success โ 2.34s โ +127 / -5 โ โ
โ spine02 โ success โ 1.89s โ +127 / -5 โ โ
โ leaf-1a โ success โ 3.12s โ +245 / -12 โ โ
โ ... โ ... โ ... โ ... โ โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโ
Documentation
Complete documentation is available at titom73.github.io/avd-cli
๐ Acknowledgments
Core Dependencies:
- Arista Networks AVD - AVD collection and pyavd library
- Arista Networks ANTA - ANTA Framewaork for network testing
- Click - Elegant CLI framework
- Rich - Beautiful terminal formatting
- pytest - Comprehensive testing framework
- UV - Fast Python package management
Community: Special thanks to the Arista AVD community and all contributors making network automation accessible and reliable.
License
This project is licensed under the Apache License 2.0.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avd_cli-0.1.0.tar.gz.
File metadata
- Download URL: avd_cli-0.1.0.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4553e611990f50c5ca0aa6d2fdfbf0e42f3baeee6455586d8f2e2badbd191d6a
|
|
| MD5 |
2dc2f15a0ff8fb8d06c4bdbc90a7cde9
|
|
| BLAKE2b-256 |
02735ab18018eb827e4bee05f1f53f7115a16bdd446212169d4fb56f117448be
|
File details
Details for the file avd_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: avd_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 53.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f7deea9806ef4f6dc2252ae7ae7c551065a4bcb1f1594c93873b31abd47c2e9
|
|
| MD5 |
f87aff1062aaf2175dd27915f745addb
|
|
| BLAKE2b-256 |
c8da26cc13cf6e3ce610f33f60697fac12979d771f1731c446182c77ef2b2ba1
|