Skip to main content

CLI tool for processing Arista AVD inventories and generating configurations

Project description

AVD CLI

Python Version License Code style: black Coverage Documentation

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.28sec for 10 hosts compare to 3sec with 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 avd-cli

# Or using pip
pip install avd-cli

Basic Usage

  • Build AVD artifacts for the entire fabric
# 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 using eAPI
# 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:

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.

http://www.apache.org/licenses/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

avd_cli-0.2.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

avd_cli-0.2.0-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

Details for the file avd_cli-0.2.0.tar.gz.

File metadata

  • Download URL: avd_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for avd_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3e290e02041ac7110c0f9c4a7ce9c3bc9bff04376a9757427e2688a726817d7d
MD5 71b2db48a0cc54598f30824c11d943df
BLAKE2b-256 16a291da1d4f93132d539e98c5da802a4c76da374192965606442ca2b7960288

See more details on using hashes here.

File details

Details for the file avd_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: avd_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 64.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for avd_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8f91fffcaf45dbc8bed859948a7574f51b8b3bb2dc9f0e15da33d70f9302839
MD5 1993da64c334a680f55b2288af855e04
BLAKE2b-256 db31bc663f423faf8e55f486c487d41902fa57ef3402e8bbe9e0709b1368a8d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page