Skip to content

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