14
0

- Update to 7.0.1:

* Do not touch botocore unless it is installed
  * Upgrade dev status classifier to stable
  * Add zstandard compression support
  * Support moto 4 & 5
  * Add logic for handling large files in MultipartWriter uploads to S3
  * Add support for SSH connection via aliases from ~/.ssh/config
  * Secure the connection using SSL when connecting to the FTPS server
  * Make GCS I/O 1000x faster by avoiding unnecessary API call
  * Retry finalizing multipart S3 upload
  * Handle exceptions during writes to Azure
  * Fix str method in SinglepartWriter
  * Fix KeyError: 'ContentRange' when received full content from S3
  * Propagate exit call to the underlying filestream
- Switch to autosetup and pyproject macros.
- Less globs in %files.
- Update all URLs, the github repository owner has changed.
- Add patch skip-gzip-tests-python312.patch, skip broken tests under
  Python 3.12.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-smart-open?expand=0&rev=7
This commit is contained in:
2024-03-15 07:48:54 +00:00
committed by Git OBS Bridge
parent dcccee9fb9
commit 738a1984b0
5 changed files with 92 additions and 13 deletions

View File

@@ -1,3 +1,26 @@
-------------------------------------------------------------------
Fri Mar 15 07:48:15 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 7.0.1:
* Do not touch botocore unless it is installed
* Upgrade dev status classifier to stable
* Add zstandard compression support
* Support moto 4 & 5
* Add logic for handling large files in MultipartWriter uploads to S3
* Add support for SSH connection via aliases from ~/.ssh/config
* Secure the connection using SSL when connecting to the FTPS server
* Make GCS I/O 1000x faster by avoiding unnecessary API call
* Retry finalizing multipart S3 upload
* Handle exceptions during writes to Azure
* Fix str method in SinglepartWriter
* Fix KeyError: 'ContentRange' when received full content from S3
* Propagate exit call to the underlying filestream
- Switch to autosetup and pyproject macros.
- Less globs in %files.
- Update all URLs, the github repository owner has changed.
- Add patch skip-gzip-tests-python312.patch, skip broken tests under
Python 3.12.
-------------------------------------------------------------------
Thu Oct 12 13:26:22 UTC 2023 - Ondřej Súkup <mimi.vx@gmail.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-smart-open
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,16 @@
Name: python-smart-open
Version: 6.4.0
Version: 7.0.1
Release: 0
Summary: Python utils for streaming large files
License: MIT
URL: https://github.com/RaRe-Technologies/smart_open
Source: https://github.com/RaRe-Technologies/smart_open/archive/refs/tags/v%{version}.tar.gz#/smart_open-%{version}.tar.gz
URL: https://github.com/piskvorky/smart_open
Source: https://github.com/piskvorky/smart_open/archive/refs/tags/v%{version}.tar.gz#/smart_open-%{version}.tar.gz
Patch0: skip-gzip-tests-python312.patch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-azure-common
@@ -32,9 +35,11 @@ Requires: python-azure-storage-blob
Requires: python-boto3
Requires: python-google-cloud-storage
Requires: python-requests
Requires: python-wrapt
Requires: python-zstandard
Suggests: python-paramiko
BuildArch: noarch
# see https://github.com/RaRe-Technologies/smart_open/issues/784
# see https://github.com/piskvorky/smart_open/issues/784
BuildRequires: %{python_module urllib3 < 2}
Requires: python-urllib3 < 2
# SECTION test requirements
@@ -50,6 +55,7 @@ BuildRequires: %{python_module pytest-rerunfailures}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module responses}
BuildRequires: %{python_module zstandard}
# /SECTION
%python_subpackages
@@ -58,23 +64,25 @@ Python utils for streaming large files.
Includes support for S3, HDFS, gzip, bz2, etc.
%prep
%setup -q -n smart_open-%{version}
%autosetup -p1 -n smart_open-%{version}
%build
%python_build
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
moto_server -p5000 2>/dev/null &
export SO_ENABLE_MOTO_SERVER=1
%pytest -rs smart_open/
# Requires network
%pytest -rs -k 'not (test_http_gz or test_s3_gzip_compress_sanity)' smart_open/
%files %{python_files}
%doc README.rst
%license LICENSE
%{python_sitelib}/smart[-_]open*/
%{python_sitelib}/smart_open
%{python_sitelib}/smart_open-%{version}.dist-info
%changelog

View File

@@ -0,0 +1,48 @@
Index: smart_open-7.0.1/smart_open/tests/test_smart_open.py
===================================================================
--- smart_open-7.0.1.orig/smart_open/tests/test_smart_open.py
+++ smart_open-7.0.1/smart_open/tests/test_smart_open.py
@@ -20,6 +20,7 @@ import tempfile
import unittest
from unittest import mock
import warnings
+import sys
import boto3
import pytest
@@ -1795,6 +1796,8 @@ def test_s3_gzip_compress_sanity():
)
def test_s3_read_explicit(url, _compression):
"""Can we read using the explicitly specified compression?"""
+ if sys.version_info.minor == 12 and _compression == ".gz":
+ raise unittest.SkipTest
initialize_bucket()
with smart_open.open(url, 'rb', compression=_compression) as fin:
assert fin.read() == _DECOMPRESSED_DATA
@@ -1811,6 +1814,8 @@ def test_s3_read_explicit(url, _compress
)
def test_s3_write_explicit(_compression, expected):
"""Can we write using the explicitly specified compression?"""
+ if sys.version_info.minor == 12 and _compression == ".gz":
+ raise unittest.SkipTest
initialize_bucket()
with smart_open.open("s3://bucket/key", "wb", compression=_compression) as fout:
@@ -1831,6 +1836,8 @@ def test_s3_write_explicit(_compression,
)
def test_s3_write_implicit(url, _compression, expected):
"""Can we determine the compression from the file extension?"""
+ if sys.version_info.minor == 12 and _compression == ".gz":
+ raise unittest.SkipTest
initialize_bucket()
with smart_open.open(url, "wb", compression=INFER_FROM_EXTENSION) as fout:
@@ -1851,6 +1858,8 @@ def test_s3_write_implicit(url, _compres
)
def test_s3_disable_compression(url, _compression, expected):
"""Can we handle the compression parameter when reading/writing?"""
+ if sys.version_info.minor == 12 and _compression == ".gz":
+ raise unittest.SkipTest
initialize_bucket()
with smart_open.open(url, "wb") as fout:

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9b17cb6a195ef0713c71efe6b48b6fc6f756737972c4e3ddb845799a477b6c3d
size 132125

3
smart_open-7.0.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:95b942e6075a9216848eb7264b5d66963d916361e9c9c40f771559948649feaf
size 138934