Skip to main content

Unicon Connection Library

Project description

Unicon is a framework for developing device control libraries for routers, switches and servers and the likes. It is developed purely in Python, and aims to reduce the amount of boiler-plate coding required to handle device connections in Expect-like progamming. Unicon is designed to integrate as the default device connection class in Cisco pyATS, and as well can be used stand-alone if required.

Unicon is initially developed internally in Cisco, and is now available to the general public starting late 2017 through Cisco DevNet.

As a framework, Unicon provides a set of classes and settings which can be further sub-classed to create platform specific implementations.

One of the main design goals of unicon is DRY (Do Not Repeat Yourself). Hence the base classes handle all the common stuff which are applicable to all the platforms. This makes it very easy for a developer to implement connection library (via plugins) for new platforms, as they only ends up writing the differential code.

Requirements

Unicon currently supports Python 3.4+ on Linux & Mac systems. Windows platforms are not yet supported.

Quick Start

$ pip install --upgrade 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

Join us at our DevNet community for support:

https://communities.cisco.com/community/developer/pyats

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.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

unicon-19.0.2-cp37-cp37m-manylinux1_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.7m

unicon-19.0.2-cp37-cp37m-macosx_10_10_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.7m macOS 10.10+ x86-64

unicon-19.0.2-cp36-cp36m-manylinux1_x86_64.whl (7.8 MB view hashes)

Uploaded CPython 3.6m

unicon-19.0.2-cp36-cp36m-macosx_10_10_x86_64.whl (2.5 MB view hashes)

Uploaded CPython 3.6m macOS 10.10+ x86-64

unicon-19.0.2-cp35-cp35m-manylinux1_x86_64.whl (7.5 MB view hashes)

Uploaded CPython 3.5m

unicon-19.0.2-cp35-cp35m-macosx_10_10_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.5m macOS 10.10+ x86-64

unicon-19.0.2-cp34-cp34m-manylinux1_x86_64.whl (7.5 MB view hashes)

Uploaded CPython 3.4m

unicon-19.0.2-cp34-cp34m-macosx_10_10_x86_64.whl (2.2 MB view hashes)

Uploaded CPython 3.4m macOS 10.10+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page