Skip to content

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

Merged
mpenkov merged 11 commits intopiskvorky:developfrom
jakkdl:large_s3_file_upload
Feb 22, 2024
Merged

Add logic for handling large files in MultipartWriter uploads to s3#796
mpenkov merged 11 commits intopiskvorky:developfrom
jakkdl:large_s3_file_upload

Conversation

@jakkdl
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor Author

jakkdl commented Feb 9, 2024

Any possibility of getting this reviewed? :)

@mpenkov
Copy link
Copy Markdown
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.

Comment thread smart_open/tests/test_s3.py Outdated
Comment thread smart_open/s3.py Outdated
@mpenkov mpenkov merged commit 29eade9 into piskvorky:develop Feb 22, 2024
@mpenkov
Copy link
Copy Markdown
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
Comment thread smart_open/s3.py
# from the MIT License (MIT).
#
"""Implements file-like objects for reading and writing from/to AWS S3."""
from __future__ import annotations
Copy link
Copy Markdown

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
Copy Markdown
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",

@ddelange ddelange mentioned this pull request Oct 10, 2024
3 tasks
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