Python SDK v0.3.1
Released: 2026-06-24
Features
- / now mint a signed download URL via the recordings download endpoint (using each recording's ) and fall back to the legacy / for older GCS-only recordings. Fixes downloads failing after the backend list endpoint stopped embedding signed URLs.
Fixes
- Snake_case→camelCase conversion is now recursive for the raw-dict and paths: nested keys (e.g. → ) and factory kwargs are converted. Free-form map fields (, , , ) preserve their user-defined keys while still converting nested schema fields. Previously nested/extra snake_case keys were silently dropped on the wire.
- Downloads are now atomic: each file streams to and is renamed on success, so a mid-stream failure never destroys a pre-existing complete file. again skips when is unknown (an existing file is necessarily complete).
- with no fields now raises instead of issuing an empty PUT.
- enforces ; keys are validated against (rejected at construction, still serialized as strings on the wire).
- is auto-generated when omitted, including direct construction without a factory helper.