--- id: unicon version: "26.7" license: Apache 2.0 license_treatment: permissive maintenance: active --- # unicon — Unicon Connection Library License: permissive · Maintenance: active · Downloads: 336.9K/mo ## What it is and what it does Unicon is a connection library that abstracts away the complexity of CLI-based network device management. It wraps underlying session protocols (telnet, SSH, serial) and provides expect-like pattern matching and command execution without requiring low-level session handling. The library handles multi-vendor devices through a plugin architecture, automatically manages CLI mode transitions (enable, configure, etc.), detects command errors and rejected commands, and offers platform-specific stateful services. The package is the standard connection layer for the Cisco pyATS automation framework and is designed for network engineers and automation developers who need reliable, vendor-agnostic CLI access to devices. It depends on pyyaml for configuration, dill for serialization, and unicon.plugins for platform-specific behavior. Use it for: - Automate command execution across multiple Cisco or multi-vendor network devices without managing raw SSH/telnet sessions. - Build network configuration management scripts that handle mode transitions and error detection automatically. - Integrate device CLI access into larger pyATS-based test or validation frameworks. - Develop custom network automation plugins for unsupported device platforms using the plugin architecture. - Establish proxied connections to devices behind jump hosts or management interfaces. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Unicon provides a unified CLI connection interface to network devices, wrapping telnet, SSH, and serial connections with expect-like programming and multi-vendor support through a plugin architecture. Yes. Unicon is actively maintained, carries no known vulnerabilities, uses a permissive Apache 2.0 license, and is the standard connection layer for pyATS. Install it if you need reliable, multi-vendor CLI device access or are already using pyATS. The medium install friction is offset by pre-built wheels for modern Python versions. ## Install pip install unicon uv add unicon poetry add unicon ## Installing unicon Before you install: Active maintenance with a release within the last week. Medium install friction due to compiled wheels across multiple Python versions (3.10–3.14) and platforms, but pre-built binaries are available for common architectures. License in practice: Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions. Quickstart: pip install unicon from unicon import Connection conn = Connection(hostname='device', start=['ssh']) conn.connect() output = conn.execute('show version') conn.disconnect() Requires Linux, macOS, or WSL; network device must be reachable via telnet, SSH, or serial interface. Verify before relying: - Exact list of supported network device platforms and vendors beyond Cisco. - Performance characteristics and scalability limits for concurrent connections. - Whether unicon.plugins is a separate package or bundled dependency. ## Package facts - License: Apache 2.0 (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 336.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags network device cli connection, telnet ssh serial wrapper, expect-like network automation, multi-vendor device management, cisco pyats connection library, cli session handling, network device mode switching, network-automation, device-management, cisco-pyats [View on SkillFed](https://skillfed.io/packages/unicon) · [View on PyPI](https://pypi.org/project/unicon/)