View a markdown version of this page

What is the AWS SDK for Python v4? - AWS SDK for Python v4

Experimental: This documentation covers the AWS SDK for Python v4, which is experimental, non-GA software 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.

What is the AWS SDK for Python v4?

AWS provides two SDKs for building Python applications on AWS:

  • AWS SDK for Python (Boto3): General Availability. The established, production-ready SDK with synchronous access to all AWS services. Use Boto3 for production workloads. Boto3 Developer Guide | SDK source on GitHub

  • AWS SDK for Python v4: Experimental, non-GA. A next-generation SDK with native asynchronous support, modular per-service packages, and bidirectional HTTP/2 streaming. Use this SDK to evaluate these capabilities and provide feedback in development and test environments only. SDK source on GitHub

You can install both SDKs in the same application. Separate Python namespaces allow them to coexist without conflicts.

About this guide

This guide covers the AWS SDK for Python v4 (experimental). It provides native asynchronous service clients designed for asyncio, the standard Python library for asynchronous programming, including support for APIs that use bidirectional HTTP/2 streaming. Service clients are distributed as modular packages, so you can install only the clients that your application needs.

Key features

  • Native asynchronous APIs: Service clients use Python async and await for non-blocking operations and concurrent I/O.

  • Bidirectional streaming: Supported clients can send and receive event streams concurrently over HTTP/2.

  • Modular packages: Each service client is available as a separate package, reducing the dependencies that you install and deploy.

  • Generated types: Generated clients, request and response models, and type annotations provide editor completion and static-analysis support.

  • Configurable clients: Configure Regions, endpoints, credential resolvers, retry behavior, plugins, and interceptors for your application.

Supported services

The experimental SDK supports a selected and growing set of AWS service clients. It does not yet provide clients for every AWS service or all of the features available in Boto3.

Each supported client is published as a service-specific package whose name begins with aws-sdk-. Before you adopt the SDK, verify that the service and operations that your application requires are available. For the current client packages and their release status, see the AWS SDK for Python v4 repository on GitHub.

For guidance on supported AWS services, see Working with AWS services.

Get started with the SDK

To begin evaluating the AWS SDK for Python v4, use the following resources:

Additional documentation and resources

In addition to this guide, the following are valuable online resources for AWS SDK for Python v4 developers:

Maintenance and support for SDK major versions

For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Reference Guide: