Metadata-Version: 2.4
Name: dominus-sdk-python
Version: 2.12.0
Summary: Python SDK for the Dominus Orchestrator Platform
Author-email: CareBridge Systems <dev@carebridge.io>
License: Proprietary
Project-URL: Homepage, https://github.com/carebridgesystems/dominus-sdk-python
Project-URL: Repository, https://github.com/carebridgesystems/dominus-sdk-python
Keywords: dominus,carebridge,sdk,orchestrator,api,async
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Framework :: AsyncIO
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.24.0
Requires-Dist: bcrypt>=4.0.0
Requires-Dist: cryptography>=41.0.0
Provides-Extra: jwt
Requires-Dist: PyJWT>=2.8.0; extra == "jwt"
Provides-Extra: oracle
Requires-Dist: websockets>=12.0; extra == "oracle"
Requires-Dist: sounddevice>=0.4.6; extra == "oracle"
Requires-Dist: numpy>=1.24.0; extra == "oracle"
Requires-Dist: webrtcvad>=2.0.10; extra == "oracle"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Provides-Extra: all
Requires-Dist: PyJWT>=2.8.0; extra == "all"
Requires-Dist: websockets>=12.0; extra == "all"
Requires-Dist: sounddevice>=0.4.6; extra == "all"
Requires-Dist: numpy>=1.24.0; extra == "all"
Requires-Dist: webrtcvad>=2.0.10; extra == "all"

# Dominus SDK for Python

Async Python SDK for CareBridge Dominus services. It routes service calls to the Dominus Orchestrator and handles gateway-based JWT minting, base64 encoding, retries, and circuit breaking.

## What This Is
- Server-side, asyncio-first Python SDK (3.9+)
- Namespace API plus ultra-flat root shortcuts for common operations
- Defaults to production orchestrator + gateway endpoints (configurable)

## Quick Start
```python
import os
from dominus import dominus

os.environ["DOMINUS_TOKEN"] = "your-psk-token"

users = await dominus.db.query("users", filters={"status": "active"})
await dominus.redis.set("session:123", {"user": "john"}, ttl=3600)
file = await dominus.files.upload(data=buf, filename="report.pdf", category="reports")
```

## Architecture (SDK View)
- DOMINUS_TOKEN (PSK) -> Gateway `/jwt/mint` -> JWT cached in `dominus_cache`
- JSON requests/responses are base64-encoded for auth-required routes
- GET requests send no body; parameters are in path or POST body
- Gateway routing is optional per-request; AI namespace always uses gateway

## Namespaces
- `secrets`, `db`, `secure`, `redis`, `files`, `auth`, `ddl`, `logs`, `portal`, `courier`, `open`, `health`
- `admin` (reseed/reset admin category)
- `ai` (agent-runtime: LLM, RAG, artifacts, results, orchestration, speech)
- `workflow` (workflow-manager CRUD and execution)
- `oracle` / `stt` (streaming speech-to-text sessions)

## Configuration
Required:
- `DOMINUS_TOKEN`

Optional:
- `DOMINUS_GATEWAY_URL` (default production gateway)
- `DOMINUS_BASE_URL` (default production orchestrator)
- `DOMINUS_HTTP_PROXY` / `DOMINUS_HTTPS_PROXY` (httpx proxies)

## Documentation
- `docs/architecture.md`
- `docs/namespaces.md`
- `docs/development.md`

## License
Proprietary - CareBridge Systems
