Release v6.0.1.1 (What’s new?).

Documentation Status https://github.com/MacHu-GWU/pynamodb_mate-project/workflows/CI/badge.svg https://codecov.io/gh/MacHu-GWU/pynamodb_mate-project/branch/master/graph/badge.svg https://img.shields.io/pypi/v/pynamodb_mate.svg https://img.shields.io/pypi/l/pynamodb_mate.svg https://img.shields.io/pypi/pyversions/pynamodb_mate.svg https://img.shields.io/pypi/dm/pynamodb-mate.svg https://img.shields.io/badge/Release_History!--None.svg?style=social https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social
https://img.shields.io/badge/Link-Document-blue.svg https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Source_Code-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to pynamodb_mate Documentation#

📙 Full Documentation is Here

https://pynamodb-mate.readthedocs.io/en/latest/_static/pynamodb_mate-logo.png

Overview#

pynamodb_mate provides advanced best practice using DynamoDB in python. Built on top of pynamodb python library. It maintain the compatibility to major version of pynamodb library. For example pynamodb_mate>=5.0.0,<6.0.0 is compatible to pynamodb>=5.0.0,<6.0.0, pynamodb_mate==5.5.1.X is compatible to pynamodb>=5.5.1,<6.0.0, pynamodb_mate==6.0.0.X is compatible to pynamodb>=6.0.0,<7.0.0.

Disclaimer#

Even though the author is a Dynamodb Subject Matter Expert from AWS, but this project is NOT an AWS official project, and it is a personal open source project for the Python community.

Features#

pynamodb_mate provides some commonly used patterns. It is based on the author’s experience providing solutions to many customers from different industries. Click on the link below to see detailed tutorial and examples.

  • Store Large Object in DynamoDB: This feature allows you to store any Python object and arbitrary big data in DynamoDB that can exceed the 400KB limit. It also handles data consistency and data integrity between DynamoDB and S3.

  • Client Side Encryption: This feature allows you to use your own encryption key to encrypt your data before it is sent to the DynamoDB.

  • Compressed Attribute: This feature can automatically compress the data before it is sent to the DynamoDB, it would save you a lot of money if you use JSON attribute in DynamoDB.

  • AWS DynamoDB Console Url: This feature can print the AWS DynamoDB console url for the table, items. You can use this in you log to quickly jump to the console to debug.

  • Use DynamoDB as a Cache Backend: This feature gives you a “Redis” liked, serverless, Zero-ops, auto-scaling, high performance, pay-as-you-go cache layer based on DynamoDB.

  • Enable status tracking for business critical application using Amazon DynamoDB: This feature gives you the ability to track status of each task, and error-handling, retry, concurrency control out-of-the-box.

  • Modeling Relational Data in DynamoDB: This feature allow you to manage mass amount entity and one-to-many, many-to-many relationship in DynamoDB using the ultimate data modeling strategy that has high performance and scales well. Made data modeling in DynamoDB deadly simple.

Install#

pynamodb_mate is released on PyPI, so all you need is:

$ pip install pynamodb_mate

To upgrade to latest version:

$ pip install --upgrade pynamodb_mate

In order to use the following feature, you need to run pip install pynamodb_mate[encrypt] first:

  • pynamodb_mate.EncryptedNumberAttribute

  • pynamodb_mate.EncryptedUnicodeAttribute

  • pynamodb_mate.EncryptedBinaryAttribute

  • pynamodb_mate.EncryptedJsonDictAttribute

Table of Content#

About the Author#

Sanhe Hu is a very active Python Developer and AWS veteran Since 2010. Research area includes Machine Learning, Big Data Infrastructure, Block Chain, Business Intelligent, AWS, Distributive System. Love photography, outdoor, arts, game, and also the best Python.

API Document#