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 |
Installation
# Core SDK
pip install celine-sdk
# With client generation support
pip install 'celine-sdk[gen]'
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 (requires [gen] extra)
celine-sdk generate services.yaml
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 |
License
Apache 2.0 — Copyright © 2025 Spindox Labs