pyeapi
Python Client for eAPI
What it is and what it does
pyeapi is a Python wrapper around Arista EOS eAPI that lets you programmatically configure and query Arista EOS network devices. It abstracts the HTTP-based eAPI protocol into Python objects and methods, supporting both local (on-device) and remote (off-device) connections. The library reads connection profiles from an INI-style configuration file to manage multiple nodes and provides both low-level API calls and higher-level Python object abstractions for common EOS configuration tasks.
The package is designed for network administrators and automation engineers building applications that need to manage Arista EOS infrastructure. It has no external runtime dependencies, making installation straightforward in isolated environments, but its utility is limited to organizations running Arista EOS hardware or compatible simulators. The library is actively maintained and freely available under a BSD-3 license.
Use it for:
- Automate configuration and provisioning of Arista EOS switches in data center or campus networks
- Build monitoring and health-check scripts that query EOS device state via eAPI
- Integrate Arista EOS management into larger network orchestration or infrastructure-as-code workflows
- Develop custom network automation tools that need programmatic access to EOS configuration
- Test EOS configurations and features in lab environments using simulators
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
pyeapi is a Python library that wraps Arista EOS eAPI to configure and manage Arista EOS network devices locally or remotely via Python code.
Yes, if you manage Arista EOS infrastructure. The library is stable, actively maintained, permissively licensed, and has no external dependencies. Install friction is high only because it requires compatible hardware or simulators; if you have that, it's a straightforward and appropriate choice for EOS automation. Not relevant outside Arista environments.
Install
pyeapi on PyPI
pip
pip install pyeapiuv
uv add pyeapipoetry
poetry add pyeapiInstalling pyeapi
Before you install
High install friction: the package has no runtime dependencies but is tightly coupled to Arista EOS infrastructure, making it useful only in environments with compatible hardware or simulators. Last release was 724 days ago; the repository is active with recent commits (2026-04-09) and modest community engagement (155 stars), suggesting stable maintenance but not rapid iteration.
License in practice
BSD-3 is a permissive open-source license that allows commercial and private use with minimal restrictions, making it safe to adopt in most projects.
Quickstart
pip install pyeapi
import pyeapi
node = pyeapi.connect_to('node1')
node.enable('show version')
Requires an Arista EOS device or simulator reachable via eAPI; configuration file must be set up to specify node connection profiles.
Verify before relying
- Whether the package works with all modern Python versions (requires_python is unspecified in the fact sheet)
- Current state of on-box vs. off-box connectivity support and any limitations
- Extensibility patterns and examples for custom API implementations mentioned in the description
Package facts
| License | BSD-3 (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | actively maintained — 724 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 321,806/month — #7,618 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyeapi-1.0.4.tar.gz
Keywords: networking, arista, eos, eapi
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
antaANTA is a Python framework that automates…
permissive · top 15,000 on PyPI
cvpracA Python client library for the Arista…
permissive · top 15,000 on PyPI
scrapliscrapli is a Python library for connecting to…
permissive · top 15,000 on PyPI
pyswitchbeeA Python library for controlling SwitchBee…
permissive · top 15,000 on PyPI
pygnmiPure Python gNMI client for querying and…
permissive · top 15,000 on PyPI
ansys-platform-instancemanagementPyPIM provides a Python client to communicate…
permissive · top 15,000 on PyPI
aioqswAsync Python library for controlling QNAP QSW…
permissive · top 15,000 on PyPI
pyaisDecodes and encodes AIS (Automatic…
permissive · top 15,000 on PyPI
stellar-sdkStellar SDK provides Python APIs to build and…
permissive · top 15,000 on PyPI
aristaprotoGenerates Python gRPC stubs and message classes…
permissive · top 15,000 on PyPI