Registry / aws / aiodynamo

aiodynamo

JSON →
library26.4pypypi✓ verified 21d ago

aiodynamo is an asynchronous Python client for Amazon DynamoDB, built using asyncio. It provides a clean, Pythonic API for interacting with DynamoDB, including support for expressions, transactions, and various credential providers. The current version is 24.7, and releases occur somewhat irregularly, often monthly or quarterly, incorporating bug fixes and new features.

pip install aiodynamo
INSTALL
IMPORT
SIG · AIODYNAMO
A
aiodynamo
awspythonv26.4
Install
3.3s avg
Import
Disk
27MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v26.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.915 runs
installs and imports cleanly · install 0.0s · import 0.000s · 27.3MB
glibc
py 3.103.915 runs
installs and imports cleanly · install 3.3s · import 0.000s · 29MB
27MB installed
● package 27MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Client
import aiodynamo
from aiodynamo import Client

This quickstart demonstrates how to initialize the aiodynamo client using environment variables for AWS credentials and region, and then perform a simple operation like listing tables. Remember to install an HTTP client like `httpx` (e.g., `pip install aiodynamo[httpx]`) for the client to function.

import asyncio import os from aiodynamo import Client, AWSCredentials async def main(): # Configure AWS credentials and region via environment variables # or replace with your actual values. # AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION client = Client( region=os.environ.get("AWS_REGION", "us-east-1"), credentials=AWSCredentials( aws_access_key_id=os.environ.get("AWS_ACCESS_KEY_ID", ""), aws_secret_access_key=os.environ.get("AWS_SECRET_ACCESS_KEY", ""), ) ) print("Attempting to connect to DynamoDB...") try: # Example: List tables (requires appropriate IAM permissions) response = await client.list_tables() print(f"DynamoDB Tables: {response.table_names}") except Exception as e: print(f"Error interacting with DynamoDB: {e}") finally: await client.close() print("Client closed.") if __name__ == "__main__": asyncio.run(main())
Debug
Known issues
breakingSupport for Python 3.7 was dropped in version 23.10.
fix
Upgrade to Python 3.8 or newer to use aiodynamo versions 23.10 and above.
affects: >=23.10
gotchaaiodynamo requires an HTTP client library (like httpx or aiohttp) to be installed separately. The base `pip install aiodynamo` does not include one.
fix
Install with an extra, e.g., `pip install aiodynamo[httpx]` or `pip install aiodynamo[aiohttp]`.
affects: All versions
gotchaVersion 23.10 introduced a timing issue with refreshable credentials that was fixed in 23.10.1. Older versions might exhibit unstable credential refreshing.
fix
Ensure you are using `aiodynamo` version 23.10.1 or newer if relying on refreshable credentials.
affects: 23.10
gotchaLogging for requests and responses was separated into distinct named loggers in version 24.7.
fix
Review and update your logging configuration if you were previously capturing all aiodynamo logs under a single logger and need specific request/response log handling.
affects: >=24.7
gotchaVersions 21.9 and newer require `httpx>=0.15.0` when using the httpx client backend.
fix
Ensure your `httpx` installation is at least version 0.15.0 or newer if you encounter dependency conflicts or unexpected behavior with older `httpx` versions.
affects: >=21.9
Upgrade
Version history
26.4latest on PyPI · released Apr 22, 2026
Audit
Dependencies
httpxoptionalOne of the optional HTTP client backends for communicating with DynamoDB.
aiohttpoptionalOne of the optional HTTP client backends for communicating with DynamoDB.
Agent activity
64 hits · last 30 days
node
52
OpenAI (training)
2
Perplexity
1
Resources
aiodynamo — pip install aiodynamo · libregistry