NornFlow companion package for Arista EOS: Nornir tasks, blueprints, and a registered 'pyeapi' connection plugin over eAPI. Install alongside NornFlow and list under 'packages' in nornflow.yaml; no CLI commands—workflows run through NornFlow.
Project description
nornflow-arista
A NornFlow companion package for Arista EOS.
Use with NornFlow. This package provides EOS tasks and workflows for a NornFlow project. Install both in your automation environment and declare nornflow_arista under packages in nornflow.yaml.
What this package is (and what it isn't)
nornflow-arista is a reference implementation, not a feature-complete EOS automation library.
Its primary purpose is to demonstrate how a NornFlow companion package should be structured: what directories to create, how tasks, blueprints, workflows, Jinja2 filters, inventory filters, hooks, and processors plug in, and how to wire an eAPI connection plugin into Nornir's connection lifecycle.
The task and workflow coverage is intentionally modest. It covers a useful subset of EOS operations, but a production-grade package would go much further: more getters, richer config workflows, EVPN/VXLAN helpers, multicast, ACL management, and beyond.
Community contributions and Arista vendor engagement are not just welcome, they are necessary for this package to grow beyond a skeleton. If you work at Arista or operate EOS networks at scale, your PRs, issue reports, and feedback are exactly what this project needs. See CONTRIBUTING.
Documentation
| Document | Description |
|---|---|
| Getting Started | Install, wire into NornFlow, run your first workflow |
| Connection & Inventory | eAPI plugin, host.data keys, environment variables, resolution order |
| Tasks | All provided getter and config tasks with their parameters |
| Blueprints | Reusable task sequences and how to compose them |
| Workflows | Example end-to-end workflows shipped with the package |
| Jinja2 Filters | EOS-specific filters for workflow and blueprint YAML |
| Inventory Filters | Host-level inventory filter functions |
| Hooks | Task behaviour extensions via NornFlow hooks |
| Processors | Nornir result processors |
| Contributing | How to add tasks, filters, workflows, and report issues |
Quick look
Install NornFlow and this companion package:
pip install nornflow nornflow-arista
Declare the package in nornflow.yaml (you still need a Nornir config path and inventory in your project):
nornir_config_file: nornir_config.yaml
packages:
- name: nornflow_arista
Then run a workflow:
nornflow run daily_snapshot.yaml
See Getting Started for the full setup. Release history: CHANGELOG.md.
License
MIT. See LICENSE.
Project details
Release history Release notifications | RSS feed
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 nornflow_arista-0.1.0.tar.gz.
File metadata
- Download URL: nornflow_arista-0.1.0.tar.gz
- Upload date:
- Size: 84.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af4a85826dd2579756d8a395e8ba2ef7ce71db1e77df8dc2ec33f83e889ab0a5
|
|
| MD5 |
32298a8b1d17cb1ec56dd793c8e3a2f8
|
|
| BLAKE2b-256 |
49e818502836abc4bba081738654713b820913d6ca254a60ff939976186deee4
|
File details
Details for the file nornflow_arista-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nornflow_arista-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77bc0ec70ed8f0ceb88c2396f8d69ec13801fce15baa34f4030042a496c46359
|
|
| MD5 |
466eb7f6b3809c0424a68746c57ca806
|
|
| BLAKE2b-256 |
4134a685f1b764d965214b32644226b21a44702deb4904944e2d3e280d16182d
|