239 lines
7.5 KiB
RPMSpec
239 lines
7.5 KiB
RPMSpec
%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
|
|
|
|
Name: python-%{srcname}
|
|
Version: 2021.8.0
|
|
Release: %autorelease
|
|
Summary: Parallel PyData with Task Scheduling
|
|
|
|
License: BSD
|
|
URL: https://github.com/dask/dask/
|
|
Source0: %pypi_source
|
|
# https://github.com/dask/dask/issues/6725
|
|
Patch0001: 0001-Skip-test_encoding_gh601-on-big-endian-machines.patch
|
|
# https://github.com/dask/dask/pull/7661
|
|
Patch0002: 0002-fix-index_col-duplication-if-index_col-is-type-str.patch
|
|
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
Dask is a flexible parallel computing library for analytics.
|
|
|
|
|
|
%package -n python3-%{srcname}
|
|
Summary: %{summary}
|
|
%{?python_provide:%python_provide python3-%{srcname}}
|
|
|
|
BuildRequires: python3-devel
|
|
%global cloudpickle_version 0.2.2
|
|
BuildRequires: python3dist(cloudpickle) >= %{cloudpickle_version}
|
|
%global fsspec_version 0.6
|
|
BuildRequires: python3dist(fsspec) >= %{fsspec_version}
|
|
BuildRequires: python3dist(graphviz)
|
|
BuildRequires: python3dist(ipython)
|
|
%global numpy_version 1.18
|
|
BuildRequires: python3dist(numpy) >= %{numpy_version}
|
|
BuildRequires: python3dist(packaging) >= 20
|
|
%global pandas_version 1
|
|
BuildRequires: python3dist(pandas) >= %{pandas_version}
|
|
%global partd_version 0.3.10
|
|
BuildRequires: python3dist(partd) >= %{partd_version}
|
|
BuildRequires: python3dist(pytest)
|
|
BuildRequires: python3dist(pytest-rerunfailures)
|
|
BuildRequires: python3dist(pytest-xdist)
|
|
BuildRequires: python3dist(pyyaml)
|
|
BuildRequires: python3dist(setuptools)
|
|
%global toolz_version 0.8.2
|
|
BuildRequires: python3dist(toolz) >= %{toolz_version}
|
|
%if %{without bootstrap}
|
|
%global distributed_version 2021.8
|
|
BuildRequires: python3dist(distributed) >= %{distributed_version}
|
|
BuildRequires: python3dist(scikit-image)
|
|
BuildRequires: python3dist(xarray)
|
|
%endif
|
|
# Optional test requirements.
|
|
BuildRequires: python3dist(fastavro)
|
|
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
|
|
|
|
%description -n python3-%{srcname}
|
|
Dask is a flexible parallel computing library for analytics.
|
|
|
|
|
|
%package -n python3-%{srcname}+array
|
|
Summary: Meta-package for python3-%{srcname} with array feature
|
|
BuildArch: noarch
|
|
%{?python_provide:%python_provide python3-%{srcname}+array}
|
|
|
|
Requires: python3-%{srcname} = %{version}-%{release}
|
|
Requires: python3dist(numpy) >= %{numpy_version}
|
|
Requires: python3dist(toolz) >= %{toolz_version}
|
|
|
|
%description -n python3-%{srcname}+array
|
|
This package installs dask with dependencies required for its array feature.
|
|
Dask is a flexible parallel computing library for analytics.
|
|
|
|
|
|
%package -n python3-%{srcname}+bag
|
|
Summary: Meta-package for python3-%{srcname} with bag feature
|
|
BuildArch: noarch
|
|
%{?python_provide:%python_provide python3-%{srcname}+bag}
|
|
|
|
Requires: python3-%{srcname} = %{version}-%{release}
|
|
Requires: python3dist(cloudpickle) >= %{cloudpickle_version}
|
|
Requires: python3dist(fsspec) >= %{fsspec_version}
|
|
Requires: python3dist(partd) >= %{partd_version}
|
|
Requires: python3dist(toolz) >= %{toolz_version}
|
|
|
|
%description -n python3-%{srcname}+bag
|
|
This package installs dask with dependencies required for its bag feature.
|
|
Dask is a flexible parallel computing library for analytics.
|
|
|
|
|
|
%package -n python3-%{srcname}+dataframe
|
|
Summary: Meta-package for python3-%{srcname} with dataframe feature
|
|
BuildArch: noarch
|
|
%{?python_provide:%python_provide python3-%{srcname}+dataframe}
|
|
|
|
Requires: python3-%{srcname} = %{version}-%{release}
|
|
Requires: python3dist(fsspec) >= %{fsspec_version}
|
|
Requires: python3dist(numpy) >= %{numpy_version}
|
|
Requires: python3dist(pandas) >= %{pandas_version}
|
|
Requires: python3dist(partd) >= %{partd_version}
|
|
Requires: python3dist(toolz) >= %{toolz_version}
|
|
|
|
%description -n python3-%{srcname}+dataframe
|
|
This package installs dask with dependencies required for its dataframe
|
|
feature.
|
|
Dask is a flexible parallel computing library for analytics.
|
|
|
|
|
|
%package -n python3-%{srcname}+delayed
|
|
Summary: Meta-package for python3-%{srcname} with delayed feature
|
|
BuildArch: noarch
|
|
%{?python_provide:%python_provide python3-%{srcname}+delayed}
|
|
|
|
Requires: python3-%{srcname} = %{version}-%{release}
|
|
Requires: python3dist(cloudpickle) >= %{cloudpickle_version}
|
|
Requires: python3dist(toolz) >= %{toolz_version}
|
|
|
|
%description -n python3-%{srcname}+delayed
|
|
This package installs dask with dependencies required for its delayed feature.
|
|
Dask is a flexible parallel computing library for analytics.
|
|
|
|
|
|
%if %{without bootstrap}
|
|
%package -n python3-%{srcname}+distributed
|
|
Summary: Meta-package for python3-%{srcname} with distributed feature
|
|
BuildArch: noarch
|
|
%{?python_provide:%python_provide python3-%{srcname}+distributed}
|
|
|
|
Requires: python3-%{srcname} = %{version}-%{release}
|
|
Requires: python3dist(distributed) >= %{distributed_version}
|
|
|
|
%description -n python3-%{srcname}+distributed
|
|
This package installs dask with dependencies required for its distributed
|
|
feature.
|
|
Dask is a flexible parallel computing library for analytics.
|
|
%endif
|
|
|
|
|
|
%if %{without bootstrap}
|
|
%package -n python-%{srcname}-doc
|
|
Summary: dask documentation
|
|
|
|
BuildRequires: python3dist(dask_sphinx_theme) >= 1.3.5
|
|
BuildRequires: python3dist(numpydoc)
|
|
BuildRequires: python3dist(sphinx)
|
|
|
|
%description -n python-%{srcname}-doc
|
|
Documentation for dask.
|
|
%endif
|
|
|
|
|
|
%prep
|
|
%autosetup -n %{srcname}-%{version} -p1
|
|
|
|
# Remove bundled egg-info
|
|
rm -rf %{srcname}.egg-info
|
|
|
|
%build
|
|
%py3_build
|
|
|
|
%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
|
|
%py3_install
|
|
|
|
|
|
%check
|
|
%ifarch arm
|
|
# Is there a way to do this in one line?
|
|
%global have_arm 1
|
|
%endif
|
|
|
|
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"]
|
|
)
|
|
|
|
%{pytest} "${pytest_args[@]}"
|
|
|
|
%files -n python3-%{srcname}
|
|
%doc README.rst
|
|
%license LICENSE.txt
|
|
%{python3_sitelib}/%{srcname}/
|
|
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
|
|
|
|
%files -n python3-%{srcname}+array
|
|
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
|
|
|
|
%files -n python3-%{srcname}+bag
|
|
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
|
|
|
|
%files -n python3-%{srcname}+dataframe
|
|
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
|
|
|
|
%files -n python3-%{srcname}+delayed
|
|
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
|
|
|
|
%if %{without bootstrap}
|
|
%files -n python3-%{srcname}+distributed
|
|
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
|
|
%endif
|
|
|
|
%if %{without bootstrap}
|
|
%files -n python-%{srcname}-doc
|
|
%doc html
|
|
%license LICENSE.txt
|
|
%endif
|
|
|
|
|
|
%changelog
|
|
%autochangelog
|