pyats.easypy
pyATS Easypy: launcher and runtime environment
What it is and what it does
Easypy is a sub-component of the pyATS testing ecosystem that provides a launcher and runtime environment for test scripts. It wraps test execution to encapsulate runs in isolated environments, automatically collects logs into archives, and can send reporting emails—simplifying the operational overhead of running and tracking test suites at scale.
The package is part of Cisco's broader pyATS framework, which is designed for data-driven, reusable testing in Agile development cycles. Easypy sits at the execution layer, handling the mechanics of running test scripts and aggregating results, while depending on other pyATS modules (topology, results, log, utils, datastructures, kleenex, aereport) to provide the underlying testing infrastructure. It is actively maintained and supports modern Python versions (3.8+) on Linux and macOS.
Use it for:
- Run network or infrastructure test suites with automatic log collection and archiving for audit trails.
- Aggregate multiple test script runs into a single encapsulated environment with centralized reporting.
- Send automated email reports after test execution for CI/CD pipeline integration.
- Scale from simple linear test cases to complex asynchronous test suites with consistent runtime handling.
- Organize test results and logs for teams using Cisco's pyATS framework for network testing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Easypy is a launcher and runtime environment for pyATS test suites that encapsulates script runs, collects logs into archives, and sends reporting emails.
Yes, if you are already using or planning to adopt pyATS for testing. Easypy is actively maintained (release 7 days ago), carries no known vulnerabilities, and provides essential runtime and reporting infrastructure for the framework. The medium install friction is justified by its role as a core component. Not recommended as a standalone tool; it is designed as part of the larger pyATS ecosystem.
Install
pyats-easypy on PyPI
pip
pip install pyats-easypyuv
uv add pyats-easypypoetry
poetry add pyats-easypyInstalling pyats.easypy
Before you install
Active maintenance with a release 7 days ago. Medium install friction due to 11 runtime dependencies across the pyATS ecosystem (aereport, datastructures, kleenex, log, results, topology, utils) plus setuptools, psutil, jinja2, and distro. Wheels available for Python 3.10–3.14 on macOS and Linux.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most organizational testing environments.
Quickstart
pip install pyats.easypy
from pyats.easypy import run
run(testscript='path/to/test.py')
Requires Python 3.8 or later; Linux or macOS only (Windows not supported per documentation).
Verify before relying
- Whether the 11 runtime dependencies are all required or some are optional/conditional.
- Specific capabilities of log archiving and email reporting (format, customization options).
- Integration points with other pyATS sub-components and whether they must all be installed.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 11 — setuptools, psutil, jinja2, distro, pyats.aereport, pyats.datastructures, pyats.kleenex, pyats.log, pyats.results, pyats.topology, pyats.utils |
| Maintenance | actively maintained — 7 days since the last release |
| First released | |
| Downloads | 295,953/month — #7,908 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyats_easypy-26.7-cp310-cp310-macosx_11_0_universal2.whl; pyats_easypy-26.7-cp310-cp310-manylinux2014_aarch64.whl; pyats_easypy-26.7-cp310-cp310-manylinux2014_x86_64.whl; pyats_easypy-26.7-cp311-cp311-macosx_11_0_universal2.whl; pyats_easypy-26.7-cp311-cp311-manylinux2014_aarch64.whl; pyats_easypy-26.7-cp311-cp311-manylinux2014_x86_64.whl; pyats_easypy-26.7-cp312-cp312-macosx_11_0_universal2.whl; pyats_easypy-26.7-cp312-cp312-manylinux2014_aarch64.whl; pyats_easypy-26.7-cp312-cp312-manylinux2014_x86_64.whl; pyats_easypy-26.7-cp312-cp312-musllinux_1_2_x86_64.whl; pyats_easypy-26.7-cp313-cp313-macosx_11_0_universal2.whl; pyats_easypy-26.7-cp313-cp313-manylinux2014_aarch64.whl; pyats_easypy-26.7-cp313-cp313-manylinux2014_x86_64.whl; pyats_easypy-26.7-cp314-cp314-macosx_11_0_universal2.whl; pyats_easypy-26.7-cp314-cp314-manylinux2014_aarch64.whl; pyats_easypy-26.7-cp314-cp314-manylinux2014_x86_64.whl
Keywords: pyats, easypy, runtime, environment, testing
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pyats.reporterCollects test results and generates reports for…
permissive · top 15,000 on PyPI
pyats.aereportCollects test results and generates reports as…
permissive · top 15,000 on PyPI
pyats.aetestpyats.aetest is the test script engine…
permissive · top 15,000 on PyPI
pyats.logProvides logging format and utilities for…
permissive · top 15,000 on PyPI
pyats.asyncWraps Python multiprocessing to enable simpler…
permissive · top 15,000 on PyPI
pyats.utilspyats.utils provides utility functions and…
permissive · top 15,000 on PyPI
pyats.resultsProvides object-oriented result representation…
permissive · top 15,000 on PyPI
pyats.robotIntegrates pyATS testing capabilities with…
permissive · top 15,000 on PyPI
pyats.tclWraps Python's tkinter module to provide Tcl…
permissive · top 15,000 on PyPI
pyatspyATS is Cisco's end-to-end testing framework…
permissive · top 15,000 on PyPI