Unicon Connection Library
Project description
Unicon is a package aiming to provide a unified connection experience to network devices through typical command-line management interface. By wrapping the underlying session (eg, telnet, ssh), Unicon provides:
- direct and proxied connections through any common CLI interface (telnet, ssh, serial etc)
- power of expect-like programming without having to deal with low-level logic
- multi-vendor support through an agnostic API interface
- seamless handling of CLI modes (eg, enable, configure, admin-configure mode)
- rejected commands, command error detections
- value-add statful services (specific to the platform)
and is extensible: platform supports and services are implemented via open-source plugins.
Unicon is the standard, go-to CLI connection implementation for Cisco pyATS framework.
This package was initially developed internally in Cisco, and is now release to the general public starting late 2017 through Cisco DevNet.
https://developer.cisco.com/pyats/
Requirements
- Linux/macOS/WSL
- Python 3.4+
Quick Start
bash$ pip install unicon
For more information on setting up your Python development environment, such as creating virtual environment and installing pip on your system, please refer to Virtual Environment and Packages in Python tutorials.
Examples
See example of a Unicon connection usage with Cisco IOS devices at:
https://github.com/CiscoDevNet/pyats-ios-sample
In addition, there is a sample plugin package you can follow to develop Unicon plugins for new platforms on top of Unicon:
https://github.com/CiscoDevNet/pyats-plugin-examples/tree/master/unicon_plugin_example
Support & Community
See https://developer.cisco.com/docs/pyats/#!license-support page for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size unicon-21.3-cp36-cp36m-macosx_10_10_x86_64.whl (2.5 MB) | File type Wheel | Python version cp36 | Upload date | Hashes View |
Filename, size unicon-21.3-cp36-cp36m-macosx_10_16_x86_64.whl (2.4 MB) | File type Wheel | Python version cp36 | Upload date | Hashes View |
Filename, size unicon-21.3-cp36-cp36m-manylinux1_x86_64.whl (10.1 MB) | File type Wheel | Python version cp36 | Upload date | Hashes View |
Filename, size unicon-21.3-cp37-cp37m-macosx_10_10_x86_64.whl (2.5 MB) | File type Wheel | Python version cp37 | Upload date | Hashes View |
Filename, size unicon-21.3-cp37-cp37m-macosx_10_16_x86_64.whl (2.4 MB) | File type Wheel | Python version cp37 | Upload date | Hashes View |
Filename, size unicon-21.3-cp37-cp37m-manylinux1_x86_64.whl (10.0 MB) | File type Wheel | Python version cp37 | Upload date | Hashes View |
Filename, size unicon-21.3-cp38-cp38-macosx_10_10_x86_64.whl (2.5 MB) | File type Wheel | Python version cp38 | Upload date | Hashes View |
Filename, size unicon-21.3-cp38-cp38-macosx_10_16_x86_64.whl (2.5 MB) | File type Wheel | Python version cp38 | Upload date | Hashes View |
Filename, size unicon-21.3-cp38-cp38-manylinux1_x86_64.whl (12.7 MB) | File type Wheel | Python version cp38 | Upload date | Hashes View |
Filename, size unicon-21.3-cp39-cp39-macosx_10_10_x86_64.whl (2.6 MB) | File type Wheel | Python version cp39 | Upload date | Hashes View |
Filename, size unicon-21.3-cp39-cp39-macosx_10_16_x86_64.whl (2.5 MB) | File type Wheel | Python version cp39 | Upload date | Hashes View |
Filename, size unicon-21.3-cp39-cp39-manylinux1_x86_64.whl (11.3 MB) | File type Wheel | Python version cp39 | Upload date | Hashes View |
Hashes for unicon-21.3-cp36-cp36m-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5620b31480d309480f5500badfe3c591dc76fe2b674d78b16c7ff9570f17cd42 |
|
MD5 | c4e070a454f82145230f7a58d322c68b |
|
BLAKE2-256 | 752bd9ca487f19a8b1ebf95b8517d513da574813f75595042dc7f6e9b4d998b1 |
Hashes for unicon-21.3-cp36-cp36m-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc426b9e5ad80044276a885df9bfd6b1fe5f925770f4f4e3c2a98be645389fc4 |
|
MD5 | 4ce247312ac7267c9b4003e686ef04db |
|
BLAKE2-256 | 33166eb1a9a3e3ab4a771d7c0f32d6093e5b0e04ba12e9b1c6e29d6af95e7ded |
Hashes for unicon-21.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31fbef351a3ce17618555180c9f3098e5ca1d5456a35f9697fce329da1c96c7b |
|
MD5 | 10b9bb5ce6ec1deee27b06a2ab927964 |
|
BLAKE2-256 | c2963cf273aa06c6fef0d3fd43bf6012a6067d9944810ef95097939f7c8e9c89 |
Hashes for unicon-21.3-cp37-cp37m-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3dab0ca392ada970e2281ebfafcb8656e0ac5331fe6d983ce29b49c1f6fc7a2 |
|
MD5 | 2eb950076f342fee60f7bbdb0e82acbc |
|
BLAKE2-256 | 95e25462454e733dbbb16085d2baaf1c756eb4ac2037c85327dc4870f8ffca99 |
Hashes for unicon-21.3-cp37-cp37m-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ce6dd589c0896ea8e7a624189c700d8b7940c326d1d13a7cb8b01128cb427b8 |
|
MD5 | f21ae9d9d5ecbf808c873ed5868dd77b |
|
BLAKE2-256 | ca6cc49c406fff688e8ae460bdfbc961a3414b37d0b62c8c0796c3e7a2c47931 |
Hashes for unicon-21.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34a68bcaf33be2834573b95a102cef5f230824eb302602b9a79c0de8ec778dee |
|
MD5 | 98fe47228f9476e60dd7969a9ead7360 |
|
BLAKE2-256 | eba3b07fa431a27a7745d90f13b9dd48d43ced2c55b3ffe1f094146fcd338cb2 |
Hashes for unicon-21.3-cp38-cp38-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8688fa1ae39336bec3adbe74af31575285c0a98909a669758ab943f7c0f4cd3 |
|
MD5 | bc8dc26380c6d81611d4ab42e70098d2 |
|
BLAKE2-256 | 756e22587e9c72ccfe316f71c456687c3963f321ea458e931f5209fcf3fdb02d |
Hashes for unicon-21.3-cp38-cp38-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347e34e5088f6382b59cd502a7c5d35f0d02e50aba558faeae2bac9f6eed5c5e |
|
MD5 | a2b899457ac7dff13a29d1fdcbc16a80 |
|
BLAKE2-256 | d1fd6d563ae2afa5bbd5c9f42919e903d349765880125eaa579a92cd497196a6 |
Hashes for unicon-21.3-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c80b4998c025321e56c6f0c5d71dc9a18e659958ce8a1b4f320143ccaef3410 |
|
MD5 | c7dfd020797dd5fda8b0d6f27bd01f87 |
|
BLAKE2-256 | 2dd3e0a514a37eb9974b6c405c9e5163a9265f7ce686961f866b95bd441be594 |
Hashes for unicon-21.3-cp39-cp39-macosx_10_10_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5befd1b388a84e5412d5c5404c828e330536c76a8993e03e6232b1b1d65f9f87 |
|
MD5 | cea65ef7ab037063aec08a3c51af9e2a |
|
BLAKE2-256 | 9ccaa1717c82da969eaaf156d097b8a090dbe74a7caf0a967dd18a005cb54f23 |
Hashes for unicon-21.3-cp39-cp39-macosx_10_16_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51e79537392aabc960e4337e5dd3285dddac0c5e0072109a14d4685f7c8575df |
|
MD5 | a197f2aa6f542db3dfae512056a5842b |
|
BLAKE2-256 | bf1672f1770e21451dffd123f62661e1e6627b0eebb6cbe7107ac29dfa2a9d4d |
Hashes for unicon-21.3-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b7b207e8dfeab43b34689eae8498c89d16e4306227d64765caec2809c45bb9e |
|
MD5 | 00ef015b9b16f90e3b4ea7974f30a47d |
|
BLAKE2-256 | 28f14477e22ae5d6f4ed13de34733b7c15d17f31c1ecd39bf55a4594d26eb7b2 |