v0.0.4
New Features
- Server Hooks: Added event hook system for request interception and upload lifecycle
on_incoming_request: Gate requests before processing (e.g., auth, rate limiting). RaiseTusHookErrorto reject.on_upload_create: Validate or replace metadata before upload creation. RaiseTusHookErrorto reject.on_upload_complete: React after upload finishes (e.g., post-processing, notifications). Exceptions logged only.on_upload_terminate: React after upload deletion (e.g., cleanup). Exceptions logged only.- New
TusHookError(status_code, body)exception for rejecting requests with custom status codes
- S3 Storage Backend: Added
S3Storageusing S3 multipart upload API with buffer-and-flush strategy- Install with
pip install resumable-upload[s3]
- Install with
- GCS Storage Backend: Added
GCSStorageusing Google Cloud Storage compose API with hierarchical composition for large uploads- Install with
pip install resumable-upload[gcs]
- Install with
- Azure Storage Backend: Added
AzureBlobStorageusing Azure Block Blobs with staged blocks- Install with
pip install resumable-upload[azure]
- Install with
- All three cloud backends implement the
StorageABC as drop-in replacements forSQLiteStorage - Install all cloud backends at once with
pip install resumable-upload[all-storage]
Documentation
- Added cloud storage backends documentation with parameters, usage examples, and installation instructions
- Added server hooks documentation with hook table and code examples
- Added
TusHookErrorto exceptions reference
CI
- Split docs workflow into separate build and deploy jobs
Full Changelog: v0.0.3...v0.0.4