Blame python-dask.spec

325cfc4
%global srcname dask
325cfc4
325cfc4
# Requires distributed, which is a loop.
f882b41
# Also, some tests require packages that require dask itself.
325cfc4
# Force bootstrap for package review.
418969d
%bcond_without bootstrap
325cfc4
325cfc4
Name:           python-%{srcname}
bcf75f4
Version:        2021.8.0
3212fae
Release:        %autorelease
325cfc4
Summary:        Parallel PyData with Task Scheduling
325cfc4
325cfc4
License:        BSD
537814a
URL:            https://github.com/dask/dask/
361d6f0
Source0:        %pypi_source
fef2284
# https://github.com/dask/dask/issues/6725
fef2284
Patch0001:      0001-Skip-test_encoding_gh601-on-big-endian-machines.patch
64f50c6
# https://github.com/dask/dask/pull/7661
fab7aee
Patch0002:      0002-fix-index_col-duplication-if-index_col-is-type-str.patch
325cfc4
325cfc4
BuildArch:      noarch
325cfc4
325cfc4
%description
325cfc4
Dask is a flexible parallel computing library for analytics.
325cfc4
325cfc4
325cfc4
%package -n     python3-%{srcname}
325cfc4
Summary:        %{summary}
325cfc4
%{?python_provide:%python_provide python3-%{srcname}}
325cfc4
325cfc4
BuildRequires:  python3-devel
46125c6
%global cloudpickle_version 0.2.2
537814a
BuildRequires:  python3dist(cloudpickle) >= %{cloudpickle_version}
537814a
%global fsspec_version 0.6
537814a
BuildRequires:  python3dist(fsspec) >= %{fsspec_version}
325cfc4
BuildRequires:  python3dist(graphviz)
325cfc4
BuildRequires:  python3dist(ipython)
bcf75f4
%global numpy_version 1.18
537814a
BuildRequires:  python3dist(numpy) >= %{numpy_version}
fab7aee
BuildRequires:  python3dist(packaging) >= 20
bcf75f4
%global pandas_version 1
537814a
BuildRequires:  python3dist(pandas) >= %{pandas_version}
537814a
%global partd_version 0.3.10
537814a
BuildRequires:  python3dist(partd) >= %{partd_version}
325cfc4
BuildRequires:  python3dist(pytest)
a8772d4
BuildRequires:  python3dist(pytest-rerunfailures)
f882b41
BuildRequires:  python3dist(pytest-xdist)
325cfc4
BuildRequires:  python3dist(pyyaml)
325cfc4
BuildRequires:  python3dist(setuptools)
46125c6
%global toolz_version 0.8.2
537814a
BuildRequires:  python3dist(toolz) >= %{toolz_version}
c3b3086
%if %{without bootstrap}
bcf75f4
%global distributed_version 2021.8
537814a
BuildRequires:  python3dist(distributed) >= %{distributed_version}
f882b41
BuildRequires:  python3dist(scikit-image)
f882b41
BuildRequires:  python3dist(xarray)
325cfc4
%endif
f882b41
# Optional test requirements.
f882b41
BuildRequires:  python3dist(fastavro)
f882b41
BuildRequires:  python3dist(h5py)
f882b41
BuildRequires:  python3dist(psutil)
f882b41
BuildRequires:  python3dist(requests)
f882b41
BuildRequires:  python3dist(sqlalchemy)
f882b41
BuildRequires:  python3dist(zarr)
325cfc4
0e49bd2
Recommends:     python3-%{srcname}+array = %{version}-%{release}
0e49bd2
Recommends:     python3-%{srcname}+bag = %{version}-%{release}
0e49bd2
Recommends:     python3-%{srcname}+dataframe = %{version}-%{release}
0e49bd2
Recommends:     python3-%{srcname}+delayed = %{version}-%{release}
45461af
%if %{without bootstrap}
0e49bd2
Recommends:     python3-%{srcname}+distributed = %{version}-%{release}
45461af
%endif
0e49bd2
0e49bd2
%description -n python3-%{srcname}
0e49bd2
Dask is a flexible parallel computing library for analytics.
0e49bd2
0e49bd2
0e49bd2
%package -n     python3-%{srcname}+array
0e49bd2
Summary:        Meta-package for python3-%{srcname} with array feature
0e49bd2
BuildArch:      noarch
0e49bd2
%{?python_provide:%python_provide python3-%{srcname}+array}
0e49bd2
0e49bd2
Requires:       python3-%{srcname} = %{version}-%{release}
537814a
Requires:       python3dist(numpy) >= %{numpy_version}
537814a
Requires:       python3dist(toolz) >= %{toolz_version}
0e49bd2
0e49bd2
%description -n python3-%{srcname}+array
0e49bd2
This package installs dask with dependencies required for its array feature.
0e49bd2
Dask is a flexible parallel computing library for analytics.
0e49bd2
0e49bd2
0e49bd2
%package -n     python3-%{srcname}+bag
0e49bd2
Summary:        Meta-package for python3-%{srcname} with bag feature
0e49bd2
BuildArch:      noarch
0e49bd2
%{?python_provide:%python_provide python3-%{srcname}+bag}
0e49bd2
0e49bd2
Requires:       python3-%{srcname} = %{version}-%{release}
537814a
Requires:       python3dist(cloudpickle) >= %{cloudpickle_version}
537814a
Requires:       python3dist(fsspec) >= %{fsspec_version}
537814a
Requires:       python3dist(partd) >= %{partd_version}
537814a
Requires:       python3dist(toolz) >= %{toolz_version}
0e49bd2
0e49bd2
%description -n python3-%{srcname}+bag
0e49bd2
This package installs dask with dependencies required for its bag feature.
0e49bd2
Dask is a flexible parallel computing library for analytics.
0e49bd2
0e49bd2
0e49bd2
%package -n     python3-%{srcname}+dataframe
0e49bd2
Summary:        Meta-package for python3-%{srcname} with dataframe feature
0e49bd2
BuildArch:      noarch
0e49bd2
%{?python_provide:%python_provide python3-%{srcname}+dataframe}
0e49bd2
0e49bd2
Requires:       python3-%{srcname} = %{version}-%{release}
537814a
Requires:       python3dist(fsspec) >= %{fsspec_version}
537814a
Requires:       python3dist(numpy) >= %{numpy_version}
537814a
Requires:       python3dist(pandas) >= %{pandas_version}
537814a
Requires:       python3dist(partd) >= %{partd_version}
537814a
Requires:       python3dist(toolz) >= %{toolz_version}
325cfc4
0e49bd2
%description -n python3-%{srcname}+dataframe
0e49bd2
This package installs dask with dependencies required for its dataframe
0e49bd2
feature.
0e49bd2
Dask is a flexible parallel computing library for analytics.
0e49bd2
0e49bd2
0e49bd2
%package -n     python3-%{srcname}+delayed
0e49bd2
Summary:        Meta-package for python3-%{srcname} with delayed feature
0e49bd2
BuildArch:      noarch
0e49bd2
%{?python_provide:%python_provide python3-%{srcname}+delayed}
0e49bd2
0e49bd2
Requires:       python3-%{srcname} = %{version}-%{release}
8d66cb3
Requires:       python3dist(cloudpickle) >= %{cloudpickle_version}
537814a
Requires:       python3dist(toolz) >= %{toolz_version}
0e49bd2
0e49bd2
%description -n python3-%{srcname}+delayed
0e49bd2
This package installs dask with dependencies required for its delayed feature.
0e49bd2
Dask is a flexible parallel computing library for analytics.
0e49bd2
0e49bd2
45461af
%if %{without bootstrap}
0e49bd2
%package -n     python3-%{srcname}+distributed
0e49bd2
Summary:        Meta-package for python3-%{srcname} with distributed feature
0e49bd2
BuildArch:      noarch
0e49bd2
%{?python_provide:%python_provide python3-%{srcname}+distributed}
0e49bd2
0e49bd2
Requires:       python3-%{srcname} = %{version}-%{release}
537814a
Requires:       python3dist(distributed) >= %{distributed_version}
0e49bd2
0e49bd2
%description -n python3-%{srcname}+distributed
0e49bd2
This package installs dask with dependencies required for its distributed
0e49bd2
feature.
325cfc4
Dask is a flexible parallel computing library for analytics.
45461af
%endif
325cfc4
325cfc4
c3b3086
%if %{without bootstrap}
325cfc4
%package -n python-%{srcname}-doc
325cfc4
Summary:        dask documentation
325cfc4
44b63c5
BuildRequires:  python3dist(dask_sphinx_theme) >= 1.3.5
325cfc4
BuildRequires:  python3dist(numpydoc)
325cfc4
BuildRequires:  python3dist(sphinx)
325cfc4
325cfc4
%description -n python-%{srcname}-doc
de9725c
Documentation for dask.
325cfc4
%endif
325cfc4
325cfc4
325cfc4
%prep
325cfc4
%autosetup -n %{srcname}-%{version} -p1
325cfc4
325cfc4
# Remove bundled egg-info
325cfc4
rm -rf %{srcname}.egg-info
325cfc4
325cfc4
%build
325cfc4
%py3_build
325cfc4
c3b3086
%if %{without bootstrap}
325cfc4
# generate html docs
325cfc4
PYTHONPATH=${PWD} sphinx-build-3 docs/source html
325cfc4
# remove the sphinx-build leftovers
325cfc4
rm -rf html/.{doctrees,buildinfo}
325cfc4
%endif
325cfc4
325cfc4
325cfc4
%install
325cfc4
%py3_install
325cfc4
325cfc4
325cfc4
%check
de9725c
%ifarch arm
de9725c
# Is there a way to do this in one line?
de9725c
%global have_arm 1
f882b41
%endif
325cfc4
de9725c
pytest_args=(
de9725c
  -m 'not network'
de9725c
de9725c
  # https://bugzilla.redhat.com/show_bug.cgi?id=1968947#c4
64f50c6
  --deselect=dask/dataframe/io/tests/test_sql.py::test_select_from_select
de9725c
de9725c
  -n %[0%{?have_arm}?"2":"auto"]
de9725c
)
de9725c
de9725c
%{pytest} "${pytest_args[@]}"
325cfc4
325cfc4
%files -n python3-%{srcname}
325cfc4
%doc README.rst
325cfc4
%license LICENSE.txt
0482ca9
%{python3_sitelib}/%{srcname}/
0482ca9
%{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info/
325cfc4
0e49bd2
%files -n python3-%{srcname}+array
5c406a2
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
5c406a2
0e49bd2
%files -n python3-%{srcname}+bag
5c406a2
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
5c406a2
0e49bd2
%files -n python3-%{srcname}+dataframe
5c406a2
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
5c406a2
0e49bd2
%files -n python3-%{srcname}+delayed
5c406a2
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
5c406a2
45461af
%if %{without bootstrap}
0e49bd2
%files -n python3-%{srcname}+distributed
5c406a2
%{?python_extras_subpkg:%ghost %{python3_sitelib}/%{srcname}-%{version}-py%{python3_version}.egg-info}
45461af
%endif
0e49bd2
c3b3086
%if %{without bootstrap}
325cfc4
%files -n python-%{srcname}-doc
325cfc4
%doc html
325cfc4
%license LICENSE.txt
325cfc4
%endif
325cfc4
325cfc4
325cfc4
%changelog
3212fae
%autochangelog