pyats.tcl
pyATS Tcl: Tcl Integration and Objects
What it is and what it does
pyats.tcl is a sub-component of the pyATS end-to-end testing framework that bridges Python and Tcl by wrapping the tkinter module. It provides improved interfaces and data structure casting for Tcl integration within test automation workflows. The package is part of Cisco's broader pyATS ecosystem, which is designed for data-driven, reusable testing in Agile environments.
The package supports modern Python versions (3.8 through 3.14) on Linux and macOS, distributed as pre-built wheels. It depends on pyats.datastructures and pyats.log, making it most useful when integrated into a larger pyATS test suite rather than as a standalone tool. The wrapper abstracts some of tkinter's lower-level details to make Tcl objects easier to work with in Python test code.
Use it for:
- Integrating Tcl scripts or Tcl-based tools into Python-driven test automation workflows within pyATS.
- Casting and handling Tcl data structures in Python test cases without manual type conversion.
- Building reusable test libraries that need to call Tcl functions from Python test code.
- Extending pyATS test suites with Tcl-based network or device automation components.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wraps Python's tkinter module to provide Tcl integration and object interfaces within the pyATS testing ecosystem, enabling better data structure casting and interface handling for test automation.
Yes, if you are already using pyATS for test automation and need Tcl integration. The package is actively maintained, has no known vulnerabilities, and supports current Python versions. Install friction is moderate due to compiled wheels, but binaries are readily available. Not recommended as a standalone tool—it is a specialized sub-component designed to work within the pyATS ecosystem.
Install
pyats-tcl on PyPI
pip
pip install pyats-tcluv
uv add pyats-tclpoetry
poetry add pyats-tclInstalling pyats.tcl
Before you install
Active maintenance with a release 7 days ago. Medium install friction due to compiled wheels across multiple Python versions (3.10–3.14) and platforms (macOS, Linux x86_64, aarch64, musllinux), but pre-built binaries are available.
License in practice
Apache 2.0 permissive license allows use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install pyats.tcl
from pyats.tcl import Tcl
tcl_obj = Tcl()
Requires Python 3.8 or later; Linux and macOS only (Windows not supported).
Verify before relying
- Specific Tcl version requirements or compatibility constraints not stated in the fact sheet.
- Whether tkinter must be separately installed on the system or is bundled with the wheel.
- Concrete examples of 'better interface & datastructure casting' compared to raw tkinter.
Package facts
| License | Apache 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 2 — pyats.datastructures, pyats.log |
| Maintenance | actively maintained — 7 days since the last release |
| First released | |
| Downloads | 295,134/month — #7,931 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyats_tcl-26.7-cp310-cp310-macosx_11_0_universal2.whl; pyats_tcl-26.7-cp310-cp310-manylinux2014_aarch64.whl; pyats_tcl-26.7-cp310-cp310-manylinux2014_x86_64.whl; pyats_tcl-26.7-cp311-cp311-macosx_11_0_universal2.whl; pyats_tcl-26.7-cp311-cp311-manylinux2014_aarch64.whl; pyats_tcl-26.7-cp311-cp311-manylinux2014_x86_64.whl; pyats_tcl-26.7-cp312-cp312-macosx_11_0_universal2.whl; pyats_tcl-26.7-cp312-cp312-manylinux2014_aarch64.whl; pyats_tcl-26.7-cp312-cp312-manylinux2014_x86_64.whl; pyats_tcl-26.7-cp312-cp312-musllinux_1_2_x86_64.whl; pyats_tcl-26.7-cp313-cp313-macosx_11_0_universal2.whl; pyats_tcl-26.7-cp313-cp313-manylinux2014_aarch64.whl; pyats_tcl-26.7-cp313-cp313-manylinux2014_x86_64.whl; pyats_tcl-26.7-cp314-cp314-macosx_11_0_universal2.whl; pyats_tcl-26.7-cp314-cp314-manylinux2014_aarch64.whl; pyats_tcl-26.7-cp314-cp314-manylinux2014_x86_64.whl
Keywords: pyats, tcl, reuse, library, packages
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.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.reporterCollects test results and generates reports for…
permissive · top 15,000 on PyPI
pyats.robotIntegrates pyATS testing capabilities with…
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
pyatspyATS is Cisco's end-to-end testing framework…
permissive · top 15,000 on PyPI
pyats.aereportCollects test results and generates reports as…
permissive · top 15,000 on PyPI
pyats.resultsProvides object-oriented result representation…
permissive · top 15,000 on PyPI
pyats.connectionsProvides device connection abstraction and base…
permissive · top 15,000 on PyPI