Python (upcoming)
The Python client is not yet generally available. The current package on pypi.org (distribution name dataspine) ships only the configuration and token-provider scaffolding shared with the other Dataspine client libraries; ingest, outlet, and API clients are not yet exposed.
What ships today
dataspine.config—ConfigLoader, behavior versions, token providers (static, file-backed, AWS SigV4 token exchange) and HOCON-style interpolation helpers. The runtime reads the same~/.dataspine/configfile andDATASPINE_*environment variables as the Rust client.- Dependencies:
pydantic,requests, optionalboto3/botocore(for the AWS SigV4 exchange).
You can use the configuration loader today to validate that your environment can talk to the Dataspine STS endpoint and to obtain a JWT for use with a direct client (e.g. raw grpcio with the gRPC wire reference, or requests/httpx with the REST wire reference).
What is upcoming
- An
IngestClientandOutletClientbased ongrpcio/grpcio-tools, mirroring the Rust and Java APIs. - Generated per-data-product clients (placeholder package:
acme-orders-client, exposing a typedOrdersClientfor thecom.acme.ordersdata product owned by the placeholder organizationacme). - A
RestApiClientforsupports_raw_responseoperations. - Async-first APIs (
asyncio-based) consistent with the other clients.
We will add per-language usage examples to this page once the typed client surface is published. Until then, prefer the TypeScript, Java, or Rust clients.
Provisional usage
If you must consume Dataspine from Python today:
from dataspine.config.config_loader import ConfigLoader
config = ConfigLoader().load()
token = config.token_provider.get_token()
Use token as a Bearer token against the gRPC or REST transport directly. Treat the result as best-effort; the surface here will change before the typed client is GA.