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: 1. **Non-intrusive**: It enhances boto3 clients without changing their core behavior 2. **Modular**: Extensions can be added or removed independently 3. **Transparent**: The enhanced clients behave just like standard boto3 clients, but with extra features 4. **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