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!


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