## START: Set by rpmautospec ## (rpmautospec version 0.6.3) ## RPMAUTOSPEC: autorelease %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; 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 %global forgeurl https://github.com/dask/distributed %global srcname distributed # We have an arched package to detect arch-dependent issues in dependencies, # but all of the installable RPMs are noarch and there is no compiled code. %global debug_package %{nil} # Can be used to deal with the dependency loop: # dask -> dask-expr -> distributed -> dask -> distributed # drops the dask requirement, so this can be built before # dask-expr and then dask %bcond bootstrap 0 Name: python-%{srcname} Version: 2024.6.0 %global tag 2024.6.0 Release: %autorelease Summary: Distributed scheduler for Dask %forgemeta License: BSD URL: https://distributed.readthedocs.io/en/latest/ # PyPI sources do not contain tests. Source: %forgesource Source1: _version.py # Fedora specific? Patch: 0001-Increase-test-timeout-for-slower-architectures.patch Patch: 0002-Install-test-packages.patch Patch: 0003-Disable-warnings-as-errors-in-tests.patch # https://github.com/dask/distributed/pull/7765 Patch: 0004-Skip-doc-test-when-not-running-from-a-git-checkout.patch Patch: 0005-Loosen-up-some-dependencies.patch # Fix TLS certs to work with OpenSSL 3. # https://github.com/dask/distributed/issues/8701 # https://github.com/dask/distributed/pull/8707 Patch: 0006-Update-make_tls_certs.py-work-with-openssl-3-8701.patch Patch: 0007-profile._f_lineno-handle-next_line-being-None-in-Pyt.patch # Drop this patch when we get pytest 8. Patch: 0008-Revert-test-changes-for-pytest-8.patch # Point the test at the uninstalled version. Patch: 0009-Avoid-using-sys.prefix-in-CLI-test.patch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: gcc BuildRequires: python3-devel # Test dependencies BuildRequires: python3dist(aiohttp) # asyncssh must be skipped because we don't have an ssh server we can connect to. # BuildRequires: python3dist(asyncssh) # Tests need a newer version than currently available. # BuildRequires: python3dist(bokeh) BuildRequires: python3dist(cryptography) BuildRequires: python3dist(h5py) BuildRequires: python3dist(ipykernel) BuildRequires: python3dist(ipython) # BuildRequires: python3dist(ipywidgets) BuildRequires: python3dist(joblib) BuildRequires: python3dist(jsonschema) BuildRequires: python3dist(jupyter-client) BuildRequires: python3dist(lz4) BuildRequires: python3dist(numpy) BuildRequires: python3dist(pandas) # paramiko must be skipped because we don't have an ssh server we can connect to. # BuildRequires: python3dist(paramiko) BuildRequires: python3dist(prometheus-client) BuildRequires: python3dist(pyarrow) BuildRequires: python3dist(pytest) >= 4 BuildRequires: python3dist(pytest-repeat) BuildRequires: python3dist(pytest-rerunfailures) BuildRequires: python3dist(pytest-timeout) # https://github.com/dask/distributed/issues/5186 # BuildRequires: python3dist(pytest-xdist) BuildRequires: python3dist(pyzmq) BuildRequires: python3dist(requests) BuildRequires: python3dist(zstandard) %description Dask.distributed is a lightweight library for distributed computing in Python. It extends both the concurrent.futures and dask APIs to moderate sized clusters. %package -n python3-%{srcname} Summary: %{summary} %description -n python3-%{srcname} Dask.distributed is a lightweight library for distributed computing in Python. It extends both the concurrent.futures and dask APIs to moderate sized clusters. %prep %forgeautosetup -p1 sed -e 's/@version@/%{tag}/' -e 's/@commit@/%{commit}/' %SOURCE1 > distributed/_version.py %if %{with bootstrap} # patch out the dask dependency so we can bootstrap it sed -r -i '/(dask)[<=> ]+[0-9]+/d' pyproject.toml %endif %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l %{srcname} %check %if %{without bootstrap} # rm -r %{srcname} pushd docs # protocol/tests/test_protocol.py # https://github.com/dask/distributed/issues/8700 k="${k-}${k+ and }not test_deeply_nested_structures" # tests/test_client.py # https://github.com/dask/distributed/issues/8708 k="${k-}${k+ and }not test_upload_file_zip" pytest_args=( -m 'not avoid_ci and not flaky and not slow' -k "${k-}" --timeout=900 --pyargs %{srcname} ) # Disable IPv6 because it sometimes doesn't work: # https://github.com/dask/distributed/issues/4514 DESTDIR=%{buildroot} DISABLE_IPV6=1 JUPYTER_PLATFORM_DIRS=1 \ %{pytest} "${pytest_args[@]}" %endif %files -n python3-%{srcname} -f %{pyproject_files} %doc AUTHORS.md CONTRIBUTING.md README.rst %{_bindir}/dask-scheduler %{_bindir}/dask-ssh %{_bindir}/dask-worker %changelog * Tue Jun 18 2024 Elliott Sales de Andrade - 2024.6.0-1 - Update to latest version * Sun Apr 09 2023 Elliott Sales de Andrade - 2023.3.2.1-1 - Update to latest version * Mon Nov 28 2022 Elliott Sales de Andrade - 2022.7.1-1 - Update to latest version * Sun Mar 06 2022 Elliott Sales de Andrade - 2022.2.1-1 - Update to latest version * Wed Sep 22 2021 Elliott Sales de Andrade - 2021.9.1-1 - Update to latest version * Sat Aug 21 2021 Elliott Sales de Andrade - 2021.8.1-1 - Update to latest version * Sat Aug 07 2021 Elliott Sales de Andrade - 2021.7.2-1 - Update to latest version - Use latest Python macros * Mon Jul 12 2021 Elliott Sales de Andrade - 2021.7.0-1 - Update to latest version * Sun Sep 06 2020 Elliott Sales de Andrade - 2.25.0-1 - Update to latest version * Sun May 10 2020 Elliott Sales de Andrade - 2.16.0-1 - Update to latest version * Sat Feb 29 2020 Elliott Sales de Andrade - 2.11.0-1 - Update to latest version * Mon Nov 25 2019 Elliott Sales de Andrade - 2.8.1-1 - Update to latest version * Thu Sep 12 2019 Elliott Sales de Andrade - 2.3.2-1 - Update to latest version * Wed May 15 2019 Elliott Sales de Andrade - 1.28.1-1 - Initial package.