CELINE SDK
Shared SDK for the CELINE platform. Provides OIDC authentication, MQTT broker abstraction, Pydantic settings, and OpenAPI spec management with generated typed clients.
Modules
| Module | Description |
|---|---|
celine.sdk.auth |
OIDC token provider, JWKS-based JWT parsing, token refresh |
celine.sdk.broker |
MQTT client with auto-reconnect and JWT authentication |
celine.sdk.settings |
Shared Pydantic settings: OIDC, MQTT, policies |
celine.sdk.openapi.* |
Generated typed clients for CELINE services |
celine.sdk.dt |
Digital Twin domain client helpers |
celine.sdk.nudging |
Nudging service client |
celine.sdk.policies |
OPA policy evaluation over a service's own *.rego bundle |
celine.sdk.rec_registry |
REC registry client helpers |
celine.sdk.flexibility |
Flexibility service client helpers |
celine.sdk.ai_assistant |
AI assistant client helpers |
celine.sdk.clients, celine.sdk.utils and celine.sdk.cli are internal: they support
the modules above and the spec-management CLI, and are not part of the public surface.
Installation
pip install celine-sdk
Client generation needs the code generators from this repository's dev dependency group
(Python ≥ 3.11) — uv sync in a checkout. It is a maintainer task performed here, not
something a consuming service does.
CLI Quick Reference
# Fetch and version OpenAPI specs (writes to ./openapi/)
celine-sdk spec fetch services.yaml
# List discovered spec versions
celine-sdk spec list
# Generate typed Python clients (needs the dev dependency group)
celine-sdk generate services.yaml
# Both steps, in a checkout
task gen
services.yaml Format
services:
digital-twin:
package: dt
openapi: http://dt:8000/openapi.json
policies:
openapi: http://policies:8000/openapi.json
Documentation
| Document | Description |
|---|---|
| Auth | OIDC token provider, JWT parsing, AccessToken model |
| Broker | MQTT client, auto-reconnect, JWT auth, subscription handling |
| Settings | OidcSettings, MqttSettings, PoliciesSettings, env var config |
| Spec Management | services.yaml format, spec fetch, versioning, client generation |
| Specifications | What the SDK must do, as numbered requirements each named by a test |
License
Apache 2.0 — Copyright © 2025 Spindox Labs
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file celine_sdk-1.16.0.tar.gz.
File metadata
- Download URL: celine_sdk-1.16.0.tar.gz
- Upload date:
- Size: 237.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
858ec87e6e80d2264fec8d503030f101180ef3a7b029b3c40c74ee0d9f606e9d
|
|
| MD5 |
593b8619157908e726cbc4879ff52237
|
|
| BLAKE2b-256 |
e9dd74152db8516accac90f57371c6f33ddbc38c59fac3b3f36b8855263d1c19
|
Provenance
The following attestation bundles were made for celine_sdk-1.16.0.tar.gz:
Publisher:
release.yaml on celine-eu/celine-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
celine_sdk-1.16.0.tar.gz -
Subject digest:
858ec87e6e80d2264fec8d503030f101180ef3a7b029b3c40c74ee0d9f606e9d - Sigstore transparency entry: 2665077499
- Sigstore integration time:
-
Permalink:
celine-eu/celine-sdk@d2a454d10c73a7a5b6035c61c4b96f9325fc2838 -
Branch / Tag:
refs/tags/v1.16.0 - Owner: https://github.com/celine-eu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d2a454d10c73a7a5b6035c61c4b96f9325fc2838 -
Trigger Event:
push
-
Statement type:
File details
Details for the file celine_sdk-1.16.0-py3-none-any.whl.
File metadata
- Download URL: celine_sdk-1.16.0-py3-none-any.whl
- Upload date:
- Size: 548.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50f4658be1efdb1ce1c4b3d0c4ddbbac2e4e02d2b4200af21e633545a2d840d7
|
|
| MD5 |
c8b9b63a4641b55f7e53a003d9a3f05f
|
|
| BLAKE2b-256 |
3b4ccbca72a26a85b014f4bdca6f7df919d8219f37c4015ab6e77807b9d42177
|
Provenance
The following attestation bundles were made for celine_sdk-1.16.0-py3-none-any.whl:
Publisher:
release.yaml on celine-eu/celine-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
celine_sdk-1.16.0-py3-none-any.whl -
Subject digest:
50f4658be1efdb1ce1c4b3d0c4ddbbac2e4e02d2b4200af21e633545a2d840d7 - Sigstore transparency entry: 2665077527
- Sigstore integration time:
-
Permalink:
celine-eu/celine-sdk@d2a454d10c73a7a5b6035c61c4b96f9325fc2838 -
Branch / Tag:
refs/tags/v1.16.0 - Owner: https://github.com/celine-eu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@d2a454d10c73a7a5b6035c61c4b96f9325fc2838 -
Trigger Event:
push
-
Statement type: