2024-10-02 10:15:57 +02:00
#
# spec file for package python-pandas
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%{?sle15_python_module_pythons}
%if "%{flavor}" == ""
%define psuffix %{nil}
%bcond_with test
%else
%define psuffix -%{flavor}
%bcond_without test
%if "%{flavor}" != "test-py310"
%define skip_python310 1
%endif
%if "%{flavor}" != "test-py311"
%define skip_python311 1
%endif
%if "%{flavor}" != "test-py312"
%define skip_python312 1
%endif
2024-10-11 06:42:02 +02:00
%if "%{flavor}" != "test-py313"
%define skip_python313 1
%endif
2024-10-02 10:15:57 +02:00
# Skip empty buildsets, last one is for sle15_python_module_pythons
%if "%{shrink:%{pythons}}" == "" || ("%pythons" == "python311" && 0%{?skip_python311})
ExclusiveArch : donotbuild
%define python_module() %flavor-not-enabled-in-buildset-for-suse-%{?suse_version}
%endif
%endif
# Only test the core functionality in Ring1 (Lettered Staging)
%bcond_with ringdisabled
# s3fs not available
%bcond_with aws
# pandas-gbq not available
%bcond_with gcp
# xlsb not available
%bcond_with xslb
%bcond_with consortium_standard
%bcond_with calamine
%bcond_with adbc
# depend/not depend on python-pyarrow and apache-arrow [bsc#1218592]
%bcond_without pyarrow
%if %{suse_version} <= 1500
# requires __has_builtin with keywords
%define gccver 13
%endif
Name : python-pandas%{psuffix}
# Set version through _service
Version : 2.2.3
Release : 0
Summary : Python data structures for data analysis, time series, and statistics
License : BSD-3-Clause
URL : https://pandas.pydata.org/
# SourceRepository: https://github.com/pandas-dev/pandas
# Must be created by cloning through `osc service runall`: gh#pandas-dev/pandas#54903, gh#pandas-dev/pandas#54907
Source0 : pandas-%{version} .tar.gz
# PATCH-FIX-UPSTREAM gh#pandas-dev/pandas#1044cf44
Patch0 : tests-nomkl.patch
# PATCH-FIX-UPSTREAM tiny part of gh#pandas-dev/pandas#4f743f98
Patch1 : tests-wasm.patch
%if !%{with test}
BuildRequires : %{python_module Cython >= 3.0.5}
BuildRequires : %{python_module devel >= 3.9}
BuildRequires : %{python_module meson-python >= 0.13.1}
BuildRequires : %{python_module numpy-devel >= 1.26}
BuildRequires : %{python_module pip}
BuildRequires : %{python_module versioneer-toml}
BuildRequires : %{python_module wheel}
BuildRequires : fdupes
BuildRequires : gcc%{?gccver} -c++
BuildRequires : git-core
BuildRequires : meson >= 1.2.1
%endif
BuildRequires : python-rpm-macros
Requires : python-python-dateutil >= 2.8.2
Requires : python-pytz >= 2020.1
Requires : timezone >= 2022a
Obsoletes : python-pandas-doc < %{version}
Provides : python-pandas-doc = %{version}
%if 0%{python_version_nodots} < 311
Requires : python-numpy >= 1.22.4
%else
%if 0%{python_version_nodots} == 311
Requires : python-numpy >= 1.23.2
%else
Requires : python-numpy >= 1.26
%endif
%endif
# SECTION extras
Recommends: python-pandas-performance
Recommends: python-pandas-pyarrow
Suggests : python-pandas-all
Suggests : python-pandas-clipboard
Suggests : python-pandas-compression
Suggests : python-pandas-computation
Suggests : python-pandas-excel
Suggests : python-pandas-fss
Suggests : python-pandas-hdf5
Suggests : python-pandas-html
Suggests : python-pandas-mysql
Suggests : python-pandas-output_formatting
Suggests : python-pandas-plot
Suggests : python-pandas-postgresql
Suggests : python-pandas-spss
Suggests : python-pandas-sql-other
Suggests : python-pandas-test
Suggests : python-pandas-xml
%{?with_aws:Suggests: python-pandas-aws}
%{?with_gcp:Suggests: python-pandas-gcp}
%{?with_pyarrow:Suggests: python-pandas-parquet}
%{?with_pyarrow:Suggests: python-pandas-feather}
# /SECTION
%if %{with test}
# required for sqlite3 tests
BuildRequires : %{pythons}
BuildRequires : %{python_module pandas-test = %{version} }
BuildRequires : memory-constraints
BuildRequires : xvfb-run
%if !%{with ringdisabled}
BuildRequires : %{python_module IPython}
BuildRequires : %{python_module dask-array}
BuildRequires : %{python_module dask-dataframe}
BuildRequires : %{python_module pandas-all = %{version} }
BuildRequires : %{python_module pandas-clipboard = %{version} }
BuildRequires : %{python_module pandas-compression = %{version} }
BuildRequires : %{python_module pandas-computation = %{version} }
BuildRequires : %{python_module pandas-excel = %{version} }
%{?with_pyarrow:BuildRequires: %{python_module pandas-feather = %{version} }}
BuildRequires : %{python_module pandas-fss = %{version} }
BuildRequires : %{python_module pandas-hdf5 = %{version} }
BuildRequires : %{python_module pandas-html = %{version} }
BuildRequires : %{python_module pandas-mysql = %{version} }
BuildRequires : %{python_module pandas-output_formatting = %{version} }
%{?with_pyarrow:BuildRequires: %{python_module pandas-parquet = %{version} }}
BuildRequires : %{python_module pandas-performance = %{version} }
BuildRequires : %{python_module pandas-plot = %{version} }
BuildRequires : %{python_module pandas-postgresql = %{version} }
%{?with_pyarrow:BuildRequires: %{python_module pandas-pyarrow = %{version} }}
BuildRequires : %{python_module pandas-spss = %{version} }
BuildRequires : %{python_module pandas-sql-other = %{version} }
BuildRequires : %{python_module pandas-xml = %{version} }
BuildRequires : xclip
%{?with_aws:BuildRequires: %{python_module pandas-aws = %{version} }}
%{?with_gcp:BuildRequires: %{python_module pandas-gcp = %{version} }}
%{?with_consortium_standard:BuildRequires: %{python_module pandas-consortium-standard = %{version} }}
%endif
%endif
%python_subpackages
%description
Pandas is a Python package providing data structures designed for
working with structured (tabular, multidimensional, potentially
heterogeneous) and time series data. It is a high-level building
block for doing data analysis in Python.
%package test
Summary : The python pandas[test] extra
Requires : python-hypothesis >= 6.46.1
Requires : python-pandas = %{version}
Requires : python-pytest >= 7.3.2
Requires : python-pytest-xdist >= 2.2.0
BuildArch : noarch
%description test
This package provides the [test] extra for python-pandas
%package pyarrow
Summary : The python pandas[pyarrow] extra
Requires : python-pandas = %{version}
Requires : python-pyarrow >= 10.0.1
BuildArch : noarch
%description pyarrow
This package provides the [pyarrow] extra for python-pandas
%package performance
Summary : The python pandas[performance] extra
Requires : python-Bottleneck >= 1.3.6
Requires : python-numba >= 0.56.4
Requires : python-numexpr >= 2.8.4
Requires : python-pandas = %{version}
BuildArch : noarch
%description performance
This package provides the [performance] extra for python-pandas
It is highly recommended to install this subpackage, as its dependencies
provide speed improvements, especially when working with large data sets.
%package computation
Summary : The python pandas[computation] extra
Requires : python-pandas = %{version}
Requires : python-scipy >= 1.10.0
Requires : python-xarray >= 2022.12.0
BuildArch : noarch
%description computation
This package provides the [computation] extra for python-pandas
%package fss
Summary : The python pandas[fss] extra
Requires : python-fsspec >= 2022.11
Requires : python-pandas = %{version}
BuildArch : noarch
%description fss
This package provides the [fss] extra for python-pandas
%package aws
Summary : The python pandas[aws] extra
Requires : python-pandas = %{version}
Requires : python-s3fs >= 2022.11
BuildArch : noarch
%description aws
This package provides the [aws] extra for python-pandas
%package gcp
Summary : The python pandas[gcp] extra
Requires : python-gcsfs >= 2022.11
Requires : python-pandas = %{version}
Requires : python-pandas-gbq >= 0.19.0
BuildArch : noarch
%description gcp
This package provides the [gcp] extra for python-pandas
%package excel
Summary : The python pandas[excel] extra
Requires : python-odfpy >= 1.4.1
Requires : python-openpyxl >= 3.1.0
Requires : python-pandas = %{version}
%{?with_xlsb:Requires: python-pyxlsb >= 1.0.10}
Requires : python-XlsxWriter >= 3.0.5
Requires : python-xlrd >= 2.0.1
%{?with_calamine:Requires: python-calamine >= 0.1.7}
BuildArch : noarch
%description excel
This package provides the [excel] extra for python-pandas.
(Except for pyxlsb and calamine which are not available as openSUSE rpm package)
%package parquet
Summary : The python pandas[parquet] extra
Requires : python-pandas = %{version}
Requires : python-pyarrow >= 10.0.1
BuildArch : noarch
%description parquet
This package provides the [parquet] extra for python-pandas
%package feather
Summary : The python pandas[feather] extra
Requires : python-pandas = %{version}
Requires : python-pyarrow >= 10.0.1
BuildArch : noarch
%description feather
This package provides the [feather] extra for python-pandas
%package hdf5
Summary : The python pandas[hdf5] extra
Requires : python-blosc
Requires : python-pandas = %{version}
Requires : python-tables >= 3.8.0
BuildArch : noarch
%description hdf5
This package provides the [hdf5] extra for python-pandas
%package spss
Summary : The python pandas[spss] extra
Requires : python-pandas = %{version}
Requires : python-pyreadstat >= 1.2.0
BuildArch : noarch
%description spss
This package provides the [spss] extra for python-pandas
%package postgresql
Summary : The python pandas[postgresql] extra
Requires : python-SQLAlchemy >= 2.0.0
Requires : python-pandas = %{version}
Requires : python-psycopg2 >= 2.9.6
%{?with_adbc:Requires: python-adbc-driver-postgresql >= 0.8}
BuildArch : noarch
%description postgresql
This package provides the [postgresql] extra for python-pandas
%package mysql
Summary : The python pandas[mysql] extra
Requires : python-PyMySQL >= 1.0.2
Requires : python-SQLAlchemy >= 2.0.0
Requires : python-pandas = %{version}
BuildArch : noarch
%description mysql
This package provides the [mysql] extra for python-pandas
%package sql-other
Summary : The python pandas[sql-other] extra
Requires : python-SQLAlchemy >= 2.0.0
%{?with_adbc:Requires: python-adbc-driver-postgresql >= 0.8}
%{?with_adbc:Requires: python-adbc-driver-sqlite >= 0.8}
Requires : python-pandas = %{version}
BuildArch : noarch
%description sql-other
This package provides the [sql-other] extra for python-pandas
%package html
Summary : The python pandas[html] extra
Requires : python-beautifulsoup4 >= 4.11.2
Requires : python-html5lib >= 1.1
Requires : python-lxml >= 4.9.2
Requires : python-pandas = %{version}
BuildArch : noarch
%description html
This package provides the [html] extra for python-pandas
%package xml
Summary : The python pandas[xml] extra
Requires : python-lxml >= 4.9.2
Requires : python-pandas = %{version}
BuildArch : noarch
%description xml
This package provides the [xml] extra for python-pandas
%package plot
Summary : The python pandas[plot] extra
Requires : python-matplotlib >= 3.6.3
Requires : python-pandas = %{version}
BuildArch : noarch
%description plot
This package provides the [plot] extra for python-pandas
%package output_formatting
Summary : The python pandas[output_formatting] extra
Requires : python-Jinja2 >= 3.1.2
Requires : python-pandas = %{version}
Requires : python-tabulate >= 0.9.0
BuildArch : noarch
%description output_formatting
This package provides the [output_formatting] extra for python-pandas
%package clipboard
Summary : The python pandas[clipboard] extra
Requires : python-PyQt5 >= 5.15.9
Requires : python-QtPy >= 2.3.0
Requires : python-pandas = %{version}
BuildArch : noarch
%description clipboard
This package provides the [clipboard] extra for python-pandas
%package compression
Summary : The python pandas[compression] extra
Requires : python-pandas = %{version}
Requires : python-zstandard >= 0.19.0
BuildArch : noarch
%description compression
This package provides the [compression] extra for python-pandas
%package consortium-standard
Summary : The python pandas[consortium-standard] extra
Requires : python-dataframe-api-compat >= 0.1.7
Requires : python-pandas = %{version}
BuildArch : noarch
%description consortium-standard
This package provides the [consortium-standard] extra for python-pandas
%package all
Summary : The python pandas[all] extra
Requires : python-Bottleneck >= 1.3.6
Requires : python-Jinja2 >= 3.1.2
Requires : python-PyMySQL >= 1.0.2
Requires : python-PyQt5 >= 5.15.9
Requires : python-QtPy >= 2.3.0
Requires : python-SQLAlchemy >= 2
Requires : python-XlsxWriter >= 3.0.5
Requires : python-beautifulsoup4 >= 4.11.2
%{?with_adbc:Requires: python-adbc-driver-postgresql >= 0.8}
%{?with_adbc:Requires: python-adbc-driver-sqlite >= 0.8}
Requires : python-blosc
%{?with_calamine:Requires: python-calamine >= 0.1.7}
%{?with_pyarrow:Requires: python-fastparquet >= 2022.12}
Requires : python-fsspec >= 2022.11
Requires : python-gcsfs >= 2022.11
Requires : python-html5lib >= 1.1
Requires : python-hypothesis >= 6.46.1
Requires : python-lxml >= 4.9.2
Requires : python-matplotlib >= 3.6.3
Requires : python-numba >= 0.56.4
Requires : python-numexpr >= 2.8.4
Requires : python-odfpy >= 1.4.1
Requires : python-openpyxl >= 3.1.0
Requires : python-pandas = %{version}
Requires : python-psycopg2 >= 2.9.6
%{?with_pyarrow:Requires: python-pyarrow >= 10.0.1}
Requires : python-pyreadstat >= 1.2.0
Requires : python-pytest >= 7.3.2
Requires : python-pytest-xdist >= 2.2.0
Requires : python-scipy >= 1.10.0
Requires : python-tables >= 3.8.0
Requires : python-tabulate >= 0.9
Requires : python-xarray >= 2022.12
Requires : python-xlrd >= 2.0.1
Requires : python-zstandard >= 0.19.0
%{?with_aws:Requires: python-s3fs >= 2022.05.0}
%{?with_gcp:Requires: python-pandas-gbq >= 0.19}
%{?with_xslb:Requires: python-pyxlsb >= 1.0.10}
%{?with_consortium_standard: Requires: python-dataframe-api-compat >= 0.1.7}
BuildArch : noarch
%description all
This package provides most the [all] extra for python-pandas
Some requirements defined in the PyPI package are left out
because they are not available as openSUSE RPM packages:
* pandas-gbq
* pyxlsb
* s3fs
* dataframe-api-compat
* adbc-driver-postgresql
* adbc-driver-sqlite
* calamine
You can install them directly through `pip%{python_bin_suffix} install --user`, if needed.
%prep
# ATTENTION: unpack and generate _version_meson.py before any patches and modifications for a clean version
%setup -q -n pandas-%{version}
%if !%{with test}
# use the last one from the buildset: need versioneer installed
%python_expand genpython=" % _ _ $ p y t h o n "
${genpython} generate_version.py -o _version_meson.py
sed -i " s | ' g e n e r a t e _ v e r s i o n . p y ' , | ' $ { g e n p y t h o n } ' , ' g e n e r a t e _ v e r s i o n . p y ' , | " meson.build
# don't require the PyPI data only tzdata package, we use the timezone RPM package
sed -i '/dependencies = \[/,/\]/ {/tzdata.*>=/d}' pyproject.toml
%endif
%autopatch -p1
%build
%if !%{with test}
%{?gccver:export CXX=g++-%{gccver} }
%{?gccver:export CC=gcc-%{gccver} }
export CFLAGS=" %{optflags} - f n o - s t r i c t - a l i a s i n g "
%pyproject_wheel
%endif
%install
%if !%{with test}
%pyproject_install
%{python_expand #
find %{buildroot} %{$python_sitearch}/pandas/_libs -name '*.[ch]' -delete
sed -i -e '/.[ch],/d' %{buildroot} %{$python_sitearch}/pandas-%{version} .dist-info/RECORD
%fdupes %{buildroot} %{$python_sitearch}
}
%else
# Copy the installed package back into the source tree
# This is equivalent to build and install editable (pip install -e .), and the only way
# to have a passing test suite due to how the test collection works in pytest >= 7.
# Only works for separate python flavors in multibuild.
%python_expand cp -rf %{$python_sitearch}/pandas/* pandas/
%endif
%check
%if %{with test}
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export PYTHONDONTWRITEBYTECODE=1
# Workaround for pytest-xdist flaky collection order
# https://github.com/pytest-dev/pytest/issues/920
# https://github.com/pytest-dev/pytest/issues/1075
export PYTHONHASHSEED=1
# no network connection on obs
SKIP_MARKERS=" n e t w o r k "
# clipboard not set up properly in build service without window manager
SKIP_MARKERS+=" o r c l i p b o a r d "
# skip tests which upstream marked for -n 1 only.
SKIP_MARKERS+=" o r s i n g l e _ c p u "
# pytest-xdist worker crash
SKIP_TESTS=" t e s t _ p i v o t _ n u m b e r _ o f _ l e v e l s _ l a r g e r _ t h a n _ i n t 3 2 "
# no locally running database server
SKIP_TESTS+=" o r p s y c o p g 2 _ e n g i n e o r p s y c o p g 2 _ c o n n o r p y m y s q l _ e n g i n e o r p y m y s q l _ c o n n "
SKIP_TESTS+=" o r t e s t _ p s y c o p g 2 _ s c h e m a _ s u p p o r t "
SKIP_TESTS+=" o r t e s t _ s e l f _ j o i n _ d a t e _ c o l u m n s "
# expects a dirty git revision from git repo
SKIP_TESTS+=" o r t e s t _ g i t _ v e r s i o n "
%if "%{flavor}" == "test-py312"
# https://github.com/pandas-dev/pandas/pull/57391, proposed change is not necessarily the right one
SKIP_TESTS+=" o r ( t e s t _ s c a l a r _ u n a r y a n d n u m e x p r - p a n d a s ) "
%endif
# Numpy2: unexpected 'np.str_(...)' in error message
SKIP_TESTS+=" o r t e s t _ g r o u p _ s u b p l o t _ i n v a l i d _ c o l u m n _ n a m e "
# https://github.com/pandas-dev/pandas/pull/55901, not gonna merge this huge patch to fix one test failing with new timezone, will be included in new release
SKIP_TESTS+=" o r t e s t _ a r r a y _ i n f e r e n c e [ d a t a 7 - e x p e c t e d 7 ] "
2024-10-25 07:20:36 +02:00
# numpy 2.1 issues?
SKIP_TESTS+=" o r t e s t _ f r a m e _ s e t i t e m _ d a s k _ a r r a y _ i n t o _ n e w _ c o l "
SKIP_TESTS+=" o r t e s t _ f r o m _ o b s c u r e _ a r r a y "
2024-10-02 10:15:57 +02:00
%ifarch %{ix86} %{arm32}
# https://github.com/pandas-dev/pandas/issues/31856
SKIP_TESTS+=" o r t e s t _ m a y b e _ p r o m o t e _ i n t _ w i t h _ i n t "
# rounding error
SKIP_TESTS+=" o r ( t e s t _ r o l l i n g _ q u a n t i l e _ i n t e r p o l a t i o n _ o p t i o n s a n d d a t a 1 a n d l i n e a r a n d 0 . 1 ) "
# overflow
SKIP_TESTS+=" o r t e s t _ l a r g e _ s t r i n g _ p y a r r o w "
SKIP_TESTS+=" o r t e s t _ p a n d a s _ n u l l a b l e _ w i t h _ m i s s i n g _ v a l u e s "
SKIP_TESTS+=" o r t e s t _ p a n d a s _ n u l l a b l e _ w i t h o u t _ m i s s i n g _ v a l u e s "
SKIP_TESTS+=" o r ( t e s t _ t o _ d a t e t i m e a n d T e s t O r i g i n a n d t e s t _ e p o c h ) "
SKIP_TESTS+=" o r t e s t _ t d _ m u l _ n u m e r i c _ n d a r r a y _ 0 d "
SKIP_TESTS+=" o r t e s t _ g e t _ i n d e x e r _ n o n _ u n i q u e _ w r o n g _ d t y p e "
# pyarrow read-only errors
SKIP_TESTS+=" o r t e s t _ l e f t _ j o i n _ m u l t i _ i n d e x "
SKIP_TESTS+=" o r t e s t _ j o i n _ o n _ s i n g l e _ c o l _ d u p _ o n _ r i g h t "
# dtype mismatch
SKIP_TESTS+=" o r t e s t _ f r a m e _ s e t i t e m _ d a s k _ a r r a y _ i n t o _ n e w _ c o l "
SKIP_TESTS+=" o r t e s t _ g e t _ i n d e x e r _ a r r o w _ d i c t i o n a r y _ t a r g e t "
# numba formats not supported on 32-bit
SKIP_TESTS+=" o r n u m b a "
%endif
%ifarch %{ix86}
# overflows on i586
SKIP_TESTS+=" o r t e s t _ e n c o d e _ n o n _ c _ l o c a l e "
# intp != int32 (still numpy 1)?
SKIP_TESTS+=" o r t e s t _ e n s u r e _ p l a t f o r m _ i n t "
# fails on i586 (was gcc10-skip-one-test.patch)
SKIP_TESTS+=" o r t e s t _ m e r g e _ o n _ i n t s _ f l o a t s _ w a r n i n g "
%endif
%ifarch ppc64 s390x
# big endian type issues
SKIP_TESTS+=" o r t e s t _ a s t y p e "
SKIP_TESTS+=" o r t e s t _ t o _ n u m p y _ s t r i n g "
SKIP_TESTS+=" o r ( t e s t _ c o n s t r u c t i o n a n d t e s t _ t o _ n u m p y ) "
SKIP_TESTS+=" o r t e s t _ t o _ r e c o r d s _ i n d e x _ n a m e "
SKIP_TESTS+=" o r t e s t _ t o _ r e c o r d s _ d t y p e "
SKIP_TESTS+=" o r t e s t _ t o _ r e c o r d s _ d i c t _ l i k e "
SKIP_TESTS+=" o r ( t e s t _ c _ p a r s e r _ o n l y a n d t e s t _ u n s u p p o r t e d _ d t y p e ) "
SKIP_TESTS+=" o r t e s t _ t d _ m u l _ t d 6 4 _ n d a r r a y _ i n v a l i d "
%endif
%ifnarch x86_64
# type and numeric precision issues, partially reported for arm and marked xfail upstream but not for e.g. ppc
SKIP_TESTS+=" o r ( t e s t _ a s t y p e a n d t e s t _ s u b t y p e _ i n t e g e r _ e r r o r s ) "
SKIP_TESTS+=" o r ( t e s t _ t o _ n u m e r i c a n d t e s t _ d o w n c a s t _ n u l l a b l e _ n u m e r i c a n d d a t a 1 2 - U I n t 6 4 - s i g n e d - U I n t 6 4 ) "
SKIP_TESTS+=" o r ( t e s t _ r o l l i n g a n d t e s t _ r o l l i n g _ v a r _ n u m e r i c a l _ i s s u e s ) "
SKIP_TESTS+=" o r ( t e s t _ g r o u p b y a n d t e s t _ g r o u p b y _ n u m e r i c a l _ s t a b i l i t y _ s u m _ m e a n ) "
SKIP_TESTS+=" o r ( t e s t _ g r o u p b y a n d t e s t _ g r o u p b y _ n u m e r i c a l _ s t a b i l i t y _ c u m s u m ) "
SKIP_TESTS+=" o r ( t e s t _ c _ p a r s e r _ o n l y a n d t e s t _ f l o a t _ p r e c i s i o n _ o p t i o n s ) "
# run the slow tests only on x86_64
SKIP_MARKERS+=" o r s l o w o r d b "
%endif
# The test collection consumes a lot of memory per worker. This sets %%jobs.
%limit_build -m 3072
%{python_expand $python -c 'import pandas; print(pandas.__path__); print(pandas.show_versions())'
# cache: can't just say no cacheprovider, because one test checks for the --lf option of pytest-cache
xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \
-o cache_dir=$PWD/.pytest_cache --cache-clear \
-m " n o t ( $ { S K I P _ M A R K E R S } ) " \
-k " n o t ( $ { S K I P _ T E S T S } ) " \
pandas
}
%endif
%if !%{with test}
%files %{python_files}
%license LICENSE
%doc README.md
%{python_sitearch} /pandas/
%{python_sitearch} /pandas-%{version} .dist-info
%files %{python_files test}
%license LICENSE
%doc README.md
%if !%{with ringdisabled}
%files %{python_files pyarrow}
%license LICENSE
%doc README.md
%files %{python_files performance}
%license LICENSE
%doc README.md
%if 0%{python_version_nodots} >= 310
%files %{python_files computation}
%license LICENSE
%doc README.md
%endif
%files %{python_files fss}
%license LICENSE
%doc README.md
%if %{with aws}
%files %{python_files aws}
%license LICENSE
%doc README.md
%endif
%if %{with gcp}
%files %{python_files gcp}
%license LICENSE
%doc README.md
%endif
%files %{python_files excel}
%license LICENSE
%doc README.md
%if %{with pyarrow}
%files %{python_files parquet}
%license LICENSE
%doc README.md
%endif
%if %{with pyarrow}
%files %{python_files feather}
%license LICENSE
%doc README.md
%endif
%files %{python_files hdf5}
%license LICENSE
%doc README.md
%files %{python_files spss}
%license LICENSE
%doc README.md
%files %{python_files postgresql}
%license LICENSE
%doc README.md
%files %{python_files mysql}
%license LICENSE
%doc README.md
%files %{python_files sql-other}
%license LICENSE
%doc README.md
%files %{python_files html}
%license LICENSE
%doc README.md
%files %{python_files xml}
%license LICENSE
%doc README.md
%files %{python_files plot}
%license LICENSE
%doc README.md
%files %{python_files output_formatting}
%license LICENSE
%doc README.md
%files %{python_files clipboard}
%license LICENSE
%doc README.md
%files %{python_files compression}
%license LICENSE
%doc README.md
%if %{with consortium_standard}
%files %{python_files consortium-standard}
%license LICENSE
%doc README.md
%endif
%files %{python_files all}
%license LICENSE
%doc README.md
%endif
%endif
%changelog