Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Async boto3 wrapper

Project Description

Async AWS SDK for Python

This package is mostly just a wrapper combining the great work of boto3 and aiobotocore.

aiobotocore allows you to use near enough all of the boto3 client commands in an async manner just by prefixing the command with await.

With aioboto3 you can now usxe the higher level APIs provided by boto3 in an asynchronous manner. Mainly I developed this as I wanted to use the boto3 dynamodb Table object in some async microservices.

Whilst all resources in boto3 should work I havent tested them all, so if what your after is not in the table below then try it out, if it works drop me an issue with a simple test case and I’ll add it to the table.

Services Status
DynamoDB Service Resource Tested and working
DynamoDB Table Tested and working


Simple example of using aioboto3 to put items into a dynamodb table

import asyncio
import aioboto3
from boto3.dynamodb.conditions import Key

async def main():
    async with aioboto3.resource('dynamodb', region_name='eu-central-1') as dynamo_resource:
        table = dynamo_resource.Table('test_table')

        await table.put_item(
            Item={'pk': 'test1', 'col1': 'some_data'}

        result = await table.query(


loop = asyncio.get_event_loop()

# Outputs:
#  [{'col1': 'some_data', 'pk': 'test1'}]

Things that either dont work or have been patched

As this library literally wraps boto3, its inevitable that some things won’t magically be async.

  • s3_client.copy This is performed by the s3transfer module. I believe s3_client.copy_object performs the same function


  • s3_client.download_file* This is performed by the s3transfer module. – Patched with get_object
  • s3_client.upload_file* This is performed by the s3transfer module. – Patched with put_object


Docs are here -

Examples here -


  • Closely mimics the usage of boto3.


  • More Examples
  • Set up docs
  • Look into monkey-patching the aws xray sdk to be more async if it needs to be.


This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template. It also makes use of the aiobotocore and boto3 libraries. All the credit goes to them, this is mainly a wrapper with some examples.


2.0.0 (2017-12-30)

  • Patched most s3transfer functions

1.1.2 (2017-11-29)

  • Fixup of lingering GPL license texts

0.1.0 (2017-09-25)

  • First release on PyPI.

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(11.8 kB) Copy SHA256 Hash SHA256
Wheel py2.py3 Jan 24, 2018
(25.5 kB) Copy SHA256 Hash SHA256
Source None Jan 24, 2018

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers