Skip to main content

Python ONAP SDK

an SDK to use ONAP programmatically with Python code

Maintainability Code Coverage Documentation Status

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.7 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 py37

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

Documentation

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onapsdk-8.6.0.tar.gz (117.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onapsdk-8.6.0-py3-none-any.whl (179.5 kB view details)

Uploaded Python 3

File details

Details for the file onapsdk-8.6.0.tar.gz.

File metadata

  • Download URL: onapsdk-8.6.0.tar.gz
  • Upload date:
  • Size: 117.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.8.2 requests/2.27.1 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.8.12

File hashes

Hashes for onapsdk-8.6.0.tar.gz
Algorithm Hash digest
SHA256 194e504d978392a32af2b848b7df86d16c106ef5f74d43635192a2719f995f98
MD5 4b4b3f82333a4c6f5b2b935043ac2107
BLAKE2b-256 1b238547a7d38d3daf5640ae49b1051a6037a95b7c207a3d86f303fe19954dd7

See more details on using hashes here.

File details

Details for the file onapsdk-8.6.0-py3-none-any.whl.

File metadata

  • Download URL: onapsdk-8.6.0-py3-none-any.whl
  • Upload date:
  • Size: 179.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.8.2 requests/2.27.1 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.8.12

File hashes

Hashes for onapsdk-8.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 07a5dd4947b72224119e003badc77ed5c84accba0867da6df3c0e8f1c72c50b5
MD5 ab7ebde605339734d271cc1f5b75aff7
BLAKE2b-256 8a0d5e8b8d854ae7a32a136e02be12977665a1cc4dba3335d3db637978a5524c

See more details on using hashes here.

Release history Release notifications | RSS feed

14.6.0

1 file

14.4.0

1 file

14.3.0

1 file

14.2.0

1 file

14.1.0

1 file

14.0.0

1 file

13.3.0

1 file

13.2.0

1 file

13.1.1

1 file

13.1.0

1 file

13.0.8

1 file

13.0.7

1 file

13.0.6

1 file

13.0.5

1 file

13.0.4

1 file

13.0.3

1 file

13.0.2

1 file

13.0.1

1 file

13.0.0

1 file

12.11.0

1 file

12.9.0

1 file

12.8.0

2 files

12.7.3

1 file

12.7.2

1 file

12.7.1

1 file

12.7.0

1 file

12.6.1

1 file

12.6.0

1 file

12.5.0

1 file

12.4.0

2 files

12.3.2

1 file

12.3.1

2 files

12.3.0

2 files

12.2.0

2 files

12.1.0

2 files

12.0.0

2 files

11.0.0

2 files

10.7.0

2 files

10.6.0

2 files

10.5.0

2 files

10.4.3

2 files

10.4.2

2 files

10.4.1

2 files

10.4.0

2 files

10.3.2

2 files

10.3.1

2 files

10.3.0

2 files

10.2.0

2 files

10.1.0

2 files

10.0.1

2 files

10.0.0

2 files

9.6.0

2 files

9.5.1

2 files

9.5.0

2 files

9.4.0

2 files

9.3.0

2 files

9.2.2

2 files

9.2.1

2 files

9.2.0

2 files

9.1.1

2 files

9.1.0

2 files

9.0.0

2 files

8.7.0

2 files

This release

8.6.0 This release

2 files

8.5.0

2 files

8.4.2

2 files

8.4.1

2 files

8.4.0

2 files

8.3.1

2 files

8.3.0

2 files

8.2.0

2 files

8.1.2

2 files

8.1.1

2 files

8.1.0

2 files

8.0.0

2 files

7.13.0

2 files

7.12.0

2 files

7.11.0

2 files

7.10.2

2 files

7.10.1

2 files

7.10.0

2 files

7.9.1

2 files

7.9.0

2 files

7.8.0

2 files

7.7.2

2 files

7.7.1

2 files

7.7.0

2 files

7.6.0

2 files

7.5.1

2 files

7.5.0

2 files

7.4.0

2 files

7.3.0

2 files

7.2.0

2 files

7.1.0

2 files

7.0.0

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page