skillfed

pyats.async

pyATS Async: Asynchronous Execution of Codes

pyats-async v26.7 295.7K downloads/30d#7,918 on PyPI
Permissive license Apache 2.0 Active released

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-async

uv

uv add pyats-async

poetry

poetry add pyats-async

Installing 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

Development Status :: 5 - Production/StableDevelopment Status :: 6 - MatureEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsIntended Audience :: Telecommunications IndustryLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOSOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Software Development :: Build ToolsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Testing

Tags

async function execution pythonmultiprocessing wrapperparallel test executionasynchronous code runnerpyats async componentconcurrent function callspcall multiprocessing
testing-frameworkmultiprocessingcisco-devnet

More Libraries packages