## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 2; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %bcond tests 1 %bcond gcs 1 # Not packaged, and would have a tremendous number of dependencies. %bcond moto 0 Name: python-smart_open Version: 7.3.0.post1 Release: %autorelease Summary: Utils for streaming large files (S3, HDFS, gzip, bz2, and more) # SPDX License: MIT URL: https://github.com/piskvorky/smart_open Source: %{url}/archive/v%{version}/smart_open-%{version}.tar.gz BuildSystem: pyproject BuildOption(generate_buildrequires): %{shrink: -x s3 %{?with_gcs:-x gcs} -x azure -x http -x webhdfs -x ssh -x zst %{?with_gcs:-x all} %{?with_tests:-x test} } BuildOption(install): -l smart_open BuildArch: noarch BuildRequires: tomcli %global common_description %{expand: smart_open is a Python library for efficient streaming of very large files from/to storages such as S3, GCS, Azure Blob Storage, HDFS, WebHDFS, HTTP, HTTPS, SFTP, or local filesystem. It supports transparent, on-the-fly (de-)compression for a variety of different formats. smart_open is a drop-in replacement for Pythons built-in open(): it can do anything open can (100% compatible, falls back to native open wherever possible), plus lots of nifty extra stuff on top.} %description %{common_description} %package -n python3-smart-open Summary: %{summary} %if %[ %{defined fc42} || %{defined fc41} ] # For backwards compatibility with old manual Requires Requires: python3-smart-open+s3 = %{version}-%{release} Requires: python3-smart-open+http = %{version}-%{release} %endif # The source package is named python-smart_open for historical reasons.The # binary package, python3-smart-open, is named using the canonical project # name[1]; see also [2]. # # The %%py_provides macro is used to provide an upgrade path from # python3-smart_open and to produce the appropriate Provides for the importable # module[3]. # # [1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_canonical_project_name # [2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_library_naming # [3] https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_provides_for_importable_modules # Provide an upgrade path; we can remove this after Fedora 45. %py_provides python3-smart_open Obsoletes: python3-smart_open < 7.1.0-5 %description -n python3-smart-open %{common_description} %if %{with gcs} %pyproject_extras_subpkg -n python3-smart-open gcs all %endif %pyproject_extras_subpkg -n python3-smart-open s3 azure http webhdfs ssh zst %prep -a %if %{without moto} tomcli set pyproject.toml lists delitem project.optional-dependencies.test \ '(smart_open\[all\]|moto\b).*' %endif # The dependencies on pytest_benchmark, awscli, pyopenssl, and numpy were all # added in upstream commit 8a58abe5e751af5b72e219e1bf3a90bb54e13b12. We do not # care about benchmarks, so do not need pytest_benchmark; and awscli and # pyopenssl are not needed for any tests that we can run (if at all). The numpy # dependency is real; it is used by integration-tests/test_207.py. tomcli set pyproject.toml lists delitem project.optional-dependencies.test \ '(pytest_benchmark|awscli|pyopenssl)\b.*' %generate_buildrequires -p export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' %build -p export SETUPTOOLS_SCM_PRETEND_VERSION='%{version}' %check -a %if %{with tests} %if %{without gcs} ignore="${ignore-} --ignore=tests/test_gcs.py" %endif %if %{without moto} ignore="${ignore-} --ignore=tests/test_s3.py" ignore="${ignore-} --ignore=tests/test_s3_version.py" ignore="${ignore-} --ignore=tests/test_smart_open.py" %endif %pytest ${ignore-} -rs tests %endif %files -n python3-smart-open -f %{pyproject_files} %doc CHANGELOG.md %doc MIGRATING_FROM_OLDER_VERSIONS.rst %doc README.rst %doc help.txt %doc howto.md %changelog ## START: Generated by rpmautospec * Sat Jul 05 2025 Benjamin A. Beasley - 7.3.0.post1-2 - Fix Python version metadata * Fri Jul 04 2025 Benjamin A. Beasley - 7.3.0.post1-1 - Update to 7.3.0.post1 (close RHBZ#2376133) * Wed Jun 18 2025 Benjamin A. Beasley - 7.1.0-14 - Re-enable “all” and “gcs” extras * Thu Jun 12 2025 Benjamin A. Beasley - 7.1.0-13 - Temporarily disable “all” and “gcs” extras - Works around broken python-google-cloud-storage due to protobuf on Python 3.14; fixes RHBZ#2372125 * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-12 - F41+: Use the provisional pyproject declarative buildsystem * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-11 - Make rpmlint ignore some idiosyncratic spellings and abbreviations * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-10 - Add metapackages for Python extras - Run many more tests * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-9 - Package a few additional text documentation files * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-8 - Assert that a license file is in .dist-info * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-7 - Adjust URL for new upstream * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-6 - Drop unnecessary manual BuildRequires on setuptools * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-5 - Rename the binary package from python3-smart_open to python3-smart-open * Wed May 07 2025 Benjamin A. Beasley - 7.1.0-4 - Simplify and reformat the spec file * Sat Jan 18 2025 Fedora Release Engineering - 7.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Tue Dec 17 2024 Packit - 7.1.0-1 - Update to 7.1.0 upstream release - Resolves: rhbz#2332832 * Fri Oct 04 2024 Packit - 7.0.5-1 - Update to 7.0.5 upstream release - Resolves: rhbz#2316499 * Fri Jul 19 2024 Fedora Release Engineering - 7.0.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Sat Jun 08 2024 Python Maint - 7.0.4-2 - Rebuilt for Python 3.13 * Tue Mar 26 2024 Packit - 7.0.4-1 - [packit] 7.0.4 upstream release - Resolves: rhbz#2271566 * Thu Mar 21 2024 Packit - 7.0.3-1 - [packit] 7.0.3 upstream release - Resolves rhbz#2270595 * Mon Mar 11 2024 Sandro - 7.0.1-1 - Update to 7.0.1 (RHBZ#2266009) * Mon Feb 26 2024 Packit - 7.0.0-1 - [packit] 7.0.0 upstream release - Resolves rhbz#2266009 * Fri Jan 26 2024 Fedora Release Engineering - 6.4.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Mon Jan 22 2024 Fedora Release Engineering - 6.4.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Wed Jan 03 2024 Ankur Sinha (Ankur Sinha Gmail) - 6.4.0-2 - chore: user forgesetup instead of autosetup * Wed Jan 03 2024 Ankur Sinha (Ankur Sinha Gmail) - 6.4.0-1 - feat: update to 6.4.0 (fixes rh#2237811) * Wed Jan 03 2024 Ankur Sinha (Ankur Sinha Gmail) - 6.3.0-7 - chore: use forgemeta * Wed Jan 03 2024 Ankur Sinha (Ankur Sinha Gmail) - 6.3.0-6 - chore: add packit * Fri Jul 21 2023 Fedora Release Engineering - 6.3.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Tue Jun 13 2023 Python Maint - 6.3.0-4 - Rebuilt for Python 3.12 * Wed Apr 26 2023 Sandro - 6.3.0-1 - Update to 6.3.0 * Fri Jan 20 2023 Fedora Release Engineering - 5.2.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Jul 22 2022 Fedora Release Engineering - 5.2.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Mon Jun 13 2022 Python Maint - 5.2.1-3 - Rebuilt for Python 3.11 * Fri Jan 21 2022 Fedora Release Engineering - 5.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Thu Sep 09 2021 Aniket Pradhan - 5.2.1-1 - Update to v5.2.1 * Fri Jul 23 2021 Fedora Release Engineering - 5.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sat Jul 03 2021 Aniket Pradhan - 5.1.0-1 - Update to v5.1.0 * Fri Jun 04 2021 Python Maint - 5.0.0-2 - Rebuilt for Python 3.10 * Mon May 17 2021 Aniket Pradhan - 5.0.0-1 - Initial build ## END: Generated by rpmautospec