SDKs
Use Open Spanner from trusted backend services.
Official SDKs expose the application-facing REST surface. Create an API key in the dashboard, keep it server-side, and reuse one configured client per service.
| Language | Package | Guide |
|---|---|---|
| Go | github.com/ssubedir/open-spanner/sdk/go | Go |
| TypeScript | @ssubedir/open-spanner | TypeScript |
| Python | open-spanner | Python |
| C# | OpenSpanner | C# |
Every SDK also includes a gRPC ingestion client with single-event, bulk, and
client-streaming writes. Unary writes support opt-in retry policies with
backoff, jitter, and server-provided RetryInfo; uncertain client streams should
be recovered through bulk ingestion with the original event idempotency keys.
The SDK surface includes:
- health and readiness;
- meter lifecycle operations;
- single and bulk usage ingestion;
- usage search, dimensions, breakdowns, and direct CSV export;
- entitlement checks and atomic quota consumption;
- entitlement decision audit reads; and
- subject plan progress and current entitlement-state reads.
Control-plane operations remain in the dashboard and full REST API. This includes users, workspace invitations, API keys, plan definitions and assignments, alert configuration, queued exports, reconciliation repairs, and system operations.
The generated SDK contract is openapi/sdk-openapi.json. The full API contract
is broader; see API Reference.
Runnable projects are available under examples/rest and examples/stream in
the repository.