Developer Preview — This documentation covers the AWS SDK for Python, which is in Developer Preview and intended for evaluation and testing only. Do not use it for production workloads. For production applications, use the AWS SDK for Python (Boto3). To understand the differences between the two SDKs, see Choosing the right AWS SDK for Python.
Choosing the right AWS SDK for Python
AWS offers two SDKs for Python developers. This page helps you understand the differences and choose the right SDK for your needs.
Overview
Boto3 is the established, production-ready AWS SDK for Python with full coverage of all AWS services. It has been the standard for Python developers building on AWS for years and remains fully supported.
AWS SDK for Python (Developer Preview) is the next-generation SDK covered in this guide, rebuilt from the ground up with an async-first, modular architecture. It is currently in Developer Preview for evaluation and early feedback, and is not intended for production use.
Boto3 is generally available and recommended for production workloads. The AWS SDK for Python is in Developer Preview and intended for evaluation and testing only, it is not yet production-ready. Both SDKs coexist in the same project without conflicts, and you can use either or both based on your requirements.
Key differences
| Capability | Boto3 | AWS SDK for Python (Developer Preview) |
|---|---|---|
| Release status | General Availability (GA) | Developer Preview |
| Production use | Yes | Not recommended |
| Architecture | Synchronous, monolithic package | Async-first, modular per-service packages |
| Async support | Via community wrappers (aiobotocore/aioboto3) | Native async/await with asyncio |
| Packaging | Single boto3 package for all services |
Per-service packages (e.g., aws-sdk-dynamodb) |
| HTTP/2 streaming | Not supported | Native bidirectional event streaming |
| Service coverage | All AWS services | 24 services (expanding) |
| Paginators & waiters | Available | Coming soon |
| Presigned URLs | Available | Coming soon |
| S3 Transfer Manager | Available | Coming soon |
| Synchronous client | Default mode | Coming soon |
| Credential support | Full (SSO, Web Identity, etc.) | Default credential chain (SSO, Web Identity coming soon) |
| Code generation | Partial | Fully auto-generated from Smithy service models |
Decision guide
Choose Boto3 if you:
Need production stability — Boto3 is battle-tested, GA, and backed by complete AWS service coverage.
Require services not yet in the Developer Preview — If your application depends on services beyond the current 24, Boto3 is your path.
Run synchronous workloads — If your application doesn't have concurrency performance bottlenecks, Boto3's synchronous model is mature and well-suited.
Need full credential provider support — If you rely on SSO via IAM Identity Center or Web Identity (EKS/GitHub Actions OIDC).
Depend on paginators, waiters, or presigned URLs — These features are not yet available in the Developer Preview.
Choose AWS SDK for Python (Developer Preview) if you:
Are building high-throughput async applications — Native async/await with asyncio eliminates the overhead of community wrappers and delivers true concurrency for multiple simultaneous AWS service calls.
Work with streaming services — Bedrock Runtime, Transcribe Streaming, and SageMaker Runtime are designed for async, and the new SDK's HTTP/2 bidirectional streaming support provides first-class handling.
Need minimal deployment size — Per-service packages (e.g.,
aws-sdk-dynamodb) with granular dependencies help you stay within AWS Lambda deployment size limits.Want to influence SDK direction — Developer Preview feedback directly shapes feature prioritization and the GA release.
Are evaluating for future migration — Getting familiar with the new SDK's API patterns early helps you plan a smooth transition.
Use both SDKs together if you:
Want to use the new SDK for async workloads (e.g., Bedrock streaming) while relying on Boto3 for everything else.
Are incrementally evaluating the new SDK in non-production paths while maintaining Boto3 for production code.
Need services from both SDKs in the same application.
Important
When using both SDKs together, be aware that mixing synchronous Boto3 calls inside an async event loop can block the loop and negate the performance benefits of async. Keep sync and async code paths separated. Refer to the Working with Boto3 page for additional details.
Services available in the Developer Preview
The Developer Preview currently supports 24 service clients, including:
Amazon Bedrock & Bedrock Runtime
Amazon DynamoDB
AWS Lambda
Amazon SQS
Amazon SNS
AWS STS
Amazon Transcribe Streaming
Amazon SageMaker Runtime
And more — see the aws-sdk-python repository
on GitHub for the full list
What's coming next
The AWS SDK for Python is being developed incrementally. Planned additions include:
Expanded service coverage — Support for Amazon S3 and additional AWS services.
Complete credential chain — SSO via IAM Identity Center, Web Identity, AWS Login, process credentials, and SigV4a multi-region signing.
Core SDK features — Paginators, waiters, presigned URLs, S3 Transfer Manager, and synchronous client support.
Observability — Adaptive retries, logging, metrics, OpenTelemetry tracing, proxy configuration, and connection pooling.
Lifecycle and support
| Question | Answer |
|---|---|
| Is Boto3 being retired? | Not until the new SDK reaches feature parity with Boto3's synchronous support. AWS will provide ample notice, migration guidance, and support throughout any transition. |
| When will the new SDK reach GA? | The GA release will be informed by Developer Preview feedback. No date has been set. |
| Can I use the Developer Preview in production? | No. It is intended for evaluation and testing in pre-production environments only. |
| Will both SDKs be supported simultaneously? | Yes. Both SDKs are fully supported, and you can confidently choose the one that best meets your current needs. |
Getting started
Boto3: Developer Guide | SDK source
on GitHub AWS SDK for Python (Developer Preview): Getting started with the AWS SDK for Python | SDK source
on GitHub
Feedback
We want your feedback to guide feature prioritization and service coverage. File issues in the aws-sdk-python repository