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.11",
"project_urls": {
"Homepage": "https://developer.cisco.com/pyats/"
},
"split_keywords": [
"unicon",
"connection",
"pyats",
"cisco"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8489d2ba4d596e3c126ac2eb4929c02ff4a93106f9df772b7095a304fce19483",
"md5": "cd39ce18f2172ac0b463938c9f175b75",
"sha256": "14410c3c17845eda7c08fc0b716c4c051a4cffa60294eaa7416648ad3db3069f"
},
"downloads": -1,
"filename": "unicon-24.11-cp310-cp310-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "cd39ce18f2172ac0b463938c9f175b75",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 5306682,
"upload_time": "2024-11-27T21:47:26",
"upload_time_iso_8601": "2024-11-27T21:47:26.669268Z",
"url": "https://files.pythonhosted.org/packages/84/89/d2ba4d596e3c126ac2eb4929c02ff4a93106f9df772b7095a304fce19483/unicon-24.11-cp310-cp310-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "17c6923b2cb045dbc998fc396ccdee256e8e644d47f0716a37d736c727d9b6be",
"md5": "b10d566a1d322ddfdbfcf63352e77a77",
"sha256": "881fcb9234789e5e56dc6a3fa998f79990efb85c3ce19d473be03790d9cf5333"
},
"downloads": -1,
"filename": "unicon-24.11-cp310-cp310-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "b10d566a1d322ddfdbfcf63352e77a77",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 14245334,
"upload_time": "2024-11-27T21:47:31",
"upload_time_iso_8601": "2024-11-27T21:47:31.817669Z",
"url": "https://files.pythonhosted.org/packages/17/c6/923b2cb045dbc998fc396ccdee256e8e644d47f0716a37d736c727d9b6be/unicon-24.11-cp310-cp310-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cd01ceadcc9e1b8e1c605f0844189d7141dcd686b2f4b532f321f45c821a93f0",
"md5": "0e4a0125585c6fed5dfc8fc2d33bb23f",
"sha256": "708da034d2c51ea804832fc6b19e106e5deb025607fb96b79b7ba5096922081e"
},
"downloads": -1,
"filename": "unicon-24.11-cp310-cp310-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "0e4a0125585c6fed5dfc8fc2d33bb23f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.8",
"size": 13667228,
"upload_time": "2024-11-27T21:47:37",
"upload_time_iso_8601": "2024-11-27T21:47:37.929041Z",
"url": "https://files.pythonhosted.org/packages/cd/01/ceadcc9e1b8e1c605f0844189d7141dcd686b2f4b532f321f45c821a93f0/unicon-24.11-cp310-cp310-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f982d67badfec64a4764f4bcd9e3da93b2d42f2a85d6462bdd5d0c751a027bb7",
"md5": "8ad8507545542b47060ad2d30cbd0007",
"sha256": "cba3c64d0e81ab37280b681e89300f0ce631f60a2459e932f68378f63fb407ab"
},
"downloads": -1,
"filename": "unicon-24.11-cp311-cp311-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "8ad8507545542b47060ad2d30cbd0007",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 5358532,
"upload_time": "2024-11-27T21:47:42",
"upload_time_iso_8601": "2024-11-27T21:47:42.274677Z",
"url": "https://files.pythonhosted.org/packages/f9/82/d67badfec64a4764f4bcd9e3da93b2d42f2a85d6462bdd5d0c751a027bb7/unicon-24.11-cp311-cp311-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9a5fcfe2f4693561b508d98a50f657a1149bfd4d62402f79331ece02cfc1f1a8",
"md5": "04902acceec11b6551c425cc5c58f749",
"sha256": "c12fd271d2d6c4225cfc22d8484dd00552067e3f1507b49abaf073780137ea6d"
},
"downloads": -1,
"filename": "unicon-24.11-cp311-cp311-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "04902acceec11b6551c425cc5c58f749",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 15999207,
"upload_time": "2024-11-27T21:47:48",
"upload_time_iso_8601": "2024-11-27T21:47:48.194001Z",
"url": "https://files.pythonhosted.org/packages/9a/5f/cfe2f4693561b508d98a50f657a1149bfd4d62402f79331ece02cfc1f1a8/unicon-24.11-cp311-cp311-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a2b2cef9de127d8fb85fc19de28361c54e47d3ba1bdbd40216a900c2315b9c88",
"md5": "2c4e95e19e9c5171be4c34d05bb986de",
"sha256": "5b0edde246afce1676c466b6880ca5fb84a38b37de425c873f50c2fb7dacf9ed"
},
"downloads": -1,
"filename": "unicon-24.11-cp311-cp311-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2c4e95e19e9c5171be4c34d05bb986de",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.8",
"size": 14806977,
"upload_time": "2024-11-27T21:47:54",
"upload_time_iso_8601": "2024-11-27T21:47:54.355760Z",
"url": "https://files.pythonhosted.org/packages/a2/b2/cef9de127d8fb85fc19de28361c54e47d3ba1bdbd40216a900c2315b9c88/unicon-24.11-cp311-cp311-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fe5929f0772745daf4fbfee403d7af01694ba4ad5fe9fda41f8f2cac2373924a",
"md5": "f3451b7180fa6b0848a6e6bbe6c20005",
"sha256": "4c2c3c56e76254a31fa17170cfd930f873edb9e2e167ebbf56cf497def9c952a"
},
"downloads": -1,
"filename": "unicon-24.11-cp312-cp312-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "f3451b7180fa6b0848a6e6bbe6c20005",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 5310248,
"upload_time": "2024-11-27T21:47:57",
"upload_time_iso_8601": "2024-11-27T21:47:57.574310Z",
"url": "https://files.pythonhosted.org/packages/fe/59/29f0772745daf4fbfee403d7af01694ba4ad5fe9fda41f8f2cac2373924a/unicon-24.11-cp312-cp312-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "18224ec06a16c1483c27e2815984a165cbb0f59c894e0dc1f9c7db9c5d5ed95f",
"md5": "177204cd9c20de10f422ed3494474e03",
"sha256": "ca10cff8208031e1b7a290f90ea3e4979625278fc2e0ede60b8bcfdc1f4c4c3f"
},
"downloads": -1,
"filename": "unicon-24.11-cp312-cp312-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "177204cd9c20de10f422ed3494474e03",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 15902555,
"upload_time": "2024-11-27T21:48:02",
"upload_time_iso_8601": "2024-11-27T21:48:02.690711Z",
"url": "https://files.pythonhosted.org/packages/18/22/4ec06a16c1483c27e2815984a165cbb0f59c894e0dc1f9c7db9c5d5ed95f/unicon-24.11-cp312-cp312-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8168c82c0e11612fdf56277555af231626c04472a2d6c829e136faed8b531b15",
"md5": "7d052f9b905e84633d9b7ee80bc24e1f",
"sha256": "328bf96efe3a24145336c737da8591d90c61d76ee0cb8685d950fa63c0856417"
},
"downloads": -1,
"filename": "unicon-24.11-cp312-cp312-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "7d052f9b905e84633d9b7ee80bc24e1f",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.8",
"size": 14790129,
"upload_time": "2024-11-27T21:48:08",
"upload_time_iso_8601": "2024-11-27T21:48:08.884549Z",
"url": "https://files.pythonhosted.org/packages/81/68/c82c0e11612fdf56277555af231626c04472a2d6c829e136faed8b531b15/unicon-24.11-cp312-cp312-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09fc3e19225eb99589346fb94aa0ebe842fc299e708a21dbf774c2b1d8548ef0",
"md5": "56c939143bd055ab64c8b0ddd0e00520",
"sha256": "394aace23671f73f4193d1a1366b4b55d23a15adc6a632a7c1d6314e7792b9aa"
},
"downloads": -1,
"filename": "unicon-24.11-cp39-cp39-macosx_11_0_universal2.whl",
"has_sig": false,
"md5_digest": "56c939143bd055ab64c8b0ddd0e00520",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 5310248,
"upload_time": "2024-11-27T21:48:11",
"upload_time_iso_8601": "2024-11-27T21:48:11.906309Z",
"url": "https://files.pythonhosted.org/packages/09/fc/3e19225eb99589346fb94aa0ebe842fc299e708a21dbf774c2b1d8548ef0/unicon-24.11-cp39-cp39-macosx_11_0_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3b876bc2f38a600ce6fd5f631feb3d9c3241972b7fea601351b543d61a5f8a85",
"md5": "361cc7628ea6e7d9ff7b9cc8ed4a00c4",
"sha256": "0c43769c45cadd485516268070d083d4f61af1ea43d9d761a5a61018ad75eb41"
},
"downloads": -1,
"filename": "unicon-24.11-cp39-cp39-manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "361cc7628ea6e7d9ff7b9cc8ed4a00c4",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 14221095,
"upload_time": "2024-11-27T21:48:16",
"upload_time_iso_8601": "2024-11-27T21:48:16.933834Z",
"url": "https://files.pythonhosted.org/packages/3b/87/6bc2f38a600ce6fd5f631feb3d9c3241972b7fea601351b543d61a5f8a85/unicon-24.11-cp39-cp39-manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "836902787695f3d7f27d521b0267dea2cda18e93583e3534dfaba1a8ac7f69a6",
"md5": "3e6a123bffe13a10627a258147b2f4c6",
"sha256": "14eaf12c704448299db43597a5b18e6cf1499fd2e0d9731363645269500ae597"
},
"downloads": -1,
"filename": "unicon-24.11-cp39-cp39-manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3e6a123bffe13a10627a258147b2f4c6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 13654760,
"upload_time": "2024-11-27T21:48:22",
"upload_time_iso_8601": "2024-11-27T21:48:22.017251Z",
"url": "https://files.pythonhosted.org/packages/83/69/02787695f3d7f27d521b0267dea2cda18e93583e3534dfaba1a8ac7f69a6/unicon-24.11-cp39-cp39-manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7908e6631197562b07c3c83a5f4079701af287e37d889e9a759aab557d477938",
"md5": "9856902855de060700598eb3c59e7e22",
"sha256": "f67c8ac59d5516da03a541bd170c2fc259864c59d67989c35acbeba3d4d71679"
},
"downloads": -1,
"filename": "unicon-24.11-cp39-cp39-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "9856902855de060700598eb3c59e7e22",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.8",
"size": 3033381,
"upload_time": "2024-11-27T21:48:25",
"upload_time_iso_8601": "2024-11-27T21:48:25.413465Z",
"url": "https://files.pythonhosted.org/packages/79/08/e6631197562b07c3c83a5f4079701af287e37d889e9a759aab557d477938/unicon-24.11-cp39-cp39-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-27 21:47:26",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "unicon"
}