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.
Raw data
{
"_id": null,
"home_page": "https://developer.cisco.com/pyats/",
"name": "unicon",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "unicon connection pyats cisco",
"author": "Cisco Systems Inc.",
"author_email": "pyats-support-ext@cisco.com",
"download_url": null,
"platform": null,
"description": "Unicon - Universal Connection Library\n=====================================\n\nUnicon is a package aiming to provide a unified connection experience to network\ndevices through typical command-line management interface. By wrapping the \nunderlying session (eg, telnet, ssh), Unicon provides:\n\n- direct and proxied connections through any common CLI interface (telnet, ssh, serial etc)\n- power of expect-like programming without having to deal with low-level logic\n- multi-vendor support through an agnostic API interface\n- seamless handling of CLI modes (eg, enable, configure, admin-configure mode)\n- rejected commands, command error detections\n- value-add statful services (specific to the platform)\n\nand is extensible: platform supports and services are implemented via \nopen-source plugins.\n\nUnicon is the standard, go-to CLI connection implementation for `Cisco pyATS`_\nframework.\n\n.. _Cisco pyATS: https://developer.cisco.com/site/pyats/\n\nThis package was initially developed internally in Cisco, and is now \nrelease to the general public starting late 2017 through `Cisco DevNet`_. \n\n https://developer.cisco.com/pyats/\n \n.. _Cisco DevNet: https://developer.cisco.com/\n\n\nRequirements\n------------\n\n- Linux/macOS/WSL\n- Python 3.4+\n\nQuick Start\n-----------\n\n.. code-block:: bash\n\n bash$ pip install unicon\n\n\nFor more information on setting up your Python development environment,\nsuch as creating virtual environment and installing ``pip`` on your system, \nplease refer to `Virtual Environment and Packages`_ in Python tutorials.\n\n.. _Virtual Environment and Packages: https://docs.python.org/3/tutorial/venv.html\n\nExamples\n--------\n\nSee example of a Unicon connection usage with Cisco IOS devices at:\n\n https://github.com/CiscoDevNet/pyats-ios-sample\n\nIn addition, there is a sample plugin package you can follow to develop Unicon\nplugins for new platforms on top of Unicon:\n\n https://github.com/CiscoDevNet/pyats-plugin-examples/tree/master/unicon_plugin_example\n\nSupport & Community\n-------------------\n\nSee https://developer.cisco.com/docs/pyats/#!license-support page for details.\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Unicon Connection Library",
"version": "24.10",
"project_urls": {
"Homepage": "https://developer.cisco.com/pyats/"
},
"split_keywords": [
"unicon",
"connection",
"pyats",
"cisco"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1562054ed57d844631ce1a5c4c88f949235012c95d28067baee6565872aa9e93",
"md5": "c62837f12ccf3759e806eacc603093f0",
"sha256": "5c3a8636200acbae627e68d19569b7e3f970a593565480ea01b7beab01b4eacd"
},
"downloads": -1,
"filename": "unicon-24.10-cp310-cp310-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "c62837f12ccf3759e806eacc603093f0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 5301229,
"upload_time": "2024-10-28T15:01:11",
"upload_time_iso_8601": "2024-10-28T15:01:11.749550Z",
"url": "https://files.pythonhosted.org/packages/15/62/054ed57d844631ce1a5c4c88f949235012c95d28067baee6565872aa9e93/unicon-24.10-cp310-cp310-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "41300a8e22eb440415ec92d24b5155f8187bf55202252226325c526be6b6c92e",
"md5": "ae7d2b0f6113b77911187ea538140398",
"sha256": "d8918603acf231e7d268746afe4c5058ef4134ec9761778370e4bcf6dda415ed"
},
"downloads": -1,
"filename": "unicon-24.10-cp310-cp310-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "ae7d2b0f6113b77911187ea538140398",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 14229589,
"upload_time": "2024-10-28T15:01:18",
"upload_time_iso_8601": "2024-10-28T15:01:18.262197Z",
"url": "https://files.pythonhosted.org/packages/41/30/0a8e22eb440415ec92d24b5155f8187bf55202252226325c526be6b6c92e/unicon-24.10-cp310-cp310-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d4841a91a2ab935c675617dd567624dc80c8e52b35f5a873cd7bb22a275d48e4",
"md5": "de42bf67eed7ccf4e6ded1535f20e283",
"sha256": "5980b21368044ae0c653abd7c134b9b256872de823fc60df8e06ff14b511dc4c"
},
"downloads": -1,
"filename": "unicon-24.10-cp311-cp311-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "de42bf67eed7ccf4e6ded1535f20e283",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 5353452,
"upload_time": "2024-10-28T15:01:22",
"upload_time_iso_8601": "2024-10-28T15:01:22.520955Z",
"url": "https://files.pythonhosted.org/packages/d4/84/1a91a2ab935c675617dd567624dc80c8e52b35f5a873cd7bb22a275d48e4/unicon-24.10-cp311-cp311-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f7389cc66b787a386a77a163b0e1df185795976b36e88b326ca05ebd20bde9bb",
"md5": "53835d71e4ea6e7ea6151894827ae1a3",
"sha256": "fa924fe9b25e466be32771c8c63feb4a2734f8f65202253aa50fcd56b31c1417"
},
"downloads": -1,
"filename": "unicon-24.10-cp311-cp311-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "53835d71e4ea6e7ea6151894827ae1a3",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 15986947,
"upload_time": "2024-10-28T15:01:29",
"upload_time_iso_8601": "2024-10-28T15:01:29.331327Z",
"url": "https://files.pythonhosted.org/packages/f7/38/9cc66b787a386a77a163b0e1df185795976b36e88b326ca05ebd20bde9bb/unicon-24.10-cp311-cp311-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7332de5dae018091f73f6b39253442da422b9f4a2a7cd9835988e060213fbe3c",
"md5": "fe0e9e24c5760434a49c56c7dcbea04b",
"sha256": "c6d7e328c072f99b5840ee782eeced97e953058aff3ec613f37356cd3dda6eb9"
},
"downloads": -1,
"filename": "unicon-24.10-cp312-cp312-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "fe0e9e24c5760434a49c56c7dcbea04b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 5305183,
"upload_time": "2024-10-28T15:01:33",
"upload_time_iso_8601": "2024-10-28T15:01:33.384104Z",
"url": "https://files.pythonhosted.org/packages/73/32/de5dae018091f73f6b39253442da422b9f4a2a7cd9835988e060213fbe3c/unicon-24.10-cp312-cp312-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b234c5ab6387ac9afcc95676e6aa966ac3fe11b237e1b4598073c519414a6bae",
"md5": "0ea72c15dc742b60ff8533cd3e939e33",
"sha256": "ab490a0807ad0c87db0ce3a2d6b60479fa93c18ef26d06fa34e1c3bcfd483d32"
},
"downloads": -1,
"filename": "unicon-24.10-cp312-cp312-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "0ea72c15dc742b60ff8533cd3e939e33",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 15883154,
"upload_time": "2024-10-28T15:01:40",
"upload_time_iso_8601": "2024-10-28T15:01:40.331440Z",
"url": "https://files.pythonhosted.org/packages/b2/34/c5ab6387ac9afcc95676e6aa966ac3fe11b237e1b4598073c519414a6bae/unicon-24.10-cp312-cp312-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48db41a6095eed96313f37ed31fb1069cc5ed9403f597186be7d949b4de5a461",
"md5": "6f4e4fb37dc60984d920cfc323e25364",
"sha256": "3f38e7991a128dbd7c3d8623288f1a3162754c207479c371be7549861600a1e6"
},
"downloads": -1,
"filename": "unicon-24.10-cp38-cp38-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "6f4e4fb37dc60984d920cfc323e25364",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 5312596,
"upload_time": "2024-10-28T15:01:44",
"upload_time_iso_8601": "2024-10-28T15:01:44.071880Z",
"url": "https://files.pythonhosted.org/packages/48/db/41a6095eed96313f37ed31fb1069cc5ed9403f597186be7d949b4de5a461/unicon-24.10-cp38-cp38-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f90f4bec5f202ee662fb1ee7bef9def697339fdcab9bc07d649d03f0852933ff",
"md5": "696753c0e3205df179b38e35bcd64faf",
"sha256": "b1dc34698c00b4ee22831d6a6251c7f504cb7cfd5dec72b301911d58a1ceb507"
},
"downloads": -1,
"filename": "unicon-24.10-cp38-cp38-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "696753c0e3205df179b38e35bcd64faf",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.8",
"size": 14661654,
"upload_time": "2024-10-28T15:01:50",
"upload_time_iso_8601": "2024-10-28T15:01:50.117162Z",
"url": "https://files.pythonhosted.org/packages/f9/0f/4bec5f202ee662fb1ee7bef9def697339fdcab9bc07d649d03f0852933ff/unicon-24.10-cp38-cp38-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0fd67c037490b21bbde10be505dbf533f6e7fff04071c0770f3d461fb822c5a8",
"md5": "1ab45dded84d9ddf65104f645c7c4f73",
"sha256": "005c920c4462e325205db0cfd2a291d7bcb9521a0062912ceedc0425626eda43"
},
"downloads": -1,
"filename": "unicon-24.10-cp39-cp39-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "1ab45dded84d9ddf65104f645c7c4f73",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 5304915,
"upload_time": "2024-10-28T15:01:53",
"upload_time_iso_8601": "2024-10-28T15:01:53.863887Z",
"url": "https://files.pythonhosted.org/packages/0f/d6/7c037490b21bbde10be505dbf533f6e7fff04071c0770f3d461fb822c5a8/unicon-24.10-cp39-cp39-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d05eb4160edf06bf28b1f27ad4a37e9a78d4719cf2b26b21e4160f85f619ea1",
"md5": "6772a7eb9aca89510661f1e4eb87b31a",
"sha256": "8fb6f0b6bf9c7b7773cb0a1f8cce4ec8ab41b27fd0e007091299475665d47ce5"
},
"downloads": -1,
"filename": "unicon-24.10-cp39-cp39-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "6772a7eb9aca89510661f1e4eb87b31a",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 14204413,
"upload_time": "2024-10-28T15:02:00",
"upload_time_iso_8601": "2024-10-28T15:02:00.029398Z",
"url": "https://files.pythonhosted.org/packages/3d/05/eb4160edf06bf28b1f27ad4a37e9a78d4719cf2b26b21e4160f85f619ea1/unicon-24.10-cp39-cp39-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-28 15:01:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "unicon"
}