How thumbor/thumbor-aws works
thumbor-aws is a set of independently configurable Thumbor extensions for S3: loading source images, storing originals and associated metadata, and storing generated results. Thumbor selects the extensions through its configuration; each extension uses shared S3-client functionality, while path normalization is visible in the loader and original-image storage excerpts. The README documents the result-storage capability and its S3 role, but its implementation was not sampled, so its internal calls are not shown.
Main entry points: loader.py Source image loader · storage.py Original storage · s3_client.py S3 client · result_storage.py Result storage
Components 8
Thumbor extensions
- Source image loader
thumbor_aws/loader.py - Original storage
thumbor_aws/storage.py - Result storage
thumbor_aws/result_storage.py
Shared infrastructure
- Extension configuration
thumbor_aws/config.py - S3 client
thumbor_aws/s3_client.py - Path normalization
thumbor_aws/utils.py
External systems
- AWS S3
Other components
- Thumbor service
Connections 11
- Thumbor service → Source image loader: configures loader
README.md - Thumbor service → Original storage: configures storage
README.md - Thumbor service → Result storage: configures results
README.md - Source image loader → Extension configuration: defines settings
thumbor_aws/loader.py - Original storage → Extension configuration: defines settings
thumbor_aws/storage.py - Source image loader → S3 client: fetches images
thumbor_aws/loader.py - Original storage → S3 client: stores and fetches
thumbor_aws/storage.py - Source image loader → Path normalization: normalizes keys
thumbor_aws/loader.py - Original storage → Path normalization: normalizes keys
thumbor_aws/storage.py - S3 client → AWS S3: accesses objects
README.md - Result storage → AWS S3: stores results
README.md