Skip to content

SDK Reference

API reference for the cas.client package, generated from the source.

Clients

cas.client.CASClient

Synchronous client for the CAS HTTP API.

Parameters:

Name Type Description Default
base_url str

Root URL of the CAS service (no trailing /api needed).

DEFAULT_BASE_URL
api_key str | None

Optional API key sent as X-API-Key when the service has auth enabled.

None
timeout float

Per-request timeout in seconds.

DEFAULT_TIMEOUT
transport BaseTransport | None

Optional httpx transport — useful for tests (e.g. ASGITransport).

None

extract

extract(geometry: GeometryLike, dataset_ids: list[str], *, aggregation: AggregationMethod | str = AggregationMethod.MEAN, time_range: TimeRangeLike | None = None, target_crs: str = 'EPSG:4326') -> AttributeResponse

Extract attribute values for a single geometry.

batch_extract

batch_extract(geometries: list[GeometryLike], dataset_ids: list[str], *, aggregation: AggregationMethod | str = AggregationMethod.MEAN, time_range: TimeRangeLike | None = None, target_crs: str = 'EPSG:4326') -> BatchAttributeResponse

Extract attribute values for many geometries in one call.

providers

providers(*, limit: int = 100, offset: int = 0) -> ProviderListResponse

List registered providers (paginated).

provider

provider(slug: str) -> ProviderDetail

Return one provider with its full dataset metadata.

datasets

datasets(*, provider: str | None = None, limit: int = 100, offset: int = 0) -> DatasetListResponse

List available datasets (paginated, optionally filtered by provider).

iter_providers

iter_providers(*, page_size: int = 200) -> list[ProviderDetail]

Convenience: fetch every provider summary, then its detail.

Note: this issues one request per provider, so it is intended for catalog tooling rather than hot paths.

health

health() -> dict[str, Any]

Liveness check + result-cache stats.

cas.client.AsyncCASClient

Asynchronous client for the CAS HTTP API (mirror of :class:CASClient).

Errors

cas.client.CASError

Bases: Exception

Raised when the CAS API returns an error response.

Mirrors the service error envelope::

{"error": {"type": "...", "message": "...", "request_id": "...", "detail": ...}}

Catalog & result models

The catalog and extraction models returned by the client live in cas.core.models.

cas.core.models.ProviderSummary

Bases: BaseModel

Registry-level provider metadata (no upstream call required).

cas.core.models.ProviderDetail

Bases: ProviderSummary

A provider plus its full dataset metadata.

cas.core.models.ProviderListResponse

Bases: BaseModel

cas.core.models.DatasetListResponse

Bases: BaseModel

cas.core.models.Dataset

Bases: BaseModel

cas.core.models.AttributeResponse

Bases: BaseModel

cas.core.models.AttributeResult

Bases: BaseModel