Create transient, metadata-preserving copies of DynamoDB tables.
Project description
DynamoDB Ghost
DynamoDB Ghost is a small Python library providing the ability to create transient, metadata-preserving copies of DynamoDB tables on AWS.
Installation
As easy as pip.
pip install dynamodb-ghost
Usage
The main intention of DynamoDB Ghost is to be used as a testing aid in cases where we wish to apply a set of tests to an existing table without making modifications to the original (e.g. as part of setup)
Using pytests fixtures, a sample test such as:
import pytest
import boto3
@pytest.fixture
def my_table():
return boto3.resource('dynamodb').Table('my_table')
def test_table(my_table):
assert ...
insead becomes:
import pytest
import boto3
from dynamodb_ghost import ghost
@pytest.fixture
def my_table():
with ghost(boto3.client('dynamodb'), 'my_table') as ghost_table:
yield boto3.resource('dynamodb').Table(ghost_table)
def test_table(my_table):
assert ...
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
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
File details
Details for the file dynamodb_ghost-0.0.2.tar.gz
.
File metadata
- Download URL: dynamodb_ghost-0.0.2.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a35552ef4abe36d967115e99a9c1e6bf01d0d93682ded8643c2e50e75d049a4 |
|
MD5 | 2f2bb9b9f0ba179fbf807f5dba6fd5e2 |
|
BLAKE2b-256 | 24451b72d851a7d81817996dd9ff1f748903e06f926d72a3ed2ffe926cfea222 |