Loading .github/workflows/ci.yamldeleted 100644 → 0 +0 −52 Original line number Diff line number Diff line name: CI Pipeline on: push: branches: [ main ] pull_request: branches: [ main ] jobs: tests: name: Run tests runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies run: | pip install -r requirements.txt pip install -e . - name: "Run test: validate edge cloud clients instantiation" run: pytest -v tests/common/test_invoke_edgecloud_clients.py - name: "Run test: validate network clients instantiation" run: pytest -v tests/common/test_invoke_network_clients.py lint: name: Run linters if: github.event_name == 'pull_request' runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies run: pip install -r requirements.txt - name: isort check run: isort src tests --check --profile black --filter-files - name: black check run: black src tests --check --line-length=100 - name: flake8 check run: flake8 src tests README.md +31 −37 Original line number Diff line number Diff line <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/actions/workflows/ci.yaml" title="CI Status"> <img src="https://github.com/SunriseOpenOperatorPlatform/open-sdk/actions/workflows/ci.yaml/badge.svg"> <a href="https://labs.etsi.org/rep/oop/code/tf-sdk/-/pipelines" title="Pipeline Status"> <img src="https://labs.etsi.org/rep/oop/code/tf-sdk/badges/main/pipeline.svg" alt="pipeline status"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/commits/" title="Last Commit"> <img src="https://img.shields.io/github/last-commit/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/issues" title="Open Issues"> <img src="https://img.shields.io/github/issues/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/pulls" title="Open Pull Requests"> <img src="https://img.shields.io/github/issues-pr/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/graphs/contributors" title="Contributors"> <img src="https://img.shields.io/github/contributors/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/blob/main/LICENSE" title="License"> <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/releases/latest" title="Latest Release"> <img src="https://img.shields.io/github/release/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> <a href="https://labs.etsi.org/rep/oop/code/tf-sdk/-/blob/main/LICENSE" title="License"> <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic" alt="license"> </a> # OpenSDK # TF SDK 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. - Abstract CAMARA NBI & GSMA E/WBI Transformation Functions (TFs) - Unified Python SDK for interacting with Edge Cloud platforms, 5G Core solutions, and O-RAN controllers. - Modular and extensible adapter structure Loading @@ -45,21 +31,35 @@ Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge | Location Retrieval | [v0.4.0](https://raw.githubusercontent.com/camaraproject/DeviceLocation/refs/tags/r2.2/code/API_definitions/location-retrieval.yaml) | | Traffic Influence | [v0.8.1](https://raw.githubusercontent.com/camaraproject/EdgeCloud/v0.8.1/code/API_definitions/Traffic_Influence.yaml) | ### Federation APIs (E/WBI GSMA OPG) | API Name | Version | |---------------------------|---------| | Federation Management Service | [1.2.0](https://www.gsma.com/solutions-and-impact/technologies/networks/wp-content/uploads/2023/07/OPG.04-v3.0-GSMA-Operator-Platform-Group-East-Westbound-Interface-APIs-Version-3.0.pdf) ### EdgeCloud Platforms | Platform | Status | | Platform | Supported | |------------|------------| | Kubernetes | ✅ | | i2Edge | ✅ | | aerOS | ✅ | | Kubernetes | Yes | | i2Edge | Yes | | aerOS | Yes | ### Network Adapters | Platform | NEF Version | QoD | Location Retrieval | Traffic Influence | |--------------|-------------|-----|---------------------|--------------------| | Open5GS | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅ | ✅ | ❌ | | Open5GCore | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅ | ❌ | ❌ | | OAI | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅ | ❌ | ✅ | | Open5GS | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes | Yes | | | Open5GCore | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes | | | | OAI | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes | | Yes | ### O-RAN Adapters | Platform | Supported | |------------|------------| | Juniper O-RAN controller | WIP | | i2CAT O-RAN controller | WIP | --- Loading Loading @@ -118,12 +118,12 @@ Please follow our full [Contributing Guidelines](docs/CONTRIBUTING.md) for furth ```mermaid sequenceDiagram title Application Deployment using the Open SDK title Application Deployment using the TF 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 participant SDK as TF SDK end participant K8s as Kubernetes Loading @@ -150,7 +150,7 @@ 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 participant SDK as TF SDK end participant NEF as NEF participant 5GS as Open5GS Loading @@ -166,12 +166,6 @@ 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 --- Loading pyproject.toml +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "sunrise6g-opensdk" version = "1.0.7" version = "1.0.18" description = "Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and Open RAN solutions." keywords = [ "Federation", Loading src/sunrise6g_opensdk/common/adapters_factory.py +1 −1 Original line number Diff line number Diff line # -*- coding: utf-8 -*- ## # This file is part of the Open SDK # This file is part of the TF SDK # # Contributors: # - Adrián Pino Martínez (adrian.pino@i2cat.net) Loading src/sunrise6g_opensdk/common/sdk.py +1 −1 Original line number Diff line number Diff line # -*- coding: utf-8 -*- ## # This file is part of the Open SDK # This file is part of the TF SDK # # Contributors: # - Adrián Pino Martínez (adrian.pino@i2cat.net) Loading Loading
.github/workflows/ci.yamldeleted 100644 → 0 +0 −52 Original line number Diff line number Diff line name: CI Pipeline on: push: branches: [ main ] pull_request: branches: [ main ] jobs: tests: name: Run tests runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies run: | pip install -r requirements.txt pip install -e . - name: "Run test: validate edge cloud clients instantiation" run: pytest -v tests/common/test_invoke_edgecloud_clients.py - name: "Run test: validate network clients instantiation" run: pytest -v tests/common/test_invoke_network_clients.py lint: name: Run linters if: github.event_name == 'pull_request' runs-on: ubuntu-latest container: image: python:3.12-slim steps: - name: Checkout code uses: actions/checkout@v4 - name: Install dependencies run: pip install -r requirements.txt - name: isort check run: isort src tests --check --profile black --filter-files - name: black check run: black src tests --check --line-length=100 - name: flake8 check run: flake8 src tests
README.md +31 −37 Original line number Diff line number Diff line <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/actions/workflows/ci.yaml" title="CI Status"> <img src="https://github.com/SunriseOpenOperatorPlatform/open-sdk/actions/workflows/ci.yaml/badge.svg"> <a href="https://labs.etsi.org/rep/oop/code/tf-sdk/-/pipelines" title="Pipeline Status"> <img src="https://labs.etsi.org/rep/oop/code/tf-sdk/badges/main/pipeline.svg" alt="pipeline status"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/commits/" title="Last Commit"> <img src="https://img.shields.io/github/last-commit/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/issues" title="Open Issues"> <img src="https://img.shields.io/github/issues/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/pulls" title="Open Pull Requests"> <img src="https://img.shields.io/github/issues-pr/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/graphs/contributors" title="Contributors"> <img src="https://img.shields.io/github/contributors/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/blob/main/LICENSE" title="License"> <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic"> </a> <a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/releases/latest" title="Latest Release"> <img src="https://img.shields.io/github/release/SunriseOpenOperatorPlatform/open-sdk?style=plastic"> <a href="https://labs.etsi.org/rep/oop/code/tf-sdk/-/blob/main/LICENSE" title="License"> <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic" alt="license"> </a> # OpenSDK # TF SDK 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. - Abstract CAMARA NBI & GSMA E/WBI Transformation Functions (TFs) - Unified Python SDK for interacting with Edge Cloud platforms, 5G Core solutions, and O-RAN controllers. - Modular and extensible adapter structure Loading @@ -45,21 +31,35 @@ Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge | Location Retrieval | [v0.4.0](https://raw.githubusercontent.com/camaraproject/DeviceLocation/refs/tags/r2.2/code/API_definitions/location-retrieval.yaml) | | Traffic Influence | [v0.8.1](https://raw.githubusercontent.com/camaraproject/EdgeCloud/v0.8.1/code/API_definitions/Traffic_Influence.yaml) | ### Federation APIs (E/WBI GSMA OPG) | API Name | Version | |---------------------------|---------| | Federation Management Service | [1.2.0](https://www.gsma.com/solutions-and-impact/technologies/networks/wp-content/uploads/2023/07/OPG.04-v3.0-GSMA-Operator-Platform-Group-East-Westbound-Interface-APIs-Version-3.0.pdf) ### EdgeCloud Platforms | Platform | Status | | Platform | Supported | |------------|------------| | Kubernetes | ✅ | | i2Edge | ✅ | | aerOS | ✅ | | Kubernetes | Yes | | i2Edge | Yes | | aerOS | Yes | ### Network Adapters | Platform | NEF Version | QoD | Location Retrieval | Traffic Influence | |--------------|-------------|-----|---------------------|--------------------| | Open5GS | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅ | ✅ | ❌ | | Open5GCore | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅ | ❌ | ❌ | | OAI | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅ | ❌ | ✅ | | Open5GS | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes | Yes | | | Open5GCore | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes | | | | OAI | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes | | Yes | ### O-RAN Adapters | Platform | Supported | |------------|------------| | Juniper O-RAN controller | WIP | | i2CAT O-RAN controller | WIP | --- Loading Loading @@ -118,12 +118,12 @@ Please follow our full [Contributing Guidelines](docs/CONTRIBUTING.md) for furth ```mermaid sequenceDiagram title Application Deployment using the Open SDK title Application Deployment using the TF 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 participant SDK as TF SDK end participant K8s as Kubernetes Loading @@ -150,7 +150,7 @@ 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 participant SDK as TF SDK end participant NEF as NEF participant 5GS as Open5GS Loading @@ -166,12 +166,6 @@ 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 --- Loading
pyproject.toml +1 −1 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "sunrise6g-opensdk" version = "1.0.7" version = "1.0.18" description = "Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and Open RAN solutions." keywords = [ "Federation", Loading
src/sunrise6g_opensdk/common/adapters_factory.py +1 −1 Original line number Diff line number Diff line # -*- coding: utf-8 -*- ## # This file is part of the Open SDK # This file is part of the TF SDK # # Contributors: # - Adrián Pino Martínez (adrian.pino@i2cat.net) Loading
src/sunrise6g_opensdk/common/sdk.py +1 −1 Original line number Diff line number Diff line # -*- coding: utf-8 -*- ## # This file is part of the Open SDK # This file is part of the TF SDK # # Contributors: # - Adrián Pino Martínez (adrian.pino@i2cat.net) Loading