Python SDK Changelog

3.0.0 (2026-05-21)

Features

  • Internal network requests use the new API gateway. This is not a true breaking change, but 3.0.0 will be the minimum version required in the future when the previous paths are deprecated.
  • The client now retries rate-limited responses, so bulk workloads self-throttle instead of failing on the first rate-limit response. A max_retries client option (default 3) tunes or disables the behaviour; set it to 0 to manage retries yourself.
  • A new RateLimitError (subclass of ApiError) is raised when retries are exhausted, with a retry_after attribute carrying the server’s hint so you can back off without guessing.

2.2.0 (2026-04-29)

Features

  • Multiple Client instances in the same process now share one auth token resulting in less authorisation calls.

2.1.0 (2026-04-27)

Features

  • Add has_aggregation_errors to ModelRun now so callers can detect runs whose input aggregations failed to process.

2.0.0 (2026-04-21)

Features

  • Model.notes changed to str | None (previously str) so you can branch when they’re absent. Note that this field is only populated for models authored by your organisation.
  • Add description: str to Model type — exposes the new top-level model description from the API.
  • Breaking: Remove the high specificity ModelMetadata Pydantic class. model.model_metadata is now dict[str, Any] and contains the arbitrary bag of metadata specific to the model. If you were previously reading this field, use model.model_metadata["<field>"], and remove anyfrom pd4castr_api_sdk.models import ModelMetadata imports.