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

Uploaded Python 3

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

Hashes for avd_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4553e611990f50c5ca0aa6d2fdfbf0e42f3baeee6455586d8f2e2badbd191d6a
MD5 2dc2f15a0ff8fb8d06c4bdbc90a7cde9
BLAKE2b-256 02735ab18018eb827e4bee05f1f53f7115a16bdd446212169d4fb56f117448be

See more details on using hashes here.

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

Hashes for avd_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f7deea9806ef4f6dc2252ae7ae7c551065a4bcb1f1594c93873b31abd47c2e9
MD5 f87aff1062aaf2175dd27915f745addb
BLAKE2b-256 c8da26cc13cf6e3ce610f33f60697fac12979d771f1731c446182c77ef2b2ba1

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