Registry / testing / pyats-easypy

pyats-easypy

JSON →
library26.5pypypiunverified

pyATS Easypy is the launcher and runtime environment for executing pyATS test scripts and harnesses. It provides jobfile parsing, plugin management, and the overall execution framework for network test automation. Part of the broader pyATS ecosystem from Cisco, it is actively maintained with frequent releases, currently at version 26.3, often following a monthly or bi-monthly cadence aligning with other pyATS components.

pip install pyats-easypy
INSTALL
IMPORT
SIG · PYATS-EASYPY
P
pyats-easypy
testingpythonv26.5
Install
10.7s avg
Import
Disk
173MB
Pass rate
7/ 10
Env Coverage7 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v26.5 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 11.53s
py 3.11
✕ build_error
✓ 10s
py 3.12
✕ build_error
✓ 8.6s
py 3.13
✕ build_error
✓ 8.93s
py 3.9
✓ —
✓ 14.48s
173MB installed
● package 173MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

aetest
from pyats.easypy import aetest
from pyats.easypy import aetest

Create a simple AETest script and run it using the `easypy` command-line utility. The `easypy` command acts as the main runner for pyATS test jobs. This example demonstrates a basic test with CommonSetup, a Testcase, and CommonCleanup.

import os from pyats import aetest class CommonSetup(aetest.CommonSetup): @aetest.subsection def initial_setup(self): self.parent.parameters['example_param'] = 'Hello, pyATS!' self.log.info(f"Running initial setup with param: {self.parent.parameters['example_param']}") class Testcase1(aetest.Testcase): @aetest.test def example_test(self): param = self.parent.parameters['example_param'] self.log.info(f"Executing example_test with param: {param}") assert param == 'Hello, pyATS!' class CommonCleanup(aetest.CommonCleanup): @aetest.subsection def final_cleanup(self): self.log.info("Running final cleanup.") # To run this script: # 1. Save it as e.g., `my_test.py` # 2. Run from your terminal: `easypy my_test.py` # Optional: To specify a testbed (e.g., if tests use device connections): # `easypy my_test.py --testbed-file my_testbed.yaml` # For quick demo, --testbed-file isn't strictly needed for this simple test.
easypy --version
Debug
Known issues
breakingMajor pyATS versions (and thus pyats-easypy) can introduce breaking changes in testbed YAML schema or plugin APIs. Always consult release notes when upgrading across major versions (e.g., 24.x to 25.x).
fix
Review official pyATS release notes for specific schema and API changes. Update testbed files and custom plugins accordingly.
affects: <26.0
gotchaEasypy relies heavily on environment variables for configuration (e.g., `AE_TESTBED`, `AE_RESULTS_DIR`). Incorrectly set or missing environment variables can lead to unexpected behavior or failures, especially in CI/CD pipelines.
fix
Ensure relevant `AE_` environment variables are correctly set before invoking `easypy`. Use `pyats clean` to manage old results directories if issues persist. For CI, explicitly define variables in the pipeline configuration.
affects: All
gotchaThe `easypy` command-line tool requires an AETest script (or a job file) as an argument. Simply running `python your_script.py` for an AETest script will not invoke the Easypy runtime and its features (plugins, reporting, etc.).
fix
Always use `easypy <your_test_script.py>` or `easypy <your_job_file.py>` to run pyATS tests. Do not execute AETest scripts directly with `python`.
affects: All
deprecatedOlder versions of pyATS might have supported Python 3.6 or 3.7, but current versions of `pyats-easypy` (26.x) explicitly require Python 3.8 and above. Attempting to install or run on older Python versions will fail.
fix
Upgrade your Python environment to 3.8 or newer. Check `requires_python` in PyPI metadata for the exact version.
affects: <26.0
Upgrade
Version history
26.5latest on PyPI · released May 28, 2026
Audit
Dependencies

No dependency data recorded yet.

Agent activity
14 hits · last 30 days
node
14
Resources
pyats-easypy — pip install pyats-easypy · libregistry