Skip to main content

dynamodb-traverse

High performance, thread safe, hackable, general purpose traversing tool for AWS DynamoDB based on aioboto3.

Build Status Build Status

Why manually traverse dynamodb table?

There're tens of ways to consume dynamodb data, for example, dynamodb stream, emr dynamodb connector, kinesis stream... they are good for different use cases. Manual traverse has following benefits comparing to these solutions:

  • Deal with "small data"
  • Schema evolution, table migration
  • Custom TTL mechanism
  • Full control over offline traversing
  • Work with complicated nosql schema
  • Cross AWS account data replication/transformation

Irrelevant use cases

Since dynamodb-traverse is not native to AWS, do not use if your use cases like:

  • Real time streaming
  • Simple nosql schema that maps one primary key value to one sort key value
  • Big data (~TB) workload that requires dedicated emr clusters
  • Data backup

Installation/Uninstallation

Prerequisite: python 3.8+ and aioboto3>=6.4.1 (bleeding edge)

Run following command to install requirements:

$ pip install aioboto3

Next, install dynamodb-traverse by running:

$ pip install dynamodb-traverse

To uninstall dynamodb-traverse, run:

$ pip uninstall dynamodb-traverse

Setup

  • dynamodb-traverse by default looks at ~/.aws/credentials for profiles you specified in the client. Make sure you have created profile to access dynamodb.
  • You can specify audit log location when initializing client. By default it writes to /tmp/dynamodb_traverse_xxx.log.
  • We recommend using 35 as default scan batch size because of dynamodb limitations

Benchmark (in progress)

Release files for dynamodb-traverse 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dynamodb-traverse 0.1.7
File Size Uploaded
dynamodb-traverse-0.1.7.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dynamodb-traverse 0.1.7
File Interpreter ABI Platform
dynamodb_traverse-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / dynamodb-traverse-0.1.7.tar.gz

Download URL dynamodb-traverse-0.1.7.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d9a1ec7b751c8a25f5cdf34bb19f031952915ba8cd8fc71e3296bdf7206b8366
BLAKE2b-256 checksum
How to use checksums
cb84daebea5445c8ccca0d555dff5da92a092e0605f5f3cd726bfaf47aae53ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0

Release files / dynamodb_traverse-0.1.7-py3-none-any.whl

Download URL dynamodb_traverse-0.1.7-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e15d43b17f15db5c887284ed8ed7c2a401643676b3b58740e54f938452377f20
BLAKE2b-256 checksum
How to use checksums
c5e5034c38a9f53d3ceda6723e712c14823dcd84082a67b8f02c2c4e2094c9ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.8.0

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page