pyeapi
Python Client for eAPI
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires an Arista EOS device or simulator reachable via eAPI; configuration file must be set up to specify node connection profiles.
- 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 · maintenance · safety
BSD-3 (permissive) — 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.
last release 2024-08-20 (724 days) · last repo commit 2026-04-09 · 155 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 321,806 downloads/mo, #7,618 on PyPI
Alternatives
Verify before relying
pip install pyeapi
import pyeapi
node = pyeapi.connect_to('node1')
node.enable('show version')- 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
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 on it.
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
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.
Requires an Arista EOS device or simulator reachable via eAPI; configuration file must be set up to specify node connection profiles.
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')
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 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3 :: OnlyTopic :: System :: Networking |
Evidence: pyeapi-1.0.4.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “arista eos network automation”
- pyeapipyeapi is a Python library that wraps Arista EOS eAPI to configure…
- antaANTA is a Python framework that automates network validation tests…
- scrapliscrapli is a Python library for connecting to and automating network…
Give your agent the search over MCP, or paste the wish link into any chat.
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
uvloop is a drop-in replacement for Python's built-in asyncio event loop, implemented in Cython and using libuv, that accelerates async I/O operations.
execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.
However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…
PyZMQ provides Python bindings for ZeroMQ (ØMQ), a lightweight messaging library that enables fast, asynchronous communication between distributed processes and applications.
See also anta · cvprac · scrapli · pyswitchbee · pygnmi · ansys-platform-instancemanagement · aioqsw · pyais · stellar-sdk · aristaproto