## START: Set by rpmautospec ## (rpmautospec version 0.2.6) %define autorelease(e:s:pb:) %{?-p:0.}%{lua: release_number = 4; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{?dist} ## END: Set by rpmautospec %global srcname dask # Requires distributed, which is a loop. # Also, some tests require packages that require dask itself. # Force bootstrap for package review. %bcond_without bootstrap # 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} Name: python-%{srcname} Version: 2022.5.0 %global tag 2022.05.0 Release: %autorelease Summary: Parallel PyData with Task Scheduling License: BSD URL: https://github.com/dask/dask/ Source0: %{pypi_source %{srcname}} # These are missing from the PyPI sdist. Until our PR#9113 and PR#9115 are # accepted and included in a release, we grab them from the release tag in the # GitHub repository. Source1: https://github.com/dask/dask/raw/%{tag}/dask/array/NUMPY_LICENSE.txt # PyPI sdist tarball is missing 'conftest.py' # https://github.com/dask/dask/issues/8475 # Include conftest.py in sdists # https://github.com/dask/dask/pull/9115 Source2: https://github.com/dask/dask/raw/%{tag}/conftest.py # https://github.com/dask/dask/issues/6725 Patch: 0001-Skip-test_encoding_gh601-on-big-endian-machines.patch # Add NUMPY_LICENSE.txt to license_files in setup.cfg # https://github.com/dask/dask/pull/9113 # # Fixes: # # dask/array/NUMPY_LICENSE.txt not included in PyPI distributions # https://github.com/dask/dask/issues/9112 # # This patch has been trivially rebased to apply to the PyPI sdist, which uses # tabs rather than spaces in setup.cfg. Patch: dask-2022.5.0-pr-9113.patch # Add “pandas[test]” to “test” extra # https://github.com/dask/dask/pull/9110 Patch: %{url}/pull/9110.patch %description Dask is a flexible parallel computing library for analytics. %package -n python3-%{srcname} Summary: %{summary} BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3dist(graphviz) BuildRequires: python3dist(ipython) %if %{without bootstrap} BuildRequires: python3dist(scikit-image) BuildRequires: python3dist(xarray) %endif # Optional test requirements. # Fastavro does not support 32 bit architectures and is ExcludeArch: # https://bugzilla.redhat.com/show_bug.cgi?id=1943932 %ifnarch %{arm32} %{ix86} BuildRequires: python3dist(fastavro) %endif BuildRequires: python3dist(h5py) BuildRequires: python3dist(psutil) BuildRequires: python3dist(requests) BuildRequires: python3dist(sqlalchemy) BuildRequires: python3dist(zarr) Recommends: python3-%{srcname}+array = %{version}-%{release} Recommends: python3-%{srcname}+bag = %{version}-%{release} Recommends: python3-%{srcname}+dataframe = %{version}-%{release} Recommends: python3-%{srcname}+delayed = %{version}-%{release} %if %{without bootstrap} Recommends: python3-%{srcname}+distributed = %{version}-%{release} %endif # No recent enough Bokeh is packaged Obsoletes: python3-%{srcname}+diagnostics < 2022.5.0-1 # There is nothing that can be unbundled; there are some some snippets forked # or copied from unspecified versions of numpy, under a BSD license similar to # that of dask itself. # # - dask/array/numpy_compat.py: # _Recurser, moveaxis, rollaxis, sliding_window_view # - dask/array/backends.py: # _tensordot # - dask/array/core.py: # block # - dask/array/einsumfuncs.py: # parse_einsum_input # - dask/array/routines.py: # cov, _average Provides: bundled(numpy) %description -n python3-%{srcname} Dask is a flexible parallel computing library for analytics. %pyproject_extras_subpkg -n python3-%{srcname} array bag dataframe delayed %if %{without bootstrap} %pyproject_extras_subpkg distributed %endif %if %{without bootstrap} %package -n python-%{srcname}-doc Summary: dask documentation BuildArch: noarch BuildRequires: python3dist(dask_sphinx_theme) >= 1.3.5 BuildRequires: python3dist(numpydoc) BuildRequires: python3dist(sphinx) >= 4 %description -n python-%{srcname}-doc Documentation for dask. %endif %prep %autosetup -n %{srcname}-%{version} -p1 cp -p '%{SOURCE1}' dask/array/ cp -p '%{SOURCE2}' ./ %generate_buildrequires %pyproject_buildrequires -r -x test,array,bag,dataframe,delayed %if %{without bootstrap} %pyproject_buildrequires -x distributed %endif %build %pyproject_wheel %if %{without bootstrap} # generate html docs PYTHONPATH=${PWD} sphinx-build-3 docs/source html # remove the sphinx-build leftovers rm -rf html/.{doctrees,buildinfo} %endif %install %pyproject_install %pyproject_save_files %{srcname} %check %ifarch arm # Is there a way to do this in one line? %global have_arm 1 %endif %if 0%{?__isa_bits} == 32 # read_sql_query with meta converts dtypes from 32 to 64. # https://github.com/dask/dask/issues/8620 # > tm.assert_frame_equal( # a, b, check_names=check_names, check_dtype=check_dtype, **kwargs # E AssertionError: Attributes of DataFrame.iloc[:, 1] (column name="age") are different # E # E Attribute "dtype" are different # E [left]: int32 # E [right]: int64 # dask/dataframe/utils.py:555: AssertionError k="${k-}${k+ and }not test_query_with_meta" %endif %ifarch ppc64le # TODO: Should this be reported upstream? Is it a dask issue, or a numpy one? # Possibly related to # https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition? # > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg # E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount # E assert False # E + where False = allclose(array([0.12586355-0.09957204j, 0.20256483+0.04098342j,\n 0.05781123-0.03588671j, 0.01135963-0.03334219j,\n 0.03747771+0.07495994j, 0.2106574 -0.0363521j ,\n 0.16352091+0.03782915j, 0.1381678 -0.06815128j,\n 0.03781295-0.04011523j, 0.01493269+0.07780643j]), array([0.12559072-0.07164038j, 0.20256483+0.05438578j,\n 0.05781123-0.03588671j, 0.01135963-0.03334219j,\n 0.03747771+0.07495994j, 0.2106574 -0.0363521j ,\n 0.16352091+0.03782915j, 0.1381678 -0.06815128j,\n 0.03781295-0.04011523j, 0.01493269+0.07780643j]), equal_nan=True, **{}) # dask/array/utils.py:361: AssertionError k="${k-}${k+ and }not test_lstsq[100-10-10-True]" # > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg # E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount # E assert False # E + where False = allclose(array([ 0.20168675+0.08857556j, 0.144233 -0.19173091j,\n -0.03367557-0.08053959j, 0.04108325-0.24648308j,\n -0.01844576+0.00841932j, 0.29652375+0.05682199j,\n 0.05551828+0.20156798j, -0.08409592+0.02354949j,\n 0.09848743-0.00748637j, 0.22889193-0.07372773j]), array([ 0.20067551+0.2642591j , 0.144233 -0.18573336j,\n -0.03367557-0.08053959j, 0.04108325-0.24648308j,\n -0.01844576+0.00841932j, 0.29652375+0.05682199j,\n 0.05551828+0.20156798j, -0.08409592+0.02354949j,\n 0.09848743-0.00748637j, 0.22889193-0.07372773j]), equal_nan=True, **{}) # dask/array/utils.py:361: AssertionError k="${k-}${k+ and }not test_lstsq[20-10-5-True]" # test_vdot fails with NumPy 1.19.0 # https://github.com/dask/dask/issues/6406 # # vdot returns incorrect results on ppc64le # https://github.com/numpy/numpy/issues/17087 # > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg # E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount # E assert False # E + where False = allclose((0.38772781971416226-0.6851997484294434j), (0.38772781971416226-0.306563166009585j), equal_nan=True, **{}) # dask/array/utils.py:361: AssertionError k="${k-}${k+ and }not test_vdot[shape0-chunks0]" # > assert allclose(a, b, equal_nan=equal_nan, **kwargs), msg # E AssertionError: found values in 'a' and 'b' which differ by more than the allowed amount # E assert False # E + where False = allclose((0.38772781971416226-0.6851997484294434j), (0.38772781971416226-0.306563166009585j), equal_nan=True, **{}) # dask/array/utils.py:361: AssertionError k="${k-}${k+ and }not test_vdot[shape1-chunks1]" %endif # This test compares against files in .github/. It does not work on the PyPI # sdist, and is only relevant to upstream CI anyway. # # test_development_guidelines_matches_ci fails from sdist # https://github.com/dask/dask/issues/8499 k="${k-}${k+ and }not test_development_guidelines_matches_ci" pytest_args=( -m 'not network' # https://bugzilla.redhat.com/show_bug.cgi?id=1968947#c4 --deselect=dask/dataframe/io/tests/test_sql.py::test_select_from_select -n %[0%{?have_arm}?"2":"auto"] # Ignore https://github.com/numpy/numpy/issues/20225 and Pandas issues -W ignore::DeprecationWarning -k "${k-}" ) %{pytest} "${pytest_args[@]}" %files -n python3-%{srcname} -f %{pyproject_files} %doc README.rst %license LICENSE.txt dask/array/NUMPY_LICENSE.txt %if %{without bootstrap} %files -n python-%{srcname}-doc %doc html %license LICENSE.txt dask/array/NUMPY_LICENSE.txt %endif %changelog * Tue May 24 2022 Benjamin A. Beasley 2022.5.0-4 - Skip test_query_with_meta on ALL 32-bit platforms * Mon May 23 2022 Benjamin A. Beasley 2022.5.0-3 - Add “pandas[test]” to “test” extra * Mon May 23 2022 Benjamin A. Beasley 2022.5.0-2 - Use an arched base package with noarch binary RPMs - Conditionalize fastavro BR, which is not available on 32-bit - Run tests on all arches to reliably track arch-dependent bugs - Add necessary arch-dependent skips for failing tests * Mon May 23 2022 Benjamin A. Beasley 2022.5.0-1 - Update to 2022.5.0 (close RHBZ#2065859) - Drop the “diagnostics” extras metapackage because no recent enough Bokeh version is available. - Switch to the PyPI sdist as source (with workarounds) - Ensure NUMPY_LICENSE.txt is packaged - Add Provides: bundled(numpy) * Sun Mar 06 2022 Elliott Sales de Andrade 2022.2.1-2 - Fix provided version in metadata * Sun Feb 27 2022 Elliott Sales de Andrade 2022.2.1-1 - Update to latest version (#2058755) * Sat Feb 12 2022 Elliott Sales de Andrade 2022.2.0-1 - Update to latest version (#2053679) * Sat Jan 29 2022 Elliott Sales de Andrade 2022.1.1-1 - Update to latest version (#2047914) * Sun Jan 16 2022 Elliott Sales de Andrade 2022.1.0-3 - Fix version in metadata * Sun Jan 16 2022 Elliott Sales de Andrade 2022.1.0-1 - Update to latest version (#2040923) * Mon Dec 20 2021 Elliott Sales de Andrade 2021.12.0-1 - Update to latest version (#2016711) * Wed Sep 22 2021 Elliott Sales de Andrade 2021.9.1-1 - Update to latest version (#2006577) * Sat Sep 04 2021 Elliott Sales de Andrade 2021.9.0-1 - Update to latest version (#2001121) * Sat Aug 21 2021 Elliott Sales de Andrade 2021.8.1-1 - Update to latest version (#1993560) * Sat Aug 21 2021 Elliott Sales de Andrade 2021.8.0-3 - Add missing diagnostics subpackage. * Sat Aug 21 2021 Elliott Sales de Andrade 2021.8.0-2 - Switch to latest Python macros. * Sat Aug 14 2021 Elliott Sales de Andrade 2021.8.0-1 - Update to latest version (#1993560) * Sat Jul 31 2021 Elliott Sales de Andrade 2021.7.2-1 - Update to latest version (#1985515) * Mon Jul 26 2021 Elliott Sales de Andrade - 2021.7.1-1 - Update to latest version (#1985515) * Fri Jul 23 2021 Fedora Release Engineering - 2021.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun Jul 11 2021 Elliott Sales de Andrade - 2021.7.0-1 - Update to latest version (#1980906) * Sun Jul 04 2021 Elliott Sales de Andrade - 2021.6.2-1 - Update to latest version (#1974872) * Sat Jun 19 2021 Elliott Sales de Andrade - 2021.6.1-1 - Update to latest version (#1973783) * Thu Jun 17 2021 Zbigniew Jędrzejewski-Szmek - 2021.6.0-1 - Skip some failing tests for now * Sun Jun 13 2021 Zbigniew Jędrzejewski-Szmek - 2021.6.0-1 - Update to latest version (#1965698) * Fri Jun 04 2021 Python Maint - 2021.5.0-2 - Rebuilt for Python 3.10 * Sat May 15 2021 Elliott Sales de Andrade - 2021.5.0-1 - Update to latest version (#1960766) * Sat Apr 24 2021 Elliott Sales de Andrade - 2021.4.1-1 - Update to latest version (#1953086) * Fri Apr 02 2021 Elliott Sales de Andrade - 2021.4.0-1 - Update to latest version (#1943694) * Sun Mar 07 2021 Elliott Sales de Andrade - 2021.3.0-1 - Update to latest version (#1936017) * Fri Feb 05 2021 Elliott Sales de Andrade - 2021.2.0-1 - Update to latest version (#1925645) * Wed Jan 27 2021 Elliott Sales de Andrade - 2021.1.1-1 - Update to latest version (#1919397) * Wed Jan 27 2021 Fedora Release Engineering - 2021.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Tue Jan 19 2021 Elliott Sales de Andrade - 2021.1.0-1 - Update to latest version (#1906637) * Sat Oct 10 2020 Elliott Sales de Andrade - 2.30.0-1 - Update to latest version (#1884852) * Mon Oct 05 2020 Elliott Sales de Andrade - 2.29.0-1 - Update to latest version (#1884852) * Sat Sep 26 2020 Elliott Sales de Andrade - 2.28.0-1 - Update to latest version (#1882873) * Fri Sep 18 2020 Elliott Sales de Andrade - 2.27.0-1 - Update to latest version (#1880693) * Sat Sep 12 2020 Elliott Sales de Andrade - 2.26.0-1 - Update to latest version (#1878309) * Fri Aug 28 2020 Elliott Sales de Andrade - 2.25.0-1 - Update to latest version (#1873659) * Sun Aug 23 2020 Elliott Sales de Andrade - 2.24.0-1 - Update to latest version (#1871358) * Sat Aug 15 2020 Elliott Sales de Andrade - 2.23.0-1 - Update to latest version (#1868951) * Sun Aug 02 2020 Elliott Sales de Andrade - 2.22.0-1 - Update to latest version * Wed Jul 29 2020 Fedora Release Engineering - 2.21.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sat Jul 18 2020 Elliott Sales de Andrade - 2.21.0-1 - Update to latest version * Fri Jul 10 2020 Miro Hrončok - 2.20.0-2 - Add metadata for Python extras subpackages * Sun Jul 05 2020 Elliott Sales de Andrade - 2.20.0-1 - Update to latest version * Sat Jun 06 2020 Elliott Sales de Andrade - 2.18.0-1 - Update to latest version * Sun May 31 2020 Elliott Sales de Andrade - 2.17.2-1 - Update to latest version * Tue May 26 2020 Miro Hrončok - 2.16.0-2 - Rebuilt for Python 3.9 * Sat May 09 2020 Elliott Sales de Andrade - 2.16.0-1 - Update to latest version * Wed Apr 08 2020 Elliott Sales de Andrade - 2.14.0-1 - Update to latest version * Thu Mar 26 2020 Elliott Sales de Andrade - 2.13.0-1 - Update to latest version * Sat Mar 07 2020 Elliott Sales de Andrade - 2.12.0-1 - Update to latest version * Fri Feb 21 2020 Elliott Sales de Andrade - 2.11.0-3 - Fix typo in dependency - Fix flaky test * Wed Feb 19 2020 Elliott Sales de Andrade - 2.11.0-2 - Fix minimum dependency versions - Make keeping minimum dependency versions in sync a bit easier * Wed Feb 19 2020 Elliott Sales de Andrade - 2.11.0-1 - Update to latest version * Fri Feb 14 2020 Elliott Sales de Andrade - 2.10.1-1 - Update to latest version * Tue Jan 28 2020 Elliott Sales de Andrade - 2.10.0-1 - Update to latest version * Thu Jan 09 2020 Elliott Sales de Andrade - 2.9.1-1 - Update to latest version * Fri Nov 22 2019 Elliott Sales de Andrade - 2.8.1-1 - Update to latest version * Thu Nov 21 2019 Elliott Sales de Andrade - 2.8.0-1 - Update to latest version * Tue Nov 12 2019 Elliott Sales de Andrade - 2.7.0-1 - Update to latest version - Disabled distributed subpackage until it's available * Thu Oct 17 2019 Elliott Sales de Andrade - 2.6.0-1 - Update to latest version * Sat Oct 05 2019 Elliott Sales de Andrade - 2.5.2-1 - Update to latest version * Sat Sep 28 2019 Elliott Sales de Andrade - 2.5.0-1 - Update to latest version * Fri Sep 13 2019 Elliott Sales de Andrade - 2.4.0-1 - Update to latest version * Thu Sep 12 2019 Elliott Sales de Andrade - 2.3.0-1 - Update to latest version * Mon Aug 19 2019 Miro Hrončok - 2.1.0-3 - Rebuilt for Python 3.8 * Fri Jul 26 2019 Fedora Release Engineering - 2.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Tue Jul 23 2019 Elliott Sales de Andrade - 2.1.0-1 - Update to latest version * Sat Apr 13 2019 Elliott Sales de Andrade - 1.2.0-1 - Update to latest version * Mon Apr 01 2019 Elliott Sales de Andrade - 1.1.5-1 - Update to latest version * Sat Mar 09 2019 Elliott Sales de Andrade - 1.1.4-1 - Update to latest version - Remove now unnecessary patches * Wed Mar 06 2019 Elliott Sales de Andrade - 1.1.3-3 - Mark partitioning test as expected failure on 32-bit systems as well * Wed Mar 06 2019 Elliott Sales de Andrade - 1.1.3-2 - Add meta-subpackages for individual features * Sat Mar 02 2019 Elliott Sales de Andrade - 1.1.3-1 - Initial package.