View a markdown version of this page

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

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.

What is the AWS SDK for Python?

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 — Developer Preview. 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.

Developer Preview

The AWS SDK for Python is currently in Developer Preview. Use it to evaluate supported features and provide feedback in development and test environments. Do not use it for production workloads. APIs and behavior might change before general availability. Pin package versions and test your application when you upgrade. For guidance on choosing between the two SDKs, see Choosing the right AWS SDK for Python.

About this guide

This guide covers the AWS SDK for Python (Developer Preview). 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 Developer Preview 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 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, use the following resources:

Additional documentation and resources

In addition to this guide, the following are valuable online resources for AWS SDK for Python 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: