skillfed

pyeapi

Python Client for eAPI

pyeapi v1.0.4 321.8K downloads/30d#7,618 on PyPI155
Permissive license BSD-3 Active released

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 pyeapi

uv

uv add pyeapi

poetry

poetry add pyeapi

Installing 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

Development Status :: 4 - BetaIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python :: 3 :: OnlyTopic :: System :: Networking

Tags

arista eos network automationpython eapi clientarista device configurationnetwork device management pythoneos api wrapperarista switch controlnetwork automation library
network-automationarista-eos

More Networking packages