Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add logic for handling large files in MultipartWriter uploads to s3 #796

Merged
merged 11 commits into from
Feb 22, 2024

Conversation

jakkdl
Copy link
Contributor

@jakkdl jakkdl commented Jan 26, 2024

fixes #380

I'll likely go through the PR later and add a couple more comments, but otherwise it's done.

It'd be great if botocore allowed memoryviews to be directly passed to it, which would mean we wouldn't need to write a copy of the data in the buffer. But we probably don't want to wait for if/when boto/botocore#3107 is merged+released

I added a couple types as I was working to understand the current code, and given #518 I thought I might as well keep them. But can remove them if you don't want a couple random types hanging around.

@jakkdl
Copy link
Contributor Author

jakkdl commented Jan 26, 2024

Ah oops, totally missed there was no pre-commit with black configured. Ran my sections through black and copy-pasted the output and it's passing flake8 locally now

@jakkdl
Copy link
Contributor Author

jakkdl commented Feb 9, 2024

Any possibility of getting this reviewed? :)

@mpenkov
Copy link
Collaborator

mpenkov commented Feb 13, 2024

Hi, thank you for the PR. I'm busy with other parts of my life at the moment, but I'll try to review your work within the next couple of weeks.

smart_open/tests/test_s3.py Outdated Show resolved Hide resolved
smart_open/s3.py Outdated Show resolved Hide resolved
@mpenkov mpenkov merged commit 29eade9 into piskvorky:develop Feb 22, 2024
21 checks passed
@mpenkov
Copy link
Collaborator

mpenkov commented Feb 22, 2024

Thank you for your work on this!

ddelange added a commit to ddelange/smart_open that referenced this pull request Feb 22, 2024
…open into patch-2

* 'develop' of https://github.com/RaRe-Technologies/smart_open:
  fix test, for real this time
  update integration test
  Add advanced usage sections to README.rst (piskvorky#741)
  Add logic for handling large files in MultipartWriter uploads to s3 (piskvorky#796)
  Fix __str__ method in SinglepartWriter (piskvorky#791)
@jakkdl jakkdl deleted the large_s3_file_upload branch February 22, 2024 09:15
@@ -6,6 +6,7 @@
# from the MIT License (MIT).
#
"""Implements file-like objects for reading and writing from/to AWS S3."""
from __future__ import annotations
Copy link

Choose a reason for hiding this comment

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

@mpenkov this breaks compatibility for py3.6

Copy link
Collaborator

@mpenkov mpenkov Mar 7, 2024

Choose a reason for hiding this comment

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

we no longer support Py3.6

python_requires=">=3.7,<4.0",

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.

Upload big io.Buffer to S3
3 participants