[](https://github.com/CiscoDevNet/virl2-client/actions/workflows/main.yml)
# VIRL 2 Client Library
> **Note:** The product has been renamed from *VIRL* to *Cisco Modeling Labs* /
> CML 2. References to VIRL still exist in the product documentation and within
> code or examples.
>
> The name of the package itself has not been changed. Throughout the
> documentation it is referred to as "virl2_client", "Python Client Library" or
> "PCL".
## Introduction
This is the client library for the *Cisco Modeling Labs* Platform
(`virl2_client`). It provides a Python package to programmatically create,
edit, delete and control network simulations on a CML 2 controller.
It is a pure Python implementation that requires Python 3. We've tested and
written the package with Python 3.8.10.
The status of the package can be considered **stable**. Issues with the
software should be raised via the [GitHub issue
tracker](https://github.com/CiscoDevNet/virl2-client/issues).
## Use Case Description
The client library provides a convenient interface to control the life-cycle of
a network simulation. This can be used for automation scripts directly in
Python but also for third party integrations / plugins which need to integrate
with a simulated network. Examples already existing are an [Ansible
plugin](https://github.com/CiscoDevNet/ansible-virl).
## Installation
The package comes in form of a wheel that is downloadable from the CML
2 controller. The package can be installed either from PyPI using
pip3 install virl2_client
If you want to interact with devices via the client library, you need to
also install the pyATS library. This can be achieved in one go using
```
pip3 install "virl2_client[pyats]"
```
Note that this does *not* pull in the full pyATS package... See below how that is achieved.
or, alternatively, the version that is bundled with the CML 2 controller can
be downloaded to the local filesystem and then directly installed via
pip3 install ./virl2_client-*.whl
The bundled version is available on the index site of the docs when viewed
directly on the CML 2 controller.
Ensure to replace and/or use the correct file name, replacing the wildcard with the
proper version/build information. For example
pip3 install virl2_client-2.0.0b10-py3-none-any.whl
We recommend the use of a virtual environment for installation.
If you require the full version of the pyATS library including things like Genie
then you need to do this in a subsequent step like shown here:
pip3 install "pyats[full]"
> **IMPORTANT**: The version of the Python client library must be compatible
> with the version of the controller. If you are running an older controller
> version then it's likely that the latest client library version from PyPI can
> **not** be used. In this case, you need to either use the version available
> from the controller itself or by specifying a version constraint.
>
> Example: When on a controller version 2.2.x, then you'd need to install with
> `pip3 install "virl2-client<2.3.0"`. This will ensure that the version
> installed is compatible with 2.2.x.
## Usage
The package itself is fairly well documented using *docstrings*. In addition, the
documentation is available in HTML format on the controller itself, via the
"Tools -> Client Library" menu.
## Compatibility
This package and the used API is specific to CML 2. It is not
backwards compatible with VIRL 1.x and therefore can not be used with VIRL
1.x. If you are looking for a convenient tool to interface with the VIRL 1 API
then the [CML Utils tool](https://github.com/CiscoDevNet/virlutils) is
recommended.
## Known Issues
There are no major known issues at this point. See the comment in the *Introduction*
section. Also, see the *Issues* section in GitHub to learn about known issues or raise new ones, if needed. Also see [CHANGES](CHANGES.md).
## Getting Help
If you have questions, concerns, bug reports, etc., please create an issue
against the [repository on
GitHub](https://github.com/CiscoDevNet/virl2-client/)
## Getting Involved
We welcome contributions. Whether you fixed a bug, added a new feature or
corrected a typo, all contributions are welcome. General instructions on how to
contribute can be found in the [CONTRIBUTING](CONTRIBUTING.md) file.
## Licensing Info
This code is licensed under the Apache 2.0 License. See [LICENSE](LICENSE) for
details.
## References
This package is part of the CML 2 Network Simulation platform. For details, go
to <https://developer.cisco.com/modeling-labs>. Additional documentation for the
product is available at <https://developer.cisco.com/docs/modeling-labs>
Raw data
{
"_id": null,
"home_page": "https://github.com/ciscodevnet/virl2-client",
"name": "virl2-client",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8.1,<4.0.0",
"maintainer_email": "",
"keywords": "",
"author": "Simon Knight",
"author_email": "simknigh@cisco.com",
"download_url": "https://files.pythonhosted.org/packages/01/6d/51dcef717d03064f6e115e77ce8f110522036855503ca09283bf5bc39f0b/virl2_client-2.6.1.tar.gz",
"platform": null,
"description": "[](https://github.com/CiscoDevNet/virl2-client/actions/workflows/main.yml)\n\n# VIRL 2 Client Library\n\n> **Note:** The product has been renamed from *VIRL* to *Cisco Modeling Labs* /\n> CML 2. References to VIRL still exist in the product documentation and within\n> code or examples.\n>\n> The name of the package itself has not been changed. Throughout the\n> documentation it is referred to as \"virl2_client\", \"Python Client Library\" or\n> \"PCL\".\n\n## Introduction\n\nThis is the client library for the *Cisco Modeling Labs* Platform\n(`virl2_client`). It provides a Python package to programmatically create,\nedit, delete and control network simulations on a CML 2 controller.\n\nIt is a pure Python implementation that requires Python 3. We've tested and\nwritten the package with Python 3.8.10.\n\nThe status of the package can be considered **stable**. Issues with the\nsoftware should be raised via the [GitHub issue\ntracker](https://github.com/CiscoDevNet/virl2-client/issues).\n\n## Use Case Description\n\nThe client library provides a convenient interface to control the life-cycle of\na network simulation. This can be used for automation scripts directly in\nPython but also for third party integrations / plugins which need to integrate\nwith a simulated network. Examples already existing are an [Ansible\nplugin](https://github.com/CiscoDevNet/ansible-virl).\n\n## Installation\n\nThe package comes in form of a wheel that is downloadable from the CML\n2 controller. The package can be installed either from PyPI using\n\n pip3 install virl2_client\n\nIf you want to interact with devices via the client library, you need to\nalso install the pyATS library. This can be achieved in one go using\n\n```\npip3 install \"virl2_client[pyats]\"\n```\n\nNote that this does *not* pull in the full pyATS package... See below how that is achieved.\n\nor, alternatively, the version that is bundled with the CML 2 controller can\nbe downloaded to the local filesystem and then directly installed via\n\n pip3 install ./virl2_client-*.whl\n\nThe bundled version is available on the index site of the docs when viewed\ndirectly on the CML 2 controller.\n\nEnsure to replace and/or use the correct file name, replacing the wildcard with the\nproper version/build information. For example\n\n pip3 install virl2_client-2.0.0b10-py3-none-any.whl\n\nWe recommend the use of a virtual environment for installation.\n\nIf you require the full version of the pyATS library including things like Genie\nthen you need to do this in a subsequent step like shown here:\n\n pip3 install \"pyats[full]\"\n\n> **IMPORTANT**: The version of the Python client library must be compatible\n> with the version of the controller. If you are running an older controller\n> version then it's likely that the latest client library version from PyPI can\n> **not** be used. In this case, you need to either use the version available\n> from the controller itself or by specifying a version constraint.\n>\n> Example: When on a controller version 2.2.x, then you'd need to install with\n> `pip3 install \"virl2-client<2.3.0\"`. This will ensure that the version\n> installed is compatible with 2.2.x.\n\n## Usage\n\nThe package itself is fairly well documented using *docstrings*. In addition, the\ndocumentation is available in HTML format on the controller itself, via the\n\"Tools -> Client Library\" menu.\n\n## Compatibility\n\nThis package and the used API is specific to CML 2. It is not\nbackwards compatible with VIRL 1.x and therefore can not be used with VIRL\n1.x. If you are looking for a convenient tool to interface with the VIRL 1 API\nthen the [CML Utils tool](https://github.com/CiscoDevNet/virlutils) is\nrecommended.\n\n## Known Issues\n\nThere are no major known issues at this point. See the comment in the *Introduction*\nsection. Also, see the *Issues* section in GitHub to learn about known issues or raise new ones, if needed. Also see [CHANGES](CHANGES.md).\n\n## Getting Help\n\nIf you have questions, concerns, bug reports, etc., please create an issue\nagainst the [repository on\nGitHub](https://github.com/CiscoDevNet/virl2-client/)\n\n## Getting Involved\n\nWe welcome contributions. Whether you fixed a bug, added a new feature or\ncorrected a typo, all contributions are welcome. General instructions on how to\ncontribute can be found in the [CONTRIBUTING](CONTRIBUTING.md) file.\n\n## Licensing Info\n\nThis code is licensed under the Apache 2.0 License. See [LICENSE](LICENSE) for\ndetails.\n\n## References\n\nThis package is part of the CML 2 Network Simulation platform. For details, go\nto <https://developer.cisco.com/modeling-labs>. Additional documentation for the\nproduct is available at <https://developer.cisco.com/docs/modeling-labs>\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "VIRL2 Client Library",
"version": "2.6.1",
"project_urls": {
"Homepage": "https://github.com/ciscodevnet/virl2-client",
"Repository": "https://github.com/ciscodevnet/virl2-client"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dcd6f95b17d33b0449dd1945008ea99779eac544d99b80bd599aceaaa5d89ad0",
"md5": "f39d0df504b23a9c3a7a14e4fb34d505",
"sha256": "b97fd5b870d4fa5bbaa79aecc0a79e00bb58aa21f50b779894d8d7b711eb960c"
},
"downloads": -1,
"filename": "virl2_client-2.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f39d0df504b23a9c3a7a14e4fb34d505",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8.1,<4.0.0",
"size": 74991,
"upload_time": "2023-10-06T15:01:20",
"upload_time_iso_8601": "2023-10-06T15:01:20.444776Z",
"url": "https://files.pythonhosted.org/packages/dc/d6/f95b17d33b0449dd1945008ea99779eac544d99b80bd599aceaaa5d89ad0/virl2_client-2.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "016d51dcef717d03064f6e115e77ce8f110522036855503ca09283bf5bc39f0b",
"md5": "aaa55c8206189a47385775b12b1f8919",
"sha256": "b729604e50b91290d54027aa6e66f87fc2ca08cd496320e8ea62d258b4b90a95"
},
"downloads": -1,
"filename": "virl2_client-2.6.1.tar.gz",
"has_sig": false,
"md5_digest": "aaa55c8206189a47385775b12b1f8919",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8.1,<4.0.0",
"size": 58519,
"upload_time": "2023-10-06T15:01:22",
"upload_time_iso_8601": "2023-10-06T15:01:22.010225Z",
"url": "https://files.pythonhosted.org/packages/01/6d/51dcef717d03064f6e115e77ce8f110522036855503ca09283bf5bc39f0b/virl2_client-2.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-06 15:01:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ciscodevnet",
"github_project": "virl2-client",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "virl2-client"
}