SDK to use ONAP Programatically
Project description
Python ONAP SDK
an SDK to use ONAP programmatically with Python code
Description
ONAP SDK is a client library written in Python for building applications to work with ONAP. The project aims to provide a consistent and complete set of interactions with ONAP’s many services, along with complete documentation, examples, and tools.
Using few python commands, you should be able to onboard, distribute models, instantiate xNFs and many others. Check doc site to find out all the features.
Installation
You can install it using pip
tool
$ pip install onapsdk
Development
Before you start, ensure you have Python installation in version 3.8 or higher. Please see the official Python documentation in case you have to upgrade or install certain Python version.
Setting up development environment
Clone the project. Inside the project folder create a new virtual environment and activate it:
$ python -m venv env
$ source env/bin/activate
On Windows, activate by executing the following:
$ .\env\Scripts\activate
When your virtual environment is ready, install required dependencies:
$ pip install -r requirements.txt
Developing
To use library functions directly from the source code, execute the following to point to the source folder in PYTHONPATH variable and run the interpreter:
$ PYTHONPATH=$PYTHONPATH:src/ python
On Windows:
$ $env:PYTHONPATH='src\';python
Verify that packages are accessible:
>>> import onapsdk
You can then start working with library functions as needed.
Testing
Install tox:
$ pip install tox
To run all unit test, lint and docstyle checks, inside the project folder simply execute tox:
$ tox
Please note that the above runs unit tests on all major versions of Python available on your OS (3.7, 3.8, 3.9). To limit execution to only specific version of Python interpreter, use the following example:
$ tox -e py38
Integration testing
It is possible to run integration tests using mock-servers project. Make sure Docker Compose is available on your system. Install required dependencies:
$ pip install pytest mock
Go to integration_tests/ directory and execute:
$ docker-compose up
Please note that docker-compose attempts to create subnet 172.20.0.0/24, so it can not be run if the scope is already allocated. Also, containers are not reachable by their IP addresses on Windows host since Docker for Windows does not support bridged network interface for Linux containers.
Once containers are running, execute the following in the project's directory:
$ PYTHONPATH=$PYTHONPATH:integration_tests/:src/ ONAP_PYTHON_SDK_SETTINGS="local_urls" pytest -c /dev/null --verbose --junitxml=pytest-integration.xml integration_tests
Please make sure all the test are passing before creating merge request.
Python ONAP SDK Changelog
v1.0
Main new features:
- Onboard a simple service via SDC
- Instantiate a simple service via SO using GR API
- Instantiate a simple service via NBI
- create business objects in AAI
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file onapsdk-13.2.0-py3-none-any.whl
.
File metadata
- Download URL: onapsdk-13.2.0-py3-none-any.whl
- Upload date:
- Size: 281.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30a894030c89e3f8d6af81b9a62e82e4bafe4f0affffa278671184b3be0a0425 |
|
MD5 | 7a1a2d47f76ceaf227f93995bb41b452 |
|
BLAKE2b-256 | b43bdbba264cd3d8e512204fede4989a8626aead438ca0fdc934eece76da3d38 |