* Ship generated synchronous and asynchronous Python SDK 0.3
* Keep generated client names and exclusions consistent
* Fail the fake server when Idempotency-Key is missing and assert the value sent
* Cap pagination tests so a dropped cursor fails fast
* Lead ApiError text with status, code and message, preserved across regeneration
* License the Python SDK under Apache-2.0
* Keep numbered duplicate files out of the sdist and wheel
* Regenerate the SDK from the frozen v1 contract
The transcription purchase is one Job. A Premium read can answer
preparation_required, the purchase key and max_rows are optional at zero
dollars, and the request body no longer sends the deprecated videoId alias.
* Add prepare_and_wait for Premium transcripts
Reads Premium, posts the purchase once when preparation is required, polls
the job at the pace the API asks for and returns the transcript. The code
lives in scripts/overrides and the installer wires it into the generated
clients, so regeneration keeps it. The README leads with it.
* Test prepare_and_wait against the bodies the backend sends
* Describe the SDK in llms.txt
* Regenerate from the v1 OpenAPI frozen at 798865d9
Purchase refusals now parse as the shared Error with quote, so the
refusal test reads the 402 quota_exceeded body POST answers.