Skip to content

List Multipart Uploads (GSI-2081)#214

Merged
TheByronHimes merged 3 commits intomainfrom
feature/s3_list_mpu_GSI-2081
Feb 3, 2026
Merged

List Multipart Uploads (GSI-2081)#214
TheByronHimes merged 3 commits intomainfrom
feature/s3_list_mpu_GSI-2081

Conversation

@TheByronHimes
Copy link
Copy Markdown
Member

@TheByronHimes TheByronHimes commented Feb 2, 2026

Add list_multipart_uploads() to the protocol and the S3 provider, as well as the InMemObjectStorage test class. The method takes a bucket ID and, optionally, an object ID. If an object ID is provided, the results are filtered to only show uploads for the specified object ID. The result is a dict[str, str] ({upload_id: object_id}), which makes the name slightly misleading. Maybe it makes more sense to name it get_multipart_uploads(), or to return a list of 2-tuples.

There is no version bump as this is intended to be released in v8.0.0 along with the already-merged DAO index changes.

@TheByronHimes TheByronHimes requested a review from Cito February 2, 2026 16:10
@TheByronHimes TheByronHimes marked this pull request as ready for review February 2, 2026 16:10
Copy link
Copy Markdown
Member

@Cito Cito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but I agree the name list_multipart_uploads is now misleading.

Why not provide two methods, one like it was before and another one get_all_multipart_uploads that would return a dict with object IDs as values?

I think that is cleaner than a dual-purpose method.

Comment thread src/hexkit/providers/s3/provider.py Outdated
@coveralls
Copy link
Copy Markdown

coveralls commented Feb 3, 2026

Pull Request Test Coverage Report for Build 21626058637

Details

  • 30 of 31 (96.77%) changed or added relevant lines in 3 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.05%) to 93.262%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/hexkit/providers/s3/provider.py 13 14 92.86%
Totals Coverage Status
Change from base Build 21594182826: 0.05%
Covered Lines: 3142
Relevant Lines: 3369

💛 - Coveralls

@TheByronHimes
Copy link
Copy Markdown
Member Author

@Cito I've split the function into two parts as suggested

@TheByronHimes TheByronHimes requested a review from Cito February 3, 2026 09:52
Cito
Cito previously approved these changes Feb 3, 2026
Copy link
Copy Markdown
Member

@Cito Cito left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have also kept the old name with _for_object because now you wonder why we have two functions. But with _for_object and get_all_ it will be clear.

@TheByronHimes TheByronHimes merged commit 7d527ee into main Feb 3, 2026
8 checks passed
@TheByronHimes TheByronHimes deleted the feature/s3_list_mpu_GSI-2081 branch February 3, 2026 10:40
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.

3 participants