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 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:

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.1.1.tar.gz (1.7 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.1.1-py3-none-any.whl (53.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: avd_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for avd_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ac33b7caf94b1d6d29803d95da069a7a2a976ec0e2d7c43347b4a727cc856b55
MD5 579ed8494d3f1ad97bd549534fcfec89
BLAKE2b-256 1bd92ad6d51fd53b164c3d37fb26bc21814c8ae41fbf317e28e262247453cbff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avd_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 53.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for avd_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c91b572c32c46e363efd93ee2c223299515cd384c6b317a65f0e9b9041069fd
MD5 a1c070b784131f2cb70cd8b4ad4fee75
BLAKE2b-256 1b795d2f837a1861239c0c7cf454480c21ec9b58922a9b8addb2a7392564be48

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