Python 3 compatible library for DynamoDB
Project description
Dynamo3
Build: | |
---|---|
Downloads: | http://pypi.python.org/pypi/dynamo3 |
Source: | https://github.com/stevearc/dynamo3 |
Dynamo3 is a library for querying DynamoDB. It is designed to be higher-level than boto (it’s built on top of botocore), to make simple operations easier to perform and understand.
Features
- Mypy-typed API
- Python object wrappers for most AWS data structures
- Automatic serialization of built-in types, with hooks for custom types
- Automatic paging of results
- Automatic batching for batch_write_item
- Exponential backoff of requests when throughput is exceeded
- Throughput limits to self-throttle requests to a certain rate
- Nose plugin for running DynamoDB Local
DynamoDB features that are not yet supported
- Reading from streams
- Adding/removing tags on a table
- Table backups
- Scanning with segments
- Table replicas (Global tables version 2019.11.21)
- Table auto scaling
- DAX
Note that you can still access these APIs by using DynamoDBConnection.call, though you may prefer to go straight to boto3/botocore.
Changelog
1.0.0
- Removed the legacy API (scan, query, update_item, delete_item, put_item, get_item)
- Renamed the new API methods to match the old ones (e.g. scan2 -> scan, query2 -> query)
- Moved constant values into dynamo3.constants. This is where you can now find STRING, BINARY, etc
- Added mypy typing where possible
- Drop support for Python 2
- Add support for table billing mode (aka on-demand tables)
- Add support for SSE, TTL, and transactions
0.4.10
- Fixed DynamoDB Local link in testing framework
0.4.9
- Feature: Result objects from get_item have an exists flag
- Feature: wait keyword for create and delete table
0.4.8
- Bug fix: Scans/Queries could return incomplete results if AWS returned an empty Items list
0.4.7
- New RateLimit class to avoid blowing through your provisioned throughput
0.4.6
- New Limit class for more complex query limit behavior
- Bug fix: Scan and Query with Select='COUNT' will page results properly
0.4.5
- batch_get supports alias arg for ExpressionAttributeNames
0.4.4
- Make connection stateless again. Puts consumed_capacity into response object and fixes mystery crash.
0.4.3
- Bug fix: getting ConsumedCapacity doesn’t crash for BatchGetItem and BatchWriteItem
- Feature: connection.default_return_capacity
- Feature: hooks for precall, postcall, and capacity
- Better handling of ConsumedCapacity results
0.4.2
- Feature: New methods to take advantage of the newer expression API. See get_item2, put_item2.
- Feature: Shortcut use_version for switching over to the new APIs.
0.4.1
- Feature: update_table can create and delete global indexes
- Feature: New methods to take advantage of the newer expression API. See scan2, query2, update_item2, and delete_item2.
0.4.0
- Migrating to botocore client API since services will be deprecated soon
0.3.2
- Bug fix: Serialization of blobs broken with botocore 0.85.0
0.3.1
- Bug fix: Crash when parsing description of table being deleted
0.3.0
- Breakage: Dropping support for python 3.2 due to lack of botocore support
- Feature: Support JSON document data types
Features thanks to DynamoDB upgrades: https://aws.amazon.com/blogs/aws/dynamodb-update-json-and-more/
0.2.2
- Tweak: Nose plugin allows setting region when connecting to DynamoDB Local
0.2.1
- Feature: New, unified connect method
0.2.0
- Feature: More expressive ‘expected’ conditionals
- Feature: Queries can filter on non-indexed fields
- Feature: Filter constraints may be OR’d together
Features thanks to DynamoDB upgrades: http://aws.amazon.com/blogs/aws/improved-queries-and-updates-for-dynamodb/
0.1.3
- Bug fix: sometimes crash after deleting table
- Bug fix: DynamoDB Local nose plugin fails
0.1.2
- Bug fix: serializing ints fails
0.1.1
- Feature: Allow access_key and secret_key to be passed to the DynamoDBConnection.connect_to_* methods
0.1.0
- First public release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dynamo3-1.0.0.tar.gz
(37.2 kB
view hashes)
Built Distribution
dynamo3-1.0.0-py3-none-any.whl
(39.1 kB
view hashes)