Skip to main content

Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and Open RAN solutions.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

OpenSDK

Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and O-RAN solutions.

Features

  • Abstract CAMARA Transformation Functions (TFs)
  • Unified Python SDK for interacting with Edge Cloud platforms, 5G Core solutions, and O-RAN solutions.
  • Modular and extensible adapter structure

API & Platform Support Matrix

CAMARA APIs

API Name Version
Edge Application Management v0.9.3-wip
Quality-on-Demand v1.0.0
Location Retrieval v0.4.0
Traffic Influence v0.8.1

EdgeCloud Platforms

Platform Status
Kubernetes
i2Edge
aerOS

Network Adapters

Platform NEF Version QoD Location Retrieval Traffic Influence
Open5GS v1.2.3 TS 29.122 (v17.12.0)
Open5GCore v1.2.3 TS 29.122 (v17.12.0)
OAI v1.2.3 TS 29.122 (v17.12.0)

How to Use

Option 1: Install via PyPI

For end users:

pip install sunrise6g-opensdk

Option 2: Development Mode

If you plan to modify the SDK:

git clone https://github.com/SunriseOpenOperatorPlatform/open-sdk.git
cd open-sdk
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .

Basic Usage

You can use the SDK by simply specifying the adapters to be used. E.g. Edge Cloud Platform: i2Edge, 5G core: Open5Gs

Example available in /examples/example.py

python3 -m examples.example

How to Contribute

We welcome contributions to OpenSDK!

To get started:

  1. Fork the repository and create a branch from main.
  2. Add your changes in the appropriate adapter directory.
  3. Write or update tests for your changes.
  4. Ensure all tests and pre-commit checks pass.
  5. Submit a pull request with a clear description.

Please follow our full Contributing Guidelines for further details.


Example Workflow #1: App deployment over Kubernetes

sequenceDiagram
title Application Deployment using the Open SDK

actor AP as Application Vertical Provider
box Module implementing CAMARA APIs
    participant API as CAMARA Edge Application Management API
    participant SDK as Open SDK
end
participant K8s as Kubernetes

note over SDK: [Config] Edge Cloud platform: Kubernetes, IP, Port
API ->> SDK: from sunrise6g_opensdk import Sdk as sdkclient
API ->> SDK: sdkclient.create_adapters_from(configuration)
API ->> SDK: edgecloud_client = adapters.get("edgecloud")
SDK ->> SDK: SDK initialized and ready to be used
note over AP,API: Platform ready to receive CAMARA calls
AP ->> API: POST /app (APP_ONBOARD_MANIFEST)
API ->> SDK: edgecloud_client.onboard_app(APP_ONBOARD_MANIFEST)
SDK ->> K8s: Equivalent dedicated endpoint
AP ->> API: POST /appinstances (APP_ID, APP_ZONES)
API ->> SDK: edgecloud_client.deploy_app(APP_ID, APP_ZONES)
SDK ->> K8s: Equivalent dedicated endpoint

Example Workflow #2: QoS Session Creation over Open5Gs

sequenceDiagram
title QoS Session Creation over Open5GS

actor AP as Application Vertical Provider
box Module implementing CAMARA APIs
    participant API as CAMARA QoS Management API
    participant SDK as Open SDK
end
participant NEF as NEF
participant 5GS as Open5GS

note over SDK: [Config] Network core: Open5Gs, IP, Port
API ->> SDK: from sunrise6g_opensdk import Sdk as sdkclient
API ->> SDK: sdkclient.create_adapters_from(configuration)
API ->> SDK: network_client = adapters.get("network")
SDK ->> SDK: SDK initialized and ready to be used
note over AP,API: Platform ready to receive CAMARA calls
AP ->> API: POST /sessions (QOS_SESSION_REQUEST)
API ->> SDK: network_client.create_qos_session(QOS_SESSION_REQUEST)
SDK ->> NEF: Equivalent endpoint
NEF ->> 5GS: QoS session creation

Roadmap for Open SDK 2nd release

  • Add support to GSMA OPG.02 TFs
  • Include JUNIPER O-RAN adapter

License

Apache 2.0 License – see LICENSE file for details.

Project details


Download files

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

Source Distribution

sunrise6g_opensdk-1.0.2.post1.tar.gz (69.5 kB view details)

Uploaded Source

Built Distribution

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

sunrise6g_opensdk-1.0.2.post1-py3-none-any.whl (107.0 kB view details)

Uploaded Python 3

File details

Details for the file sunrise6g_opensdk-1.0.2.post1.tar.gz.

File metadata

  • Download URL: sunrise6g_opensdk-1.0.2.post1.tar.gz
  • Upload date:
  • Size: 69.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for sunrise6g_opensdk-1.0.2.post1.tar.gz
Algorithm Hash digest
SHA256 b7e99154ae39b7d47f1f24613df7bfb8be5e20e7c2aa3d50cf889ed25fbf25be
MD5 fa9222ea7713523fe1be8865aa6b5fd8
BLAKE2b-256 63386fee1d9f6f8ff5ebeb166fdd3872e56671b39466c09dd16e5718d51c8883

See more details on using hashes here.

File details

Details for the file sunrise6g_opensdk-1.0.2.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for sunrise6g_opensdk-1.0.2.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 62a34924eac35e834049b73280737dd770fbed67bb37a338f027b302226a621a
MD5 8b3df44ad5c17034ec4d8222d9a3f681
BLAKE2b-256 64b21062dba0e4827d6901eda5df2d35724fbb124f04ff60c207751d7b51c0ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page