Metadata-Version: 2.4
Name: celine-sdk
Version: 1.4.0
Summary: CELINE SDK
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiomqtt>=2.5.0
Requires-Dist: attrs>=25.4.0
Requires-Dist: cachetools>=7.0.0
Requires-Dist: celine-regorus>=0.9.1.post20260227075446
Requires-Dist: cryptography>=46.0.5
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pydantic-settings>=2.12.0
Requires-Dist: pyjwt>=2.11.0
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: pyyaml>=6.0.3
Dynamic: license-file

# celine-sdk

Shared CELINE SDK:

- Versioned OpenAPI specs under `openapi/<service>/v<version>/openapi.json`
- Generated OpenAPI clients under `celine.sdk.openapi.<package>`
- Shared infrastructure:
  - OIDC token providers (`celine.sdk.auth`)
  - MQTT broker abstraction (`celine.sdk.broker`)
  - Pydantic settings (`celine.sdk.settings`)

## CLI

```bash
# fetch and version specs (writes to ./openapi)
celine-sdk spec fetch services.yaml

# list discovered versions
celine-sdk spec list

# generate clients (requires: pip install 'celine-sdk[gen]')
celine-sdk generate services.yaml
```

## services.yaml

```yaml
services:
  digital-twin:
    package: dt
    openapi: http://dt:8000/openapi.json
  policies:
    openapi: http://policies:8000/openapi.json
```

```bash
# fetch and version specs (writes to ./openapi)
celine-sdk spec fetch services.yaml

# list discovered versions
celine-sdk spec list

# generate clients (requires: pip install 'celine-sdk[gen]')
celine-sdk generate services.yaml
```

## services.yaml

```yaml
services:
  digital-twin:
    package: dt
    openapi: http://dt:8000/openapi.json
  policies:
    openapi: http://policies:8000/openapi.json
```
