pyats.kleenex
pyATS Kleenex: Testbed Preparation, Clean & Finalization
What it is and what it does
pyATS Kleenex is a sub-component of the pyATS end-to-end testing framework that handles testbed device preparation and cleanup. It provides a standardized interface for developers to write and execute code that interacts with testbed devices, ensuring they are in a known clean state before test execution begins. The package is designed to integrate seamlessly with pyATS's data-driven and reusable testing model, supporting both simple linear workflows and complex asynchronous test suites.
Kleenex abstracts away the complexity of device state management across heterogeneous testbeds, allowing teams to define cleanup and finalization logic once and apply it consistently across test runs. It is part of Cisco's pyATS ecosystem, which emphasizes Agile rapid development and extensibility. The package supports modern Python versions (3.8+) on Linux and macOS, with active maintenance and no known security vulnerabilities.
Use it for:
- Reset testbed devices to a baseline configuration before running automated test suites
- Orchestrate cleanup tasks across multiple devices in parallel as part of test teardown
- Standardize device preparation logic across teams to ensure reproducible test environments
- Integrate device state management into CI/CD pipelines for network and infrastructure testing
- Finalize device state after test execution to prevent test pollution in shared testbeds
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Standardizes testbed device preparation, cleanup, and finalization workflows within the pyATS testing ecosystem, providing a framework for orchestrating device state management before and after test execution.
Yes, if you are already using pyATS for testing. Kleenex is a focused, actively maintained sub-component that solves a real problem in test automation—reliable device cleanup and preparation. It has no security vulnerabilities, permissive licensing, and broad Python version support. Install friction is moderate due to its eight pyATS dependencies, but these are expected in the pyATS ecosystem. If you are not using pyATS, this package is not useful standalone.
Install
pyats-kleenex on PyPI
pip
pip install pyats-kleenexuv
uv add pyats-kleenexpoetry
poetry add pyats-kleenexInstalling pyats.kleenex
Before you install
Active maintenance with a release within the past week. Medium install friction due to eight runtime dependencies, all within the pyATS ecosystem. Wheels available for Python 3.10–3.14 across macOS and Linux platforms (including musllinux), reducing compilation overhead.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions, typical for infrastructure testing tools.
Quickstart
pip install pyats.kleenex
from pyats.kleenex import Kleenex
kleenex = Kleenex(testbed)
kleenex.clean()
Requires Python 3.8 or later. Depends on eight pyATS sub-packages (aetest, async, datastructures, log, topology, utils) and requests; ensure the full pyATS ecosystem is installed or install pyats as a whole.
Verify before relying
- Whether Kleenex can be used standalone or requires the full pyATS installation
- Specific device types and platforms supported for cleanup orchestration
- Performance characteristics when managing large testbeds with many devices
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 8 — requests, distro, pyats.aetest, pyats.async, pyats.datastructures, pyats.log, pyats.topology, pyats.utils |
| Maintenance | actively maintained — 7 days since the last release |
| First released | |
| Downloads | 296,077/month — #7,906 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyats_kleenex-26.7-cp310-cp310-macosx_11_0_universal2.whl; pyats_kleenex-26.7-cp310-cp310-manylinux2014_aarch64.whl; pyats_kleenex-26.7-cp310-cp310-manylinux2014_x86_64.whl; pyats_kleenex-26.7-cp311-cp311-macosx_11_0_universal2.whl; pyats_kleenex-26.7-cp311-cp311-manylinux2014_aarch64.whl; pyats_kleenex-26.7-cp311-cp311-manylinux2014_x86_64.whl; pyats_kleenex-26.7-cp312-cp312-macosx_11_0_universal2.whl; pyats_kleenex-26.7-cp312-cp312-manylinux2014_aarch64.whl; pyats_kleenex-26.7-cp312-cp312-manylinux2014_x86_64.whl; pyats_kleenex-26.7-cp312-cp312-musllinux_1_2_x86_64.whl; pyats_kleenex-26.7-cp313-cp313-macosx_11_0_universal2.whl; pyats_kleenex-26.7-cp313-cp313-manylinux2014_aarch64.whl; pyats_kleenex-26.7-cp313-cp313-manylinux2014_x86_64.whl; pyats_kleenex-26.7-cp314-cp314-macosx_11_0_universal2.whl; pyats_kleenex-26.7-cp314-cp314-manylinux2014_aarch64.whl; pyats_kleenex-26.7-cp314-cp314-manylinux2014_x86_64.whl
Keywords: pyats, testbed, clean, orchestration
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.reporterCollects test results and generates reports for…
permissive · top 15,000 on PyPI
pyats.utilspyats.utils provides utility functions and…
permissive · top 15,000 on PyPI
pyats.topologyModels network testbeds, devices, interfaces,…
permissive · top 15,000 on PyPI
pyats.logProvides logging format and utilities for…
permissive · top 15,000 on PyPI
pyats.robotIntegrates pyATS testing capabilities with…
permissive · top 15,000 on PyPI
genie.telemetryGenie Telemetry monitors testbed health status…
permissive · top 15,000 on PyPI
pyatspyATS is Cisco's end-to-end testing framework…
permissive · top 15,000 on PyPI
pyats.connectionsProvides device connection abstraction and base…
permissive · top 15,000 on PyPI
pyats.aereportCollects test results and generates reports as…
permissive · top 15,000 on PyPI