amazon-transcribe
Async Python SDK for Amazon Transcribe Streaming
What it is and what it does
Amazon Transcribe Streaming SDK is an async Python client for Amazon's real-time transcription service. It lets you send audio byte streams to AWS and receive transcription results as events, with a handler pattern for processing results as they arrive. The SDK wraps the AWS Common Runtime (awscrt) to communicate with the Transcribe Streaming API.
The package is designed for developers who need to integrate live or near-live audio transcription into Python applications without managing low-level AWS API details. It requires AWS credentials and audio in a format compatible with Amazon Transcribe Streaming. The description notes this was originally a proof of concept and is no longer actively maintained, though it remains functional; rare high CPU issues have been reported.
Use it for:
- Transcribe live audio from a microphone or network stream in real time for chatbots or voice assistants.
- Process pre-recorded audio files asynchronously, receiving transcription results incrementally as chunks are processed.
- Build a call-center or meeting-recording system that transcribes audio on-the-fly without storing raw audio locally.
- Integrate speech-to-text into a Python web service or background worker handling multiple concurrent transcription streams.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Streams audio to Amazon Transcribe and receives real-time transcription results via an async Python interface.
Yes, if you need real-time transcription via Amazon Transcribe and can accept that the package is aging and no longer actively developed. Install friction is low and there are no known vulnerabilities. Be aware of the proof-of-concept status, pin dependencies strictly, and monitor for the rare high CPU issues mentioned. Not suitable if you require active maintenance or official AWS support.
Install
amazon-transcribe on PyPI
pip
pip install amazon-transcribeuv
uv add amazon-transcribepoetry
poetry add amazon-transcribeInstalling amazon-transcribe
Before you install
Low install friction with a single compiled dependency (awscrt). The package is aging—last release was 466 days ago—and the description explicitly notes it was a proof of concept no longer actively developed, though the repository remains unarchived. Pin dependencies strictly if using outside local testing.
License in practice
Licensed under Apache License 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
from amazon_transcribe.client import TranscribeStreamingClient
from amazon_transcribe.handlers import TranscriptResultStreamHandler
class MyHandler(TranscriptResultStreamHandler):
async def handle_transcript_event(self, transcript_event):
for result in transcript_event.transcript.results:
for alt in result.alternatives:
print(alt.transcript)
client = TranscribeStreamingClient(region="us-west-2")
stream = await client.start_stream_transcription(
language_code="en-US",
media_sample_rate_hz=16000,
media_encoding="pcm"
)
Requires AWS credentials configured via environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY), AWS_PROFILE, or ~/.aws/credentials file. awscrt is a compiled C library; non-standard operating systems may need to compile it locally.
Verify before relying
- Whether the rare high CPU issues (#109, #84) mentioned in the description remain unfixed in version 0.6.4.
- Current stability and compatibility of awscrt dependency with modern Python environments.
- Whether AWS credentials configuration via environment variables, AWS_PROFILE, or ~/.aws/credentials works reliably in all deployment contexts.
Package facts
| License | Apache License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — awscrt |
| Maintenance | aging — 466 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 457,029/month — #6,551 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: amazon_transcribe-0.6.4-py3-none-any.whl
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
aws_sdk_transcribe_streamingProvides a Python client for AWS Transcribe…
permissive · top 15,000 on PyPI
gladiaio-sdkA Python SDK for the Gladia speech-to-text API,…
unclear · top 15,000 on PyPI
assemblyaiPython SDK for transcribing and understanding…
permissive · top 5,000 on PyPI
rev-aiPython SDK for Rev AI's speech-to-text API,…
permissive · top 15,000 on PyPI
livekit-plugins-awsIntegrates Amazon AWS AI services (Bedrock,…
permissive · top 15,000 on PyPI
deepgram-sdkOfficial Python SDK for Deepgram's speech…
permissive · top 5,000 on PyPI
speechmatics-rtAsync Python client for real-time…
permissive · top 15,000 on PyPI
SpeechRecognitionPerforms speech recognition and transcription…
permissive · top 5,000 on PyPI
livekit-plugins-sonioxIntegrates Soniox speech-to-text and…
permissive · top 15,000 on PyPI
realtimesttRealtimeSTT converts speech from microphone or…
permissive · top 15,000 on PyPI