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.shscript. flake8should 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|