Skip to content

Releases: piskvorky/smart_open

v7.0.4

26 Mar 08:43
Compare
Choose a tag to compare

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

7.0.1, 2024-02-26

  • Do not touch botocore unless it is installed (PR #803, @ddelange)

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

6.3.0, 2022-12-12

6.2.0, 14 September 2022

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

5.1.0, 25 May 2021

This release introd...

Read more

v7.0.3

21 Mar 09:00
Compare
Choose a tag to compare

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

7.0.1, 2024-02-26

  • Do not touch botocore unless it is installed (PR #803, @ddelange)

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

6.3.0, 2022-12-12

6.2.0, 14 September 2022

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

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...
Read more

v7.0.2

21 Mar 04:18
Compare
Choose a tag to compare

7.0.2, 2024-03-21

7.0.1, 2024-02-26

  • Do not touch botocore unless it is installed (PR #803, @ddelange)

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

6.3.0, 2022-12-12

6.2.0, 14 September 2022

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

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...
Read more

v7.0.1

26 Feb 11:59
Compare
Choose a tag to compare

7.0.1, 2024-02-26

  • Do not touch botocore unless it is installed (PR #803, @ddelange)

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

26 Feb 08:33
Compare
Choose a tag to compare

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

07 Sep 03:00
Compare
Choose a tag to compare

6.4.0, 2023-09-07

v6.3.0

12 Dec 07:21
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v6.2.0...v6.3.0

6.2.0

14 Sep 02:11
Compare
Choose a tag to compare

6.2.0, 14 September 2022

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

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.

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)

4.1.2, 18 Jan 2021

  • Correctly pass boto3 resource to writers (PR #576, @jackluo923)
  • Improve robustness of S3 reading (PR #552, @mpenkov)
  • Replace codecs with TextIOWrapper to fix newline issues when reading text files (PR #578, @markopy)

v6.1.0

21 Aug 12:49
Compare
Choose a tag to compare

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 Apr 06:40
Compare
Choose a tag to compare

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

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.

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)

4.1.2, 18 Jan 2021

  • Correctly pass boto3 resource to writers (PR #576, @jackluo923)
  • Improve robustness of S3 reading (PR #552, @mpenkov)
  • Replace codecs with TextIOWrapper to fix newline issues when reading text files (PR #578, @markopy)

4.1.0, 30 Dec 2020

  • Refactor s3 submodule to minimize resource usage (PR #569, @mpenkov)
  • Change download_as_string to download_as_bytes in gcs submodule (PR #571, @alexandreyc)

4.0.1, 27 Nov 2020

  • Exclude requests from install_requires dependency list.
    If you need it, use pip install smart_open[http] or pip install smart_open[webhdfs].

4.0.0, 24 Nov 2020

  • Fix reading empty file or seeking past end of file for s3 backend (PR #549, @jcushman)
  • Fix handling of rt/wt mode when working with gzip compression (PR #559, @mpenkov)
  • Bump minimum Python version to 3.6 (PR #562, @mpenkov)

3.0.0, 8 Oct 2020

This release modifies the behavior of setup.py with respect to dependencies.
Previously, boto3 and other AWS-related packages were installed by default.
Now, in order to install them, you need to run either:

pip install smart_open[s3]

to install the AWS dependencies only, or

pip install smart_open[all]

to install all dependencies, including AWS, GCS, etc.

2.2.1, 1 Oct 2020

  • Include S3 dependencies by default, because removing them in the 2.2.0 minor release was a mistake.

2.2.0, 25 Sep 2020

This release modifies the behavior of setup.py with respect to dependencies.
Previously, boto3 and other AWS-related packages were installed by default.
Now, in order to install them, you need to run either:

pip install smart_open[s3]

to install the AWS dependencies only, or

pip install smart_open[all]

to install all dependencies, including AWS, GCS, etc.

Summary of changes:

  • Correctly pass newline parameter to built-in open function (PR #478, @burkovae)
  • Remove boto as a dependency (PR #523, @isobit)
  • Performance improvement: avoid redundant GetObject API queries in s3.Reader (PR #495, @jcushman)
  • Support installing smart_open without AWS dependencies (PR #534, @justindujardin)
  • Take object version into account in to_boto3 method (PR #539, @interpolatio)

Deprecations

Functionality on the left hand side will be removed in future releases.
Use the functions on the right hand side instead.

  • smart_open.s3_iter_bucketsmart_open.s3.iter_bucket

2.1.1, 27 Aug 2020

  • Bypass unnecessary GCS storage.buckets.get permission (PR #516, @gelioz)
  • Allow SFTP connection with SSH key (PR #522, @rostskadat)

2.1.0, 1 July 2020

Read more