# cisco-nso-restconf
## Overview
This Python library provides an interface for interacting with the Cisco Network Services Orchestrator (NSO) RESTCONF API.
## Features
* **RESTCONF API Access:** Use the [NSORestconfClient](cisco_nso_restconf/client.py) class to make raw GET, POST, & DELETE requests to any RESTCONF ```/data``` resource.
* **Utility Classes:** Use pre-built helper classes, such as the [Devices](cisco_nso_restconf/devices.py) class, to simplify common operations, like fetching all device NED ID's.
## Requirements
* NSO RESTCONF Configuration
* To use this library, RESTCONF must be enabled in NSO. Please refer to the documentation specific to the NSO version being used to determine how to enable RESTCONF in NSO.
## Installation
You can install the library using pip:
```bash
pip install cisco-nso-restconf
```
## Client Class
Use the [NSORestconfClient](cisco_nso_restconf/client.py) class to interact with the NSO RESTCONF API ```/data``` resource
### Methods Supported
* GET, POST, DELETE
## Utility Classes
To make the process easier, the library also provides utility classes for specific tasks. For example, the [Devices](cisco_nso_restconf/devices.py) class simplifies interaction with ```tailf-ncs:devices``` RESTCONF resources.
### Available Utility Classes
| Class | Description |
|---------|--------------------------------------------------------|
| Devices | Interact with the NSO ```tailf-ncs:devices``` resource |
### Closing Sessions
When using the NSORestconfClient, it’s important to close the session when you’re done to free up resources. You can do this using the close() method, as shown in the examples above.
## Examples
There are a number of [examples](examples) provided for utilizing the Client classes and various Helper classes, such as the ```Devices``` class. The examples are intended to showcase basic use cases/workflows for acheiving a specific function in NSO, such as retreiving NED ID's, device groups, life cycle of a VLAN resource, life cycle of a service, and so on.
## Contributing
We welcome contributions! Feel free to open issues or submit pull requests. For development, we recommend using Poetry to manage dependencies and packaging.
```shell
poetry install
```
## License
This project is licensed under the MIT License.
Raw data
{
"_id": null,
"home_page": "https://github.com/dbono711/cisco-nso-restconf",
"name": "cisco-nso-restconf",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "RESTCONF, Cisco, NSO, client, API",
"author": "Darren Bono",
"author_email": "dbono215@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/ba/52/63cc4bf17828221c1cb2a300acfc6e183376452632395b9c2faa3f9756c1/cisco_nso_restconf-1.0.1.tar.gz",
"platform": null,
"description": "# cisco-nso-restconf\n\n## Overview\n\nThis Python library provides an interface for interacting with the Cisco Network Services Orchestrator (NSO) RESTCONF API.\n\n## Features\n\n* **RESTCONF API Access:** Use the [NSORestconfClient](cisco_nso_restconf/client.py) class to make raw GET, POST, & DELETE requests to any RESTCONF ```/data``` resource.\n* **Utility Classes:** Use pre-built helper classes, such as the [Devices](cisco_nso_restconf/devices.py) class, to simplify common operations, like fetching all device NED ID's.\n\n## Requirements\n\n* NSO RESTCONF Configuration\n * To use this library, RESTCONF must be enabled in NSO. Please refer to the documentation specific to the NSO version being used to determine how to enable RESTCONF in NSO.\n\n## Installation\n\nYou can install the library using pip:\n\n```bash\npip install cisco-nso-restconf\n```\n\n## Client Class\n\nUse the [NSORestconfClient](cisco_nso_restconf/client.py) class to interact with the NSO RESTCONF API ```/data``` resource\n\n### Methods Supported\n\n* GET, POST, DELETE\n\n## Utility Classes\n\nTo make the process easier, the library also provides utility classes for specific tasks. For example, the [Devices](cisco_nso_restconf/devices.py) class simplifies interaction with ```tailf-ncs:devices``` RESTCONF resources.\n\n### Available Utility Classes\n\n| Class | Description |\n|---------|--------------------------------------------------------|\n| Devices | Interact with the NSO ```tailf-ncs:devices``` resource |\n\n### Closing Sessions\n\nWhen using the NSORestconfClient, it\u2019s important to close the session when you\u2019re done to free up resources. You can do this using the close() method, as shown in the examples above.\n\n## Examples\n\nThere are a number of [examples](examples) provided for utilizing the Client classes and various Helper classes, such as the ```Devices``` class. The examples are intended to showcase basic use cases/workflows for acheiving a specific function in NSO, such as retreiving NED ID's, device groups, life cycle of a VLAN resource, life cycle of a service, and so on.\n\n## Contributing\n\nWe welcome contributions! Feel free to open issues or submit pull requests. For development, we recommend using Poetry to manage dependencies and packaging.\n\n```shell\npoetry install\n```\n\n## License\n\nThis project is licensed under the MIT License.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Python client library for interacting with the Cisco NSO RESTCONF API",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/dbono711/cisco-nso-restconf",
"Repository": "https://github.com/dbono711/cisco-nso-restconf"
},
"split_keywords": [
"restconf",
" cisco",
" nso",
" client",
" api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1106e47fb157453d9f31c3752ba5868004f4923311ed2f750ec92b4fa780229e",
"md5": "5008bc6d02660e2eec4d604be558dac5",
"sha256": "731c4d665b1547a5701cebbc74bec2cea7605de0f3efb1fe18f84ab8c48505b0"
},
"downloads": -1,
"filename": "cisco_nso_restconf-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5008bc6d02660e2eec4d604be558dac5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 7500,
"upload_time": "2024-11-02T20:56:18",
"upload_time_iso_8601": "2024-11-02T20:56:18.199033Z",
"url": "https://files.pythonhosted.org/packages/11/06/e47fb157453d9f31c3752ba5868004f4923311ed2f750ec92b4fa780229e/cisco_nso_restconf-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ba5263cc4bf17828221c1cb2a300acfc6e183376452632395b9c2faa3f9756c1",
"md5": "b74eb39933ba852a9f0945a1da44fdb2",
"sha256": "dd8195b9c324a568562ea6a14d6b9c5ef043c4a8443f0357af89c163353ef11c"
},
"downloads": -1,
"filename": "cisco_nso_restconf-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "b74eb39933ba852a9f0945a1da44fdb2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 6454,
"upload_time": "2024-11-02T20:56:19",
"upload_time_iso_8601": "2024-11-02T20:56:19.503009Z",
"url": "https://files.pythonhosted.org/packages/ba/52/63cc4bf17828221c1cb2a300acfc6e183376452632395b9c2faa3f9756c1/cisco_nso_restconf-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-02 20:56:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "dbono711",
"github_project": "cisco-nso-restconf",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "cisco-nso-restconf"
}