SDKs
Python
Use Open Spanner from Python services and jobs.
Install:
pip install open-spannerExample
Create a meter and record usage from a trusted Python service or job:
import os
import uuid
from open_spanner_client import AuthenticatedClient
from open_spanner_client.api.meters import create_meter
from open_spanner_client.api.usages import create_usage
from open_spanner_client.models.meter_create_request import MeterCreateRequest
from open_spanner_client.models.usage_create_request import UsageCreateRequest
from open_spanner_client.models.usage_create_request_metadata import UsageCreateRequestMetadata
client = AuthenticatedClient(
base_url=os.environ.get("OPEN_SPANNER_BASE_URL", "http://localhost:18081"),
token=os.environ["OPEN_SPANNER_API_KEY"],
raise_on_unexpected_status=True,
)
meter_name = "api_requests"
create_meter.sync(
client=client,
body=MeterCreateRequest(
name=meter_name,
description="API requests served",
unit="request",
aggregation="sum",
event_retention_days=90,
),
)
metadata = UsageCreateRequestMetadata()
metadata["endpoint"] = "/v1/orders"
metadata["region"] = "us-east"
create_usage.sync(
client=client,
body=UsageCreateRequest(
idempotency_key=str(uuid.uuid4()),
subject="org_123",
meter=meter_name,
quantity=1,
metadata=metadata,
),
)Create an API key in the dashboard first and expose it to your backend process as OPEN_SPANNER_API_KEY.
Run The Full Example
cd examples/rest/basic/python
uv run python basic.py