aioboto3
Async boto3 wrapper
Decision gist · record as of 2026-08-14
Yes, if you need async AWS SDK access and are comfortable with async/await patterns. The package is stable, permissively licensed, and has low install friction. However, maintenance is aging (last release 288 days ago), so verify that the specific AWS services you need are tested and working before committing to a production dependency.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later; client and resource objects must be used as async context managers (not instantiated directly).
- Low install friction with only two runtime dependencies (aiobotocore and aiofiles).
- Maintenance status is aging—last release was 288 days ago—but the repository remains active and the package is marked Production/Stable with no known vulnerabilities.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), which allows commercial and private use with minimal restrictions; suitable for most projects.
last release 2025-10-30 (288 days) · last repo commit 2025-12-15 · 1,003 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 40,863,625 downloads/mo, #678 on PyPI
Alternatives
Verify before relying
import asyncio
import aioboto3
async def main():
session = aioboto3.Session()
async with session.resource('dynamodb', region_name='us-east-1') as dynamo:
table = await dynamo.Table('my_table')
await table.put_item(Item={'pk': 'test', 'data': 'value'})
asyncio.run(main())- Whether all boto3 resource types are fully tested and working beyond those explicitly listed (DynamoDB, S3, Kinesis, SSM, Athena).
- Current state of S3 client-side encryption support and whether the cryptography dependency is actively maintained.
What it is and what it does
aioboto3 is an async wrapper around boto3 and aiobotocore that lets you use AWS SDK operations without blocking your event loop. Instead of synchronous calls, you prefix commands with await to run them concurrently. It works with DynamoDB tables, S3 buckets, Kinesis streams, and other AWS services, providing higher-level resource APIs (like batch_writer and table queries) in async form.
The package requires you to create a session, then use async context managers to obtain clients or resources. Resource properties and operations are now coroutines, and many boto3 features that weren't natively async—like S3 file uploads, downloads, and DynamoDB batch operations—have been patched to work asynchronously. It also includes optional client-side encryption for S3 using KMS-managed keys.
Use it for
- Build async microservices that query DynamoDB tables without blocking worker threads.
- Upload or download multiple S3 objects concurrently in a single async function.
- Perform batch writes to DynamoDB using async context managers in high-throughput scenarios.
- Integrate AWS API calls into asyncio-based web frameworks or event-driven applications.
- Query Kinesis streams or SSM Parameter Store asynchronously within async workflows.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need async AWS SDK access and are comfortable with async/await patterns.
The package is stable, permissively licensed, and has low install friction. However, maintenance is aging (last release 288 days ago), so verify that the specific AWS services you need are tested and working before committing to a production dependency.
Install
aioboto3 on PyPI
Before you install
Low install friction with only two runtime dependencies (aiobotocore and aiofiles). Maintenance status is aging—last release was 288 days ago—but the repository remains active and the package is marked Production/Stable with no known vulnerabilities.
Requires Python 3.9 or later; client and resource objects must be used as async context managers (not instantiated directly).
License in practice
Licensed under Apache-2.0 (permissive), which allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
import asyncio
import aioboto3
async def main():
session = aioboto3.Session()
async with session.resource('dynamodb', region_name='us-east-1') as dynamo:
table = await dynamo.Table('my_table')
await table.put_item(Item={'pk': 'test', 'data': 'value'})
asyncio.run(main())
Verify before relying
- Whether all boto3 resource types are fully tested and working beyond those explicitly listed (DynamoDB, S3, Kinesis, SSM, Athena).
- Current state of S3 client-side encryption support and whether the cryptography dependency is actively maintained.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesaiobotocoreaiofiles |
| Maintenance | Aging 288 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 40,863,625 / month, #678 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: aioboto3-15.5.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “async aws sdk python”
- aioboto3Provides async/await support for AWS SDK operations, wrapping boto3…
- aiobotocore-otelAdds distributed tracing to aiobotocore AWS API calls via…
- aioawsLightweight asyncio SDK for AWS S3, SES, and SNS services with clean,…
Give your agent the search over MCP, or paste the wish link into any chat.
Similar packages
Provides async-compatible AWS service mocks for aiobotocore that share a backend with synchronous botocore clients, letting you test async and sync code against the same in-memory mock services.
xoto3 provides high-level utilities and abstractions for boto3 operations, particularly for AWS serverless development, including DynamoDB transactions, batch operations, CloudWatch query formatting, and Lambda finalization helpers.
However, verify the actual license terms before use—the metadata shows 'unclear' treatment with no SPDX identifier, which is a blocker for some projects.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Boto is a Python interface to Amazon Web Services, providing programmatic access to AWS services including EC2, S3, DynamoDB, RDS, and many others.
s3transfer manages concurrent uploads and downloads to Amazon S3, handling multipart transfers, retries, and bandwidth throttling through a high-level interface built on botocore.
However, if you are building production systems, either pin to a specific minor version or use boto3's stable S3 interface instead, as the maintainers explicitly warn…
Sends AWS CloudWatch metrics asynchronously and in batches from Python applications, with optional buffering and configurable dimensions.
See also s3fs · boto3 · dynamodb-encryption-sdk · boto3-type-annotations