pyats.async
pyATS Async: Asynchronous Execution of Codes
What it is and what it does
pyats.async is a sub-component of the pyATS testing framework that simplifies asynchronous execution by wrapping Python's multiprocessing module. It allows developers to run arbitrary functions concurrently without managing the complexity of multiprocessing directly, making it easier to scale test cases from simple linear scripts to large, complex asynchronous test suites. The package is part of Cisco's pyATS ecosystem, an end-to-end testing platform designed for data-driven, reusable testing in Agile environments.
The package depends only on pyats.log at runtime and is actively maintained, with recent releases supporting modern Python versions (3.10 through 3.14). It is distributed as platform-specific wheels for macOS and Linux systems; Windows is not currently supported. Installation is straightforward via pip, either as part of the full pyats suite or as a standalone upgrade.
Use it for:
- Run multiple test functions in parallel to reduce overall test execution time in large test suites.
- Execute independent test cases concurrently without manually managing multiprocessing pools or process lifecycle.
- Scale from simple sequential tests to complex asynchronous workflows within the pyATS framework.
- Integrate asynchronous execution into Agile testing pipelines that require rapid iteration and data-driven test design.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wraps Python multiprocessing to enable simpler asynchronous execution of arbitrary functions within the pyATS testing ecosystem.
Yes, if you are already using pyATS or building test suites that need concurrent execution. The package is actively maintained, has no known vulnerabilities, and offers a simpler abstraction over multiprocessing. Install friction is moderate due to platform-specific wheels and Python version requirements, but these are standard for compiled packages. Not relevant if you are not using pyATS or do not need asynchronous test execution.
Install
pyats-async on PyPI
pip
pip install pyats-asyncuv
uv add pyats-asyncpoetry
poetry add pyats-asyncInstalling pyats.async
Before you install
Active maintenance with a release 7 days ago. Medium install friction due to platform-specific wheels; supports Python 3.10–3.14 on macOS and Linux but requires a compatible Python version and the pyats.log runtime dependency.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install pyats.async
from pyats.async import pcall
# Execute a function asynchronously
result = pcall(some_function, args=(arg1, arg2))
Requires Python 3.8 or later; Linux or macOS only (Windows not supported per documentation).
Verify before relying
- Exact API surface and available functions beyond pcall wrapper mentioned in keywords.
- Performance characteristics and scalability limits for concurrent execution.
- Integration patterns with the broader pyATS ecosystem beyond the pyats.log dependency.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — pyats.log |
| Maintenance | actively maintained — 7 days since the last release |
| First released | |
| Downloads | 295,683/month — #7,918 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyats_async-26.7-cp310-cp310-macosx_11_0_universal2.whl; pyats_async-26.7-cp310-cp310-manylinux2014_aarch64.whl; pyats_async-26.7-cp310-cp310-manylinux2014_x86_64.whl; pyats_async-26.7-cp311-cp311-macosx_11_0_universal2.whl; pyats_async-26.7-cp311-cp311-manylinux2014_aarch64.whl; pyats_async-26.7-cp311-cp311-manylinux2014_x86_64.whl; pyats_async-26.7-cp312-cp312-macosx_11_0_universal2.whl; pyats_async-26.7-cp312-cp312-manylinux2014_aarch64.whl; pyats_async-26.7-cp312-cp312-manylinux2014_x86_64.whl; pyats_async-26.7-cp312-cp312-musllinux_1_2_x86_64.whl; pyats_async-26.7-cp313-cp313-macosx_11_0_universal2.whl; pyats_async-26.7-cp313-cp313-manylinux2014_aarch64.whl; pyats_async-26.7-cp313-cp313-manylinux2014_x86_64.whl; pyats_async-26.7-cp314-cp314-macosx_11_0_universal2.whl; pyats_async-26.7-cp314-cp314-manylinux2014_aarch64.whl; pyats_async-26.7-cp314-cp314-manylinux2014_x86_64.whl
Keywords: pyats, multiprocessing, async, pcall
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.aetestpyats.aetest is the test script engine…
permissive · top 15,000 on PyPI
pyats.tclWraps Python's tkinter module to provide Tcl…
permissive · top 15,000 on PyPI
pyats.reporterCollects test results and generates reports for…
permissive · top 15,000 on PyPI
pyats.easypyEasypy is a launcher and runtime environment…
permissive · top 15,000 on PyPI
pyats.resultsProvides object-oriented result representation…
permissive · top 15,000 on PyPI
pyats.logProvides logging format and utilities for…
permissive · top 15,000 on PyPI
pyats.utilspyats.utils provides utility functions and…
permissive · top 15,000 on PyPI
pyatspyATS is Cisco's end-to-end testing framework…
permissive · top 15,000 on PyPI
pyats.robotIntegrates pyATS testing capabilities with…
permissive · top 15,000 on PyPI
pyats.aereportCollects test results and generates reports as…
permissive · top 15,000 on PyPI