Releases: piskvorky/smart_open
Releases · piskvorky/smart_open
v7.4.2
v7.4.1
v7.4.0
Note
[s3] As of this release, smart_open.s3.iter_bucket will use a single shared concurrent.futures.ThreadPoolExecutor with a single shared thread-safe S3.Client. For more details, see #896 (comment).
Warning
This version was yanked from PyPI because 7.4.0 introduced S3 tcp_keepalive, which is available as of boto3 1.9.17. A lower pin was added in 7.4.1.
What's Changed
- Disambiguate URI examples in README.rst by @ddelange in #879
- Remove travis leftover by @ddelange in #881
- build: fix invalid
fallback_versionwhen builing withuvby @DeflateAwning in #884 - Bump the github-actions group with 2 updates by @dependabot[bot] in #886
- Protect against hanging tests by @ddelange in #888
- [s3] Improve handling of InvalidRange and seek on empty file by @ddelange in #889
- Simplify CI, use uv by @ddelange in #890
- Add macos to CI by @ddelange in #891
- [s3] Optimize forward seeks within buffered data to avoid redundant GET by @ddelange in #892
- Run tests in parallel by @ddelange in #893
- [s3] Add range_chunk_size param to read using multiple GET requests by @ddelange in #887
- Drop python 3.8, add python 3.14 by @ddelange in #896
- Use compression.zstd (PEP-784) by @Rogdham in #895
New Contributors
- @DeflateAwning made their first contribution in #884
- @Rogdham made their first contribution in #895
Full Changelog: v7.3.1...v7.4.0
v7.3.1
What's Changed
- Fix release.sh for the final merge back into develop by @ddelange in #872
- Bump actions/checkout from 4 to 5 in the github-actions group by @dependabot[bot] in #877
- Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by @dependabot[bot] in #878
- Add .xz and increase performance of compression module by @ddelange in #875
Full Changelog: v7.3.0.post1...v7.3.1
v7.3.0.post1
What's Changed
- Fix release.sh merge message and final merge by @ddelange in #868
- Bump softprops/action-gh-release from 2.2.1 to 2.3.2 in the github-actions group by @dependabot in #867
- Fix CI badge by @ddelange in #869
- Drop 3.7 support in pyproject.toml by @ddelange in #871
New Contributors
- @dependabot made their first contribution in #867
Full Changelog: v7.3.0...v7.3.0.post1
v7.3.0
Warning
This version was yanked from PyPI because pyproject.toml falsely claimed that python 3.7 was still supported.
What's Changed
- Remove head_bucket call from s3.SinglepartWriter by @ddelange in #857
- Add help.txt linting step by @ddelange in #853
- Add buffer_size transport param to ssh.py by @ddelange in #861
- Fix integration test CI rot by @ddelange in #864
- Fix try-except in ssh.py for missing port in ssh config by @ddelange in #863
- Make s3.SinglepartWriter seekable by @ddelange in #854
- Modernize python packaging by @ddelange in #851
Full Changelog: v7.2.0...v7.3.0
v7.2.0
v7.1.0
v7.0.5
7.0.5, 2024-10-04
- Fix zstd compression in ab mode (PR #833, @ddelange)
- Fix close function not neing able to upload a compressed S3 (PR #838, @jbarragan-bridge)
- Fix test_http.request_callback (PR #828, @ddelange)
- Update readline logic for azure to match s3 (PR #826, @quantumfusion)
- Make http handler take an optional requests.Session (PR #825, @arondaniel)
- Ensure no side effects on SinglepartWriter exception (PR #820, @donsokolone)
- Add support for
get_blob_kwargsto GCS blob read operations (PR #817, @thejcannon)
v7.0.4
7.0.4, 2024-03-26
- Fix wb mode with zstd compression (PR #815, @djudd)
- Remove GCS bucket.exists call to avoid storage.buckets.get permission (PR #813, @ddelange)
7.0.3, 2024-03-21
- add support for zst writing (PR #812, @mpenkov)
- roll back PR #812, restore compatibility with built-in open function (@mpenkov)
7.0.2, 2024-03-21
- Add
__next__method to FileLikeProxy (PR #811, @ddelange) - Fix python_requires minimum python version in setup.py (PR #807, @pressler-vsc)
- Add activity check to cached sftp connections (PR #808, @greg-offerfit)
7.0.1, 2024-02-26
7.0.0, 2024-02-26
- Upgrade dev status classifier to stable (PR #798, @seebi)
- Add zstandard compression support (PR #801, @rlrs)
- Support moto 4 & 5 (PR #802, @jayvdb)
- Add logic for handling large files in MultipartWriter uploads to S3 (PR #796, @jakkdl)
- Add support for SSH connection via aliases from
~/.ssh/config(PR #790, @wbeardall) - Secure the connection using SSL when connecting to the FTPS server (PR #793, @wammaster)
- Make GCS I/O 1000x faster by avoiding unnecessary API call (PR #788, @JohnHBrock)
- Retry finalizing multipart S3 upload (PR #785, @ddelange)
- Handle exceptions during writes to Azure (PR #783, @ddelange)
- Fix formatting of python code in MIGRATING_FROM_OLDER_VERSIONS.rst (PR #795, @kenahoo)
- Fix str method in SinglepartWriter (PR #791, @ThosRTanner)
- Fix
KeyError: 'ContentRange'when received full content from S3 (PR #789, @messense) - Propagate exit call to the underlying filestream (PR #786, @ddelange)
6.4.0, 2023-09-07
- Ignore S3 seeks to the current position (PR #782, @beck3905)
- Set binary mode prior to FTP write (PR #781, @beck3905)
- Improve S3 URI Parsing for URIs with "@", "/", and ":" (PR #776, @rileypeterson)
- Add python 3.11 to setup.py (PR #775, @tooptoop4)
- Fix retrieving empty but existing object from S3 (PR #771, @Darkheir)
- Avoid overfilling buffer when reading from Azure (PR #767, @ronreiter)
- Add required import for example to work (PR #756, @jensenbox)
6.3.0, 2022-12-12
- Refactor Google Cloud Storage to use blob.open (ddelange, #744)
- Add FTP/FTPS support (#33) (RachitSharma2001, #739)
- Bring back compression_wrapper(filename) + use case-insensitive extension matching (piskvorky, #737)
- Fix avoidable S3 race condition (#693) (RachitSharma2001, #735)
- setup.py: Remove pathlib2 (jayvdb, #733)
- Add flake8 config globally (cadnce, #732)
- Added buffer_size parameter to http module (mullenkamp, #730)
- Added documentation to support GCS anonymously (cadnce, #728)
- Reconnect inactive sftp clients automatically (Kache, #719)
6.2.0, 14 September 2022
- Fix quadratic time ByteBuffer operations (PR #711, @Joshua-Landau-Anthropic)
6.1.0, 21 August 2022
- Add cert parameter to http transport params (PR #703, @stev-0)
- Allow passing additional kwargs for Azure writes (PR #702, @ddelange)
6.0.0, 24 April 2022
This release deprecates the old ignore_ext parameter.
Use the compression parameter instead.
fin = smart_open.open("/path/file.gz", ignore_ext=True) # No
fin = smart_open.open("/path/file.gz", compression="disable") # Yes
fin = smart_open.open("/path/file.gz", ignore_ext=False) # No
fin = smart_open.open("/path/file.gz") # Yes
fin = smart_open.open("/path/file.gz", compression="infer_from_extension") # Yes, if you want to be explicit
fin = smart_open.open("/path/file", compression=".gz") # Yes- Make Python 3.7 the required minimum (PR #688, @mpenkov)
- Drop deprecated ignore_ext parameter (PR #661, @mpenkov)
- Drop support for passing buffers to smart_open.open (PR #660, @mpenkov)
- Support working directly with file descriptors (PR #659, @mpenkov)
- Added support for viewfs:// URLs (PR #665, @ChandanChainani)
- Fix AttributeError when reading passthrough zstandard (PR #658, @mpenkov)
- Make UploadFailedError picklable (PR #689, @birgerbr)
- Support container client and blob client for azure blob storage (PR #652, @cbare)
- Pin google-cloud-storage to >=1.31.1 in extras (PR #687, @PLPeeters)
- Expose certain transport-specific methods e.g. to_boto3 in top layer (PR #664, @mpenkov)
- Use pytest instead of parameterizedtestcase (PR #657, @mpenkov)
5.2.1, 28 August 2021
5.2.0, 18 August 2021
- Work around changes to
urllib.parse.urlsplit(PR #633, @judahrand) - New blob_properties transport parameter for GCS (PR #632, @FHTheron)
- Don't leak compressed stream (PR #636, @ampanasiuk)
- Change python_requires version to fix PEP 440 issue (PR #639, @lucasvieirasilva)
- New max_concurrency transport parameter for azure (PR #642, @omBratteng)
5.1.0, 25 May 2021
This release introd...