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.1.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.1-py3-none-any.whl (64.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: avd_cli-0.2.1.tar.gz
  • Upload date:
  • Size: 1.8 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.2.1.tar.gz
Algorithm Hash digest
SHA256 02fe0a8a7daab23d7fe1404dc0126a2368e7494227c71797bee5cbf50582f3e7
MD5 93d9f6fe3943dd5384c8c122c49093e9
BLAKE2b-256 5d85ca23e72b717da3fbea08e82675ef46377dc7c507d29d73f3423f7015d3e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: avd_cli-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 64.4 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b297d00d870db202c65967e4536881a12782618c0522af0f1ed0fb3aa66d5eab
MD5 c4fc5247ad8c8a08b979379d31e55a62
BLAKE2b-256 daff09bd1836559708aa61b63efc717e30b2a674c09788817288beca07712151

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