Introduction
What is botowrap?
Botowrap is a modular framework for extending boto3 clients with automatic enhancements, wrappers, and developer-friendly features. It provides a structured way to add functionality to the standard boto3 clients.
Key Features
Modular Extension System: Easily add or remove features from boto3 clients
Type-Safe: Full type annotations for better IDE integration
- DynamoDB Enhancement: Includes a powerful DynamoDB document client with:
Python↔DynamoDB (de)serialization
Auto‐CreatedAt/UpdatedAt timestamps
Jittered exponential backoff on throttling
query_all/scan_all pagination helpers
ConsumedCapacity logging
Design Philosophy
Botowrap is designed to be:
Non-intrusive: It enhances boto3 clients without changing their core behavior
Modular: Extensions can be added or removed independently
Transparent: The enhanced clients behave just like standard boto3 clients, but with extra features
Typed: Full type annotations provide excellent IDE integration and type safety
Use Cases
Simplifying DynamoDB interaction by automatically handling serialization/deserialization
Adding automatic timestamps for data auditing
Implementing consistent retry logic across your application
Standardizing logging and monitoring of AWS resource usage