LowVoltage

LowVoltage is a standalone Python (2.7+ and 3.4+) client for DynamoDB that doesn’t hide any feature of the API.

It’s licensed under the MIT license. It depends only on the excellent python-requests library. It’s available on the Python package index, its documentation is hosted by Python and its source code is on GitHub.

It’s currently in the beta stage, meaning I believe the interface will be faily stable but may still change if we have good reasons to do so. Please have a look to the changelog when updating between v0.x releases. I’ll do my best to respect semantic versioning.

Questions? Remarks? Bugs? Want to contribute? Open an issue!

https://badge.waffle.io/jacquev6/lowvoltage.png?label=ready&title=ready

Quick start

Install from PyPI:

$ pip install LowVoltage

Import the package and create a connection (assuming your AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables are set):

>>> from LowVoltage import *
>>> connection = Connection("us-west-2", EnvironmentCredentials())

Assuming you have a table named "LowVoltage.Tests.Doc.1" with a hash key on the number attribute "h", you can put an item and get it back:

>>> table = "LowVoltage.Tests.Doc.1"
>>> connection(PutItem(table, {"h": 0, "a": 42, "b": u"bar"}))
<LowVoltage.actions.put_item.PutItemResponse ...>
>>> connection(GetItem(table, {"h": 0})).item
{u'a': 42, u'h': 0, u'b': u'bar'}

Indices and tables