Releases: piskvorky/smart_open
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_kwargs
to 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...
v7.0.3
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 introduces a new top-level parameter: compression
.
It controls compression behavior and partially overlaps with the old ignore_ext
parameter.
For details, see the README.rst file.
You may continue to use ignore_ext
parameter for now, but it will be deprecated in the next major release.
- Add warning for recently deprecated s3 par...
v7.0.2
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 introduces a new top-level parameter: compression
.
It controls compression behavior and partially overlaps with the old ignore_ext
parameter.
For details, see the README.rst file.
You may continue to use ignore_ext
parameter for now, but it will be deprecated in the next major release.
- Add warning for recently deprecated s3 parameters (PR #618, @mpenkov)
- Add new top-level compression parameter (PR #609, @dmcguire81)
- Drop mock dependency; standardize on unitte...
v7.0.1
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)
v7.0.0
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)
v6.4.0
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)
v6.3.0
What's Changed
- upgrade pyopenssl versions as part of github actions workflows by @mpenkov in #722
- Fixes #537 - Added documentation to support GCS anonymously by @cadnce in #728
- setup.py: Remove pathlib2 by @jayvdb in #733
- Add flake8 config globally by @cadnce in #732
- added buffer_size parameter to http module by @mullenkamp in #730
- Support for reading and writing files directly to/from ftp by @RachitSharma2001 in #723
- Improve instructions for testing & contributing by @Kache in #718
- Add FTPS support (#33) by @RachitSharma2001 in #739
- Bring back compression_wrapper(filename) + use case-insensitive extension matching by @piskvorky in #737
- Reconnect inactive sftp clients automatically by @Kache in #719
- Fix avoidable S3 race condition (#693) by @RachitSharma2001 in #735
- Refactor Google Cloud Storage to use blob.open by @ddelange in #744
- update CHANGELOG.md for release 6.3.0 by @mpenkov in #746
New Contributors
- @cadnce made their first contribution in #728
- @mullenkamp made their first contribution in #730
- @RachitSharma2001 made their first contribution in #723
- @Kache made their first contribution in #718
Full Changelog: v6.2.0...v6.3.0
6.2.0
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 introduces a new top-level parameter: compression
.
It controls compression behavior and partially overlaps with the old ignore_ext
parameter.
For details, see the README.rst file.
You may continue to use ignore_ext
parameter for now, but it will be deprecated in the next major release.
- Add warning for recently deprecated s3 parameters (PR #618, @mpenkov)
- Add new top-level compression parameter (PR #609, @dmcguire81)
- Drop mock dependency; standardize on unittest.mock (PR #621, @musicinmybrain)
- Fix to_boto3 method (PR #619, @mpenkov)
5.0.0, 30 Mar 2021
This release modifies the handling of transport parameters for the S3 back-end in a backwards-incompatible way.
See the migration docs for details.
- Refactor S3, replace high-level resource/session API with low-level client API (PR #583, @mpenkov)
- Fix potential infinite loop when reading from webhdfs (PR #597, @traboukos)
- Add timeout parameter for http/https (PR #594, @dustymugs)
- Remove
tests
directory from package (PR #589, @e-nalepa)
4.2.0, 15 Feb 2021
- Support tell() for text mode write on s3/gcs/azure (PR #582, @markopy)
- Implement option to use a custom buffer during S3 writes (PR #547, @mpenkov)