A intelligent DynamoDB frontend for Python 3
Project description
Byrne
A intelligent DynamoDB frontend for Python3
Basic Usage
Importing the package
import boto3 # require to build a client
import byrne
Creating a client
session = boto3.Session()
base_client = session.client("dynamodb")
client = byrne.DynamoDB(base_client)
client.list_tables() # ["table", "names"]
Creating a Table
table_def = byrne.datastructures.TableDefinition(
"TableName",
{
"id": "S"
},
byrne.datastructures.KeyDefinition("id")
)
client.create_table(table_def)
FAQ
-
How do I install
byrne
?- Simply run
pip3 install byrne
- the PyPI package is automatically kept up to date with this repository.
- Simply run
-
Why does this require Python 3.7?
- We use dataclasses heavily to model table metadata and to simplify query expressions.
-
Why is this better than using the default client in
boto3
?- Support for asyncronous result pagination.
- Allows for integrated object mapping.
- Configurable value marshalling and unmarshalling.
- A more Pythonic interface.
- Builtin support for working with DAX.
-
How is the package tested?
- The testing regimen is automated through
tox
. - Tests are run against a DynamoDB Local instance for all supported Python versions.
- The tests are run against the live DynamoDB service in AWS us-east-1 for the latest Python version.
- Code coverage is tracked through Coveralls.
- The testing regimen is automated through
-
Why is the DAX code path untested?
- We are working on creating a testing strategy for DAX workflows.
- DAX is expensive, we can't justify having a dedicated cluster running only for testing.
-
I can't run the test cases on my local machine! Help!
- There are 5 test environments defined in
tox.ini
:test
: Runs test suite against "real" DynamoDB.test_local
: Runs test suite against DynamoDB Local.test_coverage
: Same astest
, with coverage reporting.test_coverage_local
: Same astest_local
, with coverage reporting.flake8
: Runs PEP8 conformance testing.
- The live test cases require AWS credentials on your machine.
- These credentials need access rights to assume a role used for testing.
- Access to this role is only granted to trusted contributors.
- You should be able to run the local environments after executing the
run_dynamodb_local.sh
script. flake8
should run without any fuss.
- There are 5 test environments defined in
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
byrne-1.0.0.tar.gz
(14.6 kB
view details)
Built Distribution
byrne-1.0.0-py3-none-any.whl
(17.5 kB
view details)
File details
Details for the file byrne-1.0.0.tar.gz
.
File metadata
- Download URL: byrne-1.0.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 244d78f6c71285a8b16c7a605c614f8928691b2ca976e108f6c0bd5bb4d381fa |
|
MD5 | 02f784bd0f90b7ed236008ce6d466fda |
|
BLAKE2b-256 | d141fd9b5300ed996aae97d0f352eeae80819a35351a926a74fc90cafab615c7 |
File details
Details for the file byrne-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: byrne-1.0.0-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.12.1 Darwin/23.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52e5bfd56310032e698c9b0d2c0fc8d7a7f524414a67537e67da7e3cbc91e114 |
|
MD5 | dfcdd3633499ffa4fe78a3b6f3fa2b3b |
|
BLAKE2b-256 | 065c3369755367352e2c359bced1c8849594d9ac035bbdac6d6209bc5738e344 |