Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

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 (commit: 79aa595)
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.

Release files for sunrise6g-opensdk 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sunrise6g-opensdk 2.0.0
File Size Uploaded
sunrise6g_opensdk-2.0.0.tar.gz 88.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sunrise6g-opensdk 2.0.0
File Interpreter ABI Platform
sunrise6g_opensdk-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 216.3 kB

Release files / sunrise6g_opensdk-2.0.0.tar.gz

Download URL sunrise6g_opensdk-2.0.0.tar.gz
Size 88.6 kB
Tags Source
SHA-256 checksum
How to use checksums
b57ca5e7d51c5670aed65a7ab42e3ca6914ec57c6ca7f2f0b1755e5cd8982cf3
BLAKE2b-256 checksum
How to use checksums
7149ccb3ad1b7381123c64ddd160c4a708382fc4a46ec85043f40020432b596a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12

Release files / sunrise6g_opensdk-2.0.0-py3-none-any.whl

Download URL sunrise6g_opensdk-2.0.0-py3-none-any.whl
Size 127.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
aec1b9b2e968f7f3e28646fe56ff49de6dcfe28c9e9d42004d653f0a122679d8
BLAKE2b-256 checksum
How to use checksums
5112a84ca974dfd0ba03f093212780bf54dc15b028bd168fe471343995a3de84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.12
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