skillfed

pyats.connections

pyATS Connection: Device Connection Handling & Base Classes

pyats-connections v26.7 295.6K downloads/30d#7,919 on PyPI
Permissive license Apache 2.0 Active released

What it is and what it does

pyats.connections is a sub-component of the pyATS testing ecosystem that abstracts device connectivity for network automation and testing scripts. It provides top-level connection classes and interfaces to enable developers to create custom connection implementations, with built-in support for protocols like telnet and SSH. The package is designed to integrate with the broader pyATS framework for data-driven, reusable testing across network infrastructure.

The package depends on pyats.datastructures, pyats.async, and unicon (Cisco's device interaction library), making it part of a larger ecosystem rather than a standalone tool. It is actively maintained, with recent releases and support for modern Python versions (3.10–3.14). Installation is straightforward on Linux and macOS, though Windows is not supported.

Use it for:

  • Establish and manage SSH/telnet connections to network devices in automated test scripts
  • Build custom connection handlers for specialized network device types or protocols
  • Integrate device connectivity into larger pyATS-based test suites for network validation
  • Abstract device communication logic to enable reusable connection patterns across test cases

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides device connection abstraction and base classes for network device communication, enabling scripts to establish and manage connections via telnet, SSH, and other protocols.

Yes, if you are building network automation or testing workflows within the pyATS ecosystem or need a standardized abstraction for device connectivity. The package is actively maintained, permissively licensed, and well-integrated with pyATS and unicon. Not recommended as a standalone tool for simple device communication; consider it only as part of a broader testing or automation strategy.

Install

pyats-connections on PyPI

pip

pip install pyats-connections

uv

uv add pyats-connections

poetry

poetry add pyats-connections

Installing pyats.connections

Before you install

Active maintenance with recent release (7 days old). Medium install friction due to three runtime dependencies (pyats.datastructures, pyats.async, unicon) and pre-built wheels across Python 3.10–3.14 on Linux and macOS, but no Windows support.

License in practice

Apache 2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most production and internal projects.

Quickstart

pip install pyats.connections

from pyats.connections import Connection

# Connection class provides the abstraction for device connectivity

Requires Python 3.8 or later; Linux or macOS only (Windows not supported).

Verify before relying

  • Specific device types and protocols supported beyond telnet and SSH
  • Whether unicon is required or optional for basic connection functionality
  • Documentation availability and completeness for standalone use outside full pyATS

Package facts

License Apache 2.0 (permissive)
Python support supports the current Python release (>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies 3 — pyats.datastructures, pyats.async, unicon
Maintenance actively maintained — 7 days since the last release
First released
Downloads 295,643/month — #7,919 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyats_connections-26.7-cp310-cp310-macosx_11_0_universal2.whl; pyats_connections-26.7-cp310-cp310-manylinux2014_aarch64.whl; pyats_connections-26.7-cp310-cp310-manylinux2014_x86_64.whl; pyats_connections-26.7-cp311-cp311-macosx_11_0_universal2.whl; pyats_connections-26.7-cp311-cp311-manylinux2014_aarch64.whl; pyats_connections-26.7-cp311-cp311-manylinux2014_x86_64.whl; pyats_connections-26.7-cp312-cp312-macosx_11_0_universal2.whl; pyats_connections-26.7-cp312-cp312-manylinux2014_aarch64.whl; pyats_connections-26.7-cp312-cp312-manylinux2014_x86_64.whl; pyats_connections-26.7-cp312-cp312-musllinux_1_2_x86_64.whl; pyats_connections-26.7-cp313-cp313-macosx_11_0_universal2.whl; pyats_connections-26.7-cp313-cp313-manylinux2014_aarch64.whl; pyats_connections-26.7-cp313-cp313-manylinux2014_x86_64.whl; pyats_connections-26.7-cp314-cp314-macosx_11_0_universal2.whl; pyats_connections-26.7-cp314-cp314-manylinux2014_aarch64.whl; pyats_connections-26.7-cp314-cp314-manylinux2014_x86_64.whl

Keywords: pyats, connection, device, telnet, ssh

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

network device connection managementtelnet ssh device communicationpyats device connection handlernetwork automation connection abstractiondevice connection classesnetwork device session managementpyats network connectivity
network-automationdevice-connectivitycisco-ecosystem

More Libraries packages