aiobotocore

3.3.0 · active · verified Fri Mar 27

aiobotocore is an asyncio-native, mostly feature-complete async wrapper around botocore, enabling non-blocking AWS service calls via aiohttp (with experimental httpx support). Current version is 3.3.0. Releases track botocore closely — minor/patch releases drop frequently (often weekly) to relax or bump the botocore dependency range, with occasional minor releases adding features like socket_factory support in AioConfig.

Warnings

Install

Imports

Quickstart

List S3 buckets using an async context-managed client with credentials from environment variables.

import asyncio
import os
from aiobotocore.session import get_session
import botocore.exceptions

async def main():
    session = get_session()
    async with session.create_client(
        's3',
        region_name='us-east-1',
        aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID', ''),
        aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY', ''),
    ) as client:
        try:
            response = await client.list_buckets()
            for bucket in response.get('Buckets', []):
                print(bucket['Name'])
        except botocore.exceptions.ClientError as e:
            print(f"AWS error: {e.response['Error']['Code']} - {e.response['Error']['Message']}")
        except botocore.exceptions.NoCredentialsError:
            print('No credentials found')

asyncio.run(main())

view raw JSON →