Skip to main content
[ SYS ] v0.7.1 is online.

dkmio

The most efficient way to interact with DynamoDB.

Define your tables with just keys and indexes. dkmio handles expression building, attribute escaping, and pagination automatically. No schema, no bottlenecks.

quick_example.py
from dkmio import DynamoDB, PK, SK

db = DynamoDB(region_name="us-east-1")

class Orders(db.Table):
__table_name__ = "orders"
pk = PK("user_id")
sk = SK("order_id")

orders = Orders()

# Get a single item
order = orders.get(user_id="usr_123", order_id="ord_456")

# Query with conditions — auto-executes
for order in orders.query(user_id="usr_123").filter(total__gt=50):
print(order["total"])

[ FEATURES ]

Core capabilities for production environments.

[ 01 ]

Minimal Definition

Only PK, SK, and indexes. No rigid attribute schemas — embrace the NoSQL philosophy.

[ 02 ]

Fluent API

Chain methods naturally: .query().where().filter().limit() for pristine code clarity.

[ 03 ]

Auto-Execute

Builders trigger execution intelligently on iteration, indexing, or len() calls.

[ 04 ]

Smart Projection

Validates attributes against index projections. No more silent partial data returns.

[ 05 ]

Batch Optimizations

Auto-chunks and retries with exponential backoff for large-scale operations.

[ 06 ]

Auto-Pagination

.fetch_all() and .count() handle multi-page results seamlessly behind the scenes.

[ SYSTEM_INIT ]

Initialize the package via pip.

$ pip install dkmio

Requirement: boto3 >= 1.26.0