Releases: WaveSpeedAI/wavespeed-python
Releases · WaveSpeedAI/wavespeed-python
Release list
v2.0.1
Nightly Release 20260821
TODO: Add nightly release notes
v2.0.0
2.0.0
Removed — BREAKING
The serverless worker implementation has been removed from the SDK.
WaveSpeed no longer offers serverless as an external product, so shipping a serverless worker in
the public SDK was misleading: it advertised a capability customers cannot buy. Everything below is
gone as of 2.0.0 and will not be restored.
wavespeed.serverless— the entire package, includingserverless.start(), the job scaler, the
handler-type dispatcher, the worker HTTP layer, the FastAPI local dev server, local test mode,
worker/job state tracking, heartbeat and progress reporting, the S3 (boto3) upload helpers, and
wavespeed.serverless.utils.validate.wavespeed.config.serverless— the serverless config namespace and its import-time environment
auto-detection (RUNPOD_*andWAVERLESS_*variables are no longer read by this package).images/— thetest_workerDocker image and its build/push scripts, which existed only to
build and exercise the worker.
Anyone building workers against this package should pin wavespeed<2 and plan to migrate.
Fixed
- Python 3.8 and 3.9 support is now real rather than aspirational.
api/__init__.pycarried a
module-level PEP 604 annotation (Client | None) with no__future__import, so the package
could not be imported on 3.8 or 3.9 despiterequires-python = ">=3.8". CI now runs the suite on
3.8 through 3.12 so the claim stays honest. typing_extensionsis now a declared dependency. It was imported at module scope but only
reached the environment transitively throughboto3/aiohttp— removing those would have
produced anImportErroron a clean install.
Changed
- Dependencies trimmed to what the API client actually needs.
aiohttp,aiohttp[speedups],
aiohttp-retry, andboto3are no longer installed;typing_extensionsis now declared
explicitly (it was already imported bywavespeed._config_module). - README and CLAUDE.md rewritten to describe an API-client-only SDK.
Unchanged
The API client surface is untouched: wavespeed.run, wavespeed.run_no_throw,
wavespeed.get_result, wavespeed.upload, wavespeed.Client, wavespeed.config.api, and the
channel-attribution request headers all behave exactly as they did in 1.0.x.
v1.0.14
v1.0.13
Cross-SDK alignment release:
- New run_no_throw (Client method and module-level): structured {status, outputs, task_id, error} result instead of raising; extracts task_id from sync-mode timeouts so the task can be queried later (ports runNoThrow from the JavaScript SDK).
- Wait loop now treats cancelled and timeout statuses as terminal failures with the API's error text.
- X-Client-OS now reports "windows" (was "win32") to match darwin/linux/windows across all SDKs.
- Docs: upload docstring corrected (returns URL str); WAVESPEED_CLIENT_NAME added to the README env-var table.