Commit c3a6e99
feat: add true streaming upload support with StreamingDataItem
- Add StreamingDataItem class that wraps data streams with DataItem headers
- Add create_data_header() for building headers separately from data
- Use sign_stream to compute signatures without loading entire file into memory
- Update _upload_chunked() to use streaming by default for all inputs
- Bytes inputs are wrapped in BytesIO for unified code path
This enables uploading large files with constant memory usage regardless
of file size. The stream is read twice: once for signing (computing the
deep hash), and once for the actual upload.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>1 parent 1d4dba0 commit c3a6e99
5 files changed
Lines changed: 829 additions & 15 deletions
0 commit comments