Skip to main content

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

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