Official client SDKs for Bandwidth Labs services.
| SDK | Package | Directory |
|---|---|---|
| Python | bw-stt |
python/ |
| TypeScript / Node | @bandwidth-labs/bw-stt |
typescript/ |
Both SDKs cover the Speech to Text API: streaming transcription over the
/audio/v1/listen WebSocket in instant and demand modes, whole-file
transcription over POST /audio/v1/transcribe, asynchronous jobs, multichannel results, PII redaction, and keyword
boosting. Each package ships typed events, word-level timestamps, and
transcript assembly utilities, with a runnable example under its examples/
directory.
Create an API key from your dashboard at
labs.bandwidth.com, set it as
BW_STT_API_KEY, and follow the quickstart in the SDK's README.
The Publish package GitHub Actions workflow can be run manually for either
typescript or python. It reads the version already configured in the
selected package, builds it without modifying the source, and publishes it to
npm or PyPI. Python publishing to PyPI is deferred until the Bandwidth Labs
PyPI organization is approved; until then the Python SDK is installed from this
repository as described in python/README.md. Run it from the repository's default branch after the version
change has been merged. If that version has already been published, the
registry rejects it and the publish job fails.
Before merging a release, update the package version in the corresponding files:
- TypeScript: Update
versionintypescript/package.jsonand keeptypescript/package-lock.jsonsynchronized. - Python: Update
versioninpython/pyproject.tomland__version__inpython/src/bw_stt/_version.pyto the same new package version.
Configure trusted publishing for each registry before running the workflow:
- On npm, add a GitHub Actions trusted publisher for
@bandwidth-labs/bw-sttusing organizationBandwidth, repositorybw_labs_sdks, workflowpublish.yml, and environmentnpm. The workflow authenticates through GitHub OIDC and does not require an npm token. - On PyPI, add a GitHub Actions trusted publisher for
bw-sttusing ownerBandwidth, repositorybw_labs_sdks, workflowpublish.yml, and environmentpypi. A pending publisher can be configured before the first release.
The workflow tests and builds the selected package before publishing the same validated artifact. npm trusted publishing requires npm >=11.5.1 and Node >=22.14.0; the workflow uses Node 24. Configure registry authorization and protected environments before dispatching a release.