Skip to content

Conversation

@blainekasten
Copy link
Contributor

…ous version

@linear
Copy link

linear bot commented Nov 18, 2025

ENG-48225 Update File Upload setup to not be controlled by stainless

Stainless suggested when custom code needs to happen, it may be best to not include it in the stainless spec so that no auto-generating code ever occurs - and conflicts will be avoided.

In doing this - I want to take 3 steps:

  1. Remove files upload from the stainless spec
  2. Update the TypeScript library to support upload on the files object, and sync the logic checks with the python library.
  3. Match same setup on the Python library.

@blainekasten blainekasten force-pushed the blaine/eng-48225-update-file-upload-setup-to-not-be-controlled-by-stainless branch from 185e6f3 to d61c383 Compare November 18, 2025 12:22
@blainekasten blainekasten merged commit e2a19ca into next Nov 18, 2025
4 of 9 checks passed
@stainless-app stainless-app bot mentioned this pull request Nov 18, 2025
blainekasten added a commit that referenced this pull request Nov 18, 2025
* chore(api): Remove auto-generated files upload API to support custom coded version

* feat(api): api update

* feat(api): file upload method signature and functionality match previ… (#174)

* feat(api): file upload method signature and functionality match previous version

* disable test

* fix locks

* ENG-41215: Client Multipart Upload implementation (together-py) (#159)

* feat: Add multipart upload support for large files up to 25GB

This implementation adds comprehensive multipart upload functionality to support
large dataset uploads up to 25GB, with automatic routing based on file size.

- **Size-based routing**: Files >5GB automatically use multipart upload
- **Concurrent uploads**: Up to 4 concurrent parts for optimal performance
- **Progress tracking**: Real-time progress bars for multipart uploads
- **Error handling**: Robust cleanup and retry mechanisms
- **Integrity verification**: SHA256 hash validation for uploaded files

- **Sync multipart**: MultipartUploadManager for synchronous uploads
- **Async multipart**: AsyncMultipartUploadManager using ThreadPoolExecutor
- **Consistent API**: Same upload_file() interface for both approaches
- **Performance optimized**: Efficient concurrent part uploads

* Update codebase after recent changes

* reduce duplicated code in sync/async upload managers

---------

Co-authored-by: Blaine Kasten <blainekasten@gmail.com>

* release: 0.1.0-alpha.28

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
Co-authored-by: Blaine Kasten <blainekasten@gmail.com>
Co-authored-by: Soroush <soroush.bassam@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants