How can I access Amazon DynamoDB via Python?

You can use boto3: https://github.com/boto/boto3

docs: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/dynamodb.html

api reference: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html


Another alternative is PynamoDB. PynamoDB provides an ORM like interface to DynamoDB and supports both Python 2 and Python 3. The entire DynamoDB API is supported by PynamoDB - including global and local secondary indexes, batch operations, binary attributes, queries, scans, etc.

Disclaimer: I wrote PynamoDB.


Disclaimer: I'm the current maintainer

You can use Dynamodb-mapper Python library. It's a simple/tiny abstraction layer that allows you to map plain Python object to DynamoDB. It also features a transaction engine.

For advanced tasks such as table management it is still better to directly use Boto (which we rely on, anyway).