Project: unicon

Unicon Connection Library

Project Details

Latest version
23.11
Home Page
https://developer.cisco.com/pyats/
PyPI Page
https://pypi.org/project/unicon/

Project Popularity

PageRank
0.0030066280711599654
Number of downloads
51896

Unicon - Universal Connection Library

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.

.. _Cisco pyATS: https://developer.cisco.com/site/pyats/

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/

.. _Cisco DevNet: https://developer.cisco.com/

Requirements

  • Linux/macOS/WSL
  • Python 3.4+

Quick Start

.. code-block:: bash

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.

.. _Virtual Environment and Packages: https://docs.python.org/3/tutorial/venv.html

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.