diff --git a/_multibuild b/_multibuild
index 73ab5e8..8cf2769 100644
--- a/_multibuild
+++ b/_multibuild
@@ -1,5 +1,5 @@
- test-py38
test-py39
test-py310
+ test-py311
diff --git a/pandas-1.5.3.tar.gz b/pandas-1.5.3.tar.gz
deleted file mode 100644
index 0002c8f..0000000
--- a/pandas-1.5.3.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1
-size 5203060
diff --git a/pandas-2.0.2-gh.tar.gz b/pandas-2.0.2-gh.tar.gz
new file mode 100644
index 0000000..e803a99
--- /dev/null
+++ b/pandas-2.0.2-gh.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:44f41cb263726716ff513081bf57ea62fec704f367e3fc8adb15e54991c98273
+size 14036944
diff --git a/python-pandas.changes b/python-pandas.changes
index d8ef169..80fbf78 100644
--- a/python-pandas.changes
+++ b/python-pandas.changes
@@ -1,3 +1,170 @@
+-------------------------------------------------------------------
+Sat May 27 13:18:13 UTC 2023 - Ben Greiner
+
+- Update to 2.0.2
+ ## Fixed regressions
+ * Fixed performance regression in GroupBy.apply() (GH53195)
+ * Fixed regression in merge() on Windows when dtype is np.intc
+ (GH52451)
+ * Fixed regression in read_sql() dropping columns with duplicated
+ column names (GH53117)
+ * Fixed regression in DataFrame.loc() losing MultiIndex name when
+ enlarging object (GH53053)
+ * Fixed regression in DataFrame.to_string() printing a backslash
+ at the end of the first row of data, instead of headers, when
+ the DataFrame doesn’t fit the line width (GH53054)
+ * Fixed regression in MultiIndex.join() returning levels in wrong
+ order (GH53093)
+ ## Bug fixes
+ * Bug in arrays.ArrowExtensionArray incorrectly assigning dict
+ instead of list for .type with pyarrow.map_ and raising a
+ NotImplementedError with pyarrow.struct (GH53328)
+ * Bug in api.interchange.from_dataframe() was raising IndexError
+ on empty categorical data (GH53077)
+ * Bug in api.interchange.from_dataframe() was returning
+ DataFrame’s of incorrect sizes when called on slices (GH52824)
+ * Bug in api.interchange.from_dataframe() was unnecessarily
+ raising on bitmasks (GH49888)
+ * Bug in merge() when merging on datetime columns on different
+ resolutions (GH53200)
+ * Bug in read_csv() raising OverflowError for engine="pyarrow"
+ and parse_dates set (GH53295)
+ * Bug in to_datetime() was inferring format to contain "%H"
+ instead of "%I" if date contained “AM” / “PM” tokens (GH53147)
+ * Bug in DataFrame.convert_dtypes() ignores convert_* keywords
+ when set to False dtype_backend="pyarrow" (GH52872)
+ * Bug in DataFrame.convert_dtypes() losing timezone for tz-aware
+ dtypes and dtype_backend="pyarrow" (GH53382)
+ * Bug in DataFrame.sort_values() raising for PyArrow dictionary
+ dtype (GH53232)
+ * Bug in Series.describe() treating pyarrow-backed timestamps and
+ timedeltas as categorical data (GH53001)
+ * Bug in Series.rename() not making a lazy copy when
+ Copy-on-Write is enabled when a scalar is passed to it
+ (GH52450)
+ * Bug in pd.array() raising for NumPy array and pa.large_string
+ or pa.large_binary (GH52590)
+ * Bug in DataFrame.__getitem__() not preserving dtypes for
+ MultiIndex partial keys (GH51895)
+ ## Other
+ * Raised a better error message when calling
+ Series.dt.to_pydatetime() with ArrowDtype with pyarrow.date32
+ or pyarrow.date64 type (GH52812)
+- Release to 2.0.1
+ ## Fixed regressions
+ * Fixed regression for subclassed Series when constructing from a
+ dictionary (GH52445)
+ * Fixed regression in SeriesGroupBy.agg() failing when grouping
+ with categorical data, multiple groupings, as_index=False, and
+ a list of aggregations (GH52760)
+ * Fixed regression in DataFrame.pivot() changing Index name of
+ input object (GH52629)
+ * Fixed regression in DataFrame.resample() raising on a DataFrame
+ with no columns (GH52484)
+ * Fixed regression in DataFrame.sort_values() not resetting index
+ when DataFrame is already sorted and ignore_index=True
+ (GH52553)
+ * Fixed regression in MultiIndex.isin() raising TypeError for
+ Generator (GH52568)
+ * Fixed regression in Series.describe() showing RuntimeWarning
+ for extension dtype Series with one element (GH52515)
+ * Fixed regression when adding a new column to a DataFrame when
+ the DataFrame.columns was a RangeIndex and the new key was
+ hashable but not a scalar (GH52652)
+ ## Bug fixes
+ * Bug in Series.dt.days that would overflow int32 number of days
+ (GH52391)
+ * Bug in arrays.DatetimeArray constructor returning an incorrect
+ unit when passed a non-nanosecond numpy datetime array
+ (GH52555)
+ * Bug in ArrowExtensionArray with duration dtype overflowing when
+ constructed from data containing numpy NaT (GH52843)
+ * Bug in Series.dt.round() when passing a freq of equal or higher
+ resolution compared to the Series would raise a
+ ZeroDivisionError (GH52761)
+ * Bug in Series.median() with ArrowDtype returning an approximate
+ median (GH52679)
+ * Bug in api.interchange.from_dataframe() was unnecessarily
+ raising on categorical dtypes (GH49889)
+ * Bug in api.interchange.from_dataframe() was unnecessarily
+ raising on large string dtypes (GH52795)
+ * Bug in pandas.testing.assert_series_equal() where
+ check_dtype=False would still raise for datetime or timedelta
+ types with different resolutions (GH52449)
+ * Bug in read_csv() casting PyArrow datetimes to NumPy when
+ dtype_backend="pyarrow" and parse_dates is set causing a
+ performance bottleneck in the process (GH52546)
+ * Bug in to_datetime() and to_timedelta() when trying to convert
+ numeric data with a ArrowDtype (GH52425)
+ * Bug in to_numeric() with errors='coerce' and
+ dtype_backend='pyarrow' with ArrowDtype data (GH52588)
+ * Bug in ArrowDtype.__from_arrow__() not respecting if dtype is
+ explicitly given (GH52533)
+ * Bug in DataFrame.describe() not respecting ArrowDtype in
+ include and exclude (GH52570)
+ * Bug in DataFrame.max() and related casting different Timestamp
+ resolutions always to nanoseconds (GH52524)
+ * Bug in Series.describe() not returning ArrowDtype with
+ pyarrow.float64 type with numeric data (GH52427)
+ * Bug in Series.dt.tz_localize() incorrectly localizing
+ timestamps with ArrowDtype (GH52677)
+ * Bug in arithmetic between np.datetime64 and np.timedelta64 NaT
+ scalars with units always returning nanosecond resolution
+ (GH52295)
+ * Bug in logical and comparison operations between ArrowDtype and
+ numpy masked types (e.g. "boolean") (GH52625)
+ * Fixed bug in merge() when merging with ArrowDtype one one and a
+ NumPy dtype on the other side (GH52406)
+ * Fixed segfault in Series.to_numpy() with null[pyarrow] dtype
+ (GH52443)
+ ## Other
+ * DataFrame created from empty dicts had columns of dtype object.
+ It is now a RangeIndex (GH52404)
+ * Series created from empty dicts had index of dtype object. It
+ is now a RangeIndex (GH52404)
+ * Implemented Series.str.split() and Series.str.rsplit() for
+ ArrowDtype with pyarrow.string (GH52401)
+ * Implemented most str accessor methods for ArrowDtype with
+ pyarrow.string (GH52401)
+ * Supplying a non-integer hashable key that tests False in
+ api.types.is_scalar() now raises a KeyError for
+ RangeIndex.get_loc(), like it does for Index.get_loc().
+ Previously it raised an InvalidIndexError (GH52652).
+- Release to 2.0.0
+ ## Enhancements
+ * Installing optional dependencies with pip extras
+ * Index can now hold numpy numeric dtypes
+ * Argument dtype_backend , to return pyarrow-backed or
+ numpy-backed nullable dtypes
+ * Copy-on-Write improvements
+ * Other enhancements, see
+ https://pandas.pydata.org/pandas-docs/version/2.0.2/whatsnew/v2.0.0.html#other-enhancements
+ ## Notable bug fixes
+ * DataFrameGroupBy.cumsum() and DataFrameGroupBy.cumprod()
+ overflow instead of lossy casting to float
+ * DataFrameGroupBy.nth() and SeriesGroupBy.nth() now behave as
+ filtrations
+ ## Backwards incompatible API changes
+ * Construction with datetime64 or timedelta64 dtype with
+ unsupported resolution
+ * Value counts sets the resulting name to count
+ * Disallow astype conversion to non-supported
+ datetime64/timedelta64 dtypes
+ * UTC and fixed-offset timezones default to standard-library
+ tzinfo objects
+ * Empty DataFrames/Series will now default to have a RangeIndex
+ * DataFrame to LaTeX has a new render engine
+ * Increased minimum versions for dependencies
+ * Datetimes are now parsed with a consistent format
+ * Other API changes, see
+ https://pandas.pydata.org/pandas-docs/version/2.0.2/whatsnew/v2.0.0.html#other-api-changes
+ ## Deprecations
+ ## Removal of prior version deprecations/changes
+ ## Performance improvements
+ ## Bug fixes
+- Drop python38 test flavor and start testing python311 which has
+ been missing since.
+
-------------------------------------------------------------------
Mon May 8 06:10:30 UTC 2023 - Johannes Kastl
diff --git a/python-pandas.spec b/python-pandas.spec
index f3e7b85..8c8331a 100644
--- a/python-pandas.spec
+++ b/python-pandas.spec
@@ -17,22 +17,22 @@
%global flavor @BUILD_FLAVOR@%{nil}
-%if "%{flavor}" == "test-py38"
-%define psuffix -test-py38
-%define skip_python39 1
-%define skip_python310 1
-%bcond_without test
-%endif
%if "%{flavor}" == "test-py39"
%define psuffix -test-py39
-%define skip_python38 1
%define skip_python310 1
+%define skip_python311 1
%bcond_without test
%endif
%if "%{flavor}" == "test-py310"
%define psuffix -test-py310
-%define skip_python38 1
%define skip_python39 1
+%define skip_python311 1
+%bcond_without test
+%endif
+%if "%{flavor}" == "test-py311"
+%define psuffix -test-py311
+%define skip_python39 1
+%define skip_python310 1
%bcond_without test
%endif
%if "%{flavor}" == ""
@@ -40,99 +40,103 @@
%bcond_with test
%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
+
%{?sle15_python_module_pythons}
Name: python-pandas%{psuffix}
-Version: 1.5.3
+Version: 2.0.2
Release: 0
Summary: Python data structures for data analysis, time series, and statistics
License: BSD-3-Clause
Group: Development/Libraries/Python
URL: https://pandas.pydata.org/
-Source0: https://files.pythonhosted.org/packages/source/p/pandas/pandas-%{version}.tar.gz
+# Use GitHub Archive: Test-data
+Source0: https://github.com/pandas-dev/pandas/archive/refs/tags/v%{version}.tar.gz#/pandas-%{version}-gh.tar.gz
# SourceRepository: https://github.com/pandas-dev/pandas
-BuildRequires: %{python_module Cython >= 0.29.32}
+BuildRequires: %{python_module Cython >= 0.29.33 with %python-Cython < 3}
BuildRequires: %{python_module devel >= 3.8}
BuildRequires: %{python_module numpy-devel >= 1.20.3}
BuildRequires: %{python_module pip}
-BuildRequires: %{python_module setuptools >= 51.0.0}
+BuildRequires: %{python_module setuptools >= 61.0.0}
+BuildRequires: %{python_module versioneer-toml}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: python-rpm-macros
-Requires: python-numpy >= 1.20.3
-Requires: python-python-dateutil >= 2.8.1
+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}
-# SECTION Optional dependencies
-# https://pandas.pydata.org/docs/getting_started/install.html#optional-dependencies
-Recommends: python-Bottleneck >= 1.3.2
-Recommends: python-numexpr >= 2.7.3
-# Compression
-Suggests: python-Brotli >= 0.7.0
-Suggests: python-Jinja2 >= 3.0.0
-# SQL databases
-Suggests: python-PyMySQL >= 1.0.2
-Suggests: python-QtPy
-Suggests: python-SQLAlchemy >= 1.4.16
-Suggests: python-XlsxWriter >= 1.2.2
-# HTML
-Suggests: python-beautifulsoup4 >= 4.9.3
-Suggests: python-blosc >= 1.21.0
-Suggests: python-fastparquet >= 0.4.0
-# Access data in the cloud
-Suggests: python-fsspec >= 2021.7.0
-Suggests: python-gcsfs >= 2021.7.0
-Suggests: python-html5lib >= 1.1
-Suggests: python-lxml >= 4.6.3
-# Visualization
-Suggests: python-matplotlib >= 3.3.2
-Suggests: python-numba >= 0.53.1
-Suggests: python-openpyxl >= 3.0.7
-Suggests: python-pandas-gbq >= 0.15.0
-Suggests: python-psycopg2 >= 2.8.6
-Suggests: python-pyarrow >= 1.0.1
-Suggests: python-pyreadstat >= 1.1.2
-Suggests: python-python-snappy >= 0.6.0
-Suggests: python-pyxlb >= 1.0.8
-# Clipboard
-Suggests: python-qt5
-Suggests: python-s3fs >= 2021.08.0
-# Computation
-Suggests: python-scipy >= 1.7.1
-# Other data sources
-Suggests: python-tables >= 3.6.1
-Suggests: python-tabulate >= 0.8.9
-Suggests: python-xarray >= 0.19.0
-# Excel files
-Suggests: python-xlrd >= 2.0.1
-Suggests: python-xlwt >= 1.3.0
-Suggests: python-zlib
-Suggests: python-zstandard >= 0.15.2
-Suggests: xclip
-Suggests: xsel
+%if 0%{?python_version_nodots} >= 311
+Requires: python-numpy >= 1.23.2
+%elif 0%{?python_version_nodots} >= 310
+Requires: python-numpy >= 1.21.0
+%else
+Requires: python-numpy >= 1.20.3
+%endif
+# SECTION extras
+Recommends: python-pandas-performance
+Suggests: python-pandas-all
+Suggests: python-pandas-clipboard
+Suggests: python-pandas-compression
+Suggests: python-pandas-computation
+Suggests: python-pandas-excel
+Suggests: python-pandas-feather
+Suggests: python-pandas-fss
+Suggests: python-pandas-hdf5
+Suggests: python-pandas-html
+Suggests: python-pandas-mysql
+Suggests: python-pandas-output_formatting
+Suggests: python-pandas-parquet
+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}
# /SECTION
%if %{with test}
-BuildRequires: %{python_module Bottleneck >= 1.3.2}
-BuildRequires: %{python_module Jinja2 >= 3}
-BuildRequires: %{python_module SQLAlchemy >= 1.4.16}
-BuildRequires: %{python_module XlsxWriter >= 1.4.3}
-BuildRequires: %{python_module beautifulsoup4 >= 4.9.3}
-BuildRequires: %{python_module hypothesis >= 6.13.0}
-BuildRequires: %{python_module lxml >= 4.6.3}
-BuildRequires: %{python_module matplotlib >= 3.3.2}
-BuildRequires: %{python_module numexpr >= 2.7.3}
-BuildRequires: %{python_module openpyxl >= 3.0.7}
-BuildRequires: %{python_module pandas = %{version}}
-BuildRequires: %{python_module pytest >= 6.0}
-BuildRequires: %{python_module pytest-asyncio >= 0.17}
-BuildRequires: %{python_module pytest-mock}
-BuildRequires: %{python_module pytest-xdist >= 1.31}
-BuildRequires: %{python_module scipy >= 1.7.1}
-BuildRequires: %{python_module xlrd >= 2.0.1}
+# required for sqlite3 tests
+BuildRequires: %{pythons}
+BuildRequires: %{python_module pandas-test = %{version}}
BuildRequires: memory-constraints
-BuildRequires: xclip
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}}
+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}}
+BuildRequires: %{python_module pandas-parquet = %{version}}
+BuildRequires: %{python_module pandas-performance = %{version}}
+BuildRequires: %{python_module pandas-plot = %{version}}
+BuildRequires: %{python_module pandas-postgresql = %{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}}}
+%endif
%endif
%python_subpackages
@@ -142,9 +146,270 @@ 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.34.2
+Requires: python-pandas = %{version}
+Requires: python-pytest >= 7.0.0
+Requires: python-pytest-asyncio >= 0.17.0
+Requires: python-pytest-xdist >= 2.2.0
+BuildArch: noarch
+
+%description test
+This package provides the [test] extra for python-pandas
+
+%package performance
+Summary: The python pandas[performance] extra
+Requires: python-Bottleneck >= 1.3.2
+Requires: python-numba >= 0.53.1
+Requires: python-numexpr >= 2.7.1
+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.7.1
+Requires: python-xarray >= 0.21.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 >= 2021.07.0
+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 >= 2021.08.0
+BuildArch: noarch
+
+%description aws
+This package provides the [aws] extra for python-pandas
+
+%package gcp
+Summary: The python pandas[gcp] extra
+Requires: python-gcsfs >= 2021.07.0
+Requires: python-pandas = %{version}
+Requires: python-pandas-gbq >= 0.15.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.0.7
+Requires: python-pandas = %{version}
+%{?_with_xlsb:Requires: python-pyxlsb >= 1.0.8}
+Requires: python-XlsxWriter >= 1.4.3
+Requires: python-xlrd >= 2.0.1
+BuildArch: noarch
+
+%description excel
+This package provides the [excel] extra for python-pandas.
+(Except for pyxlsb, which is not available as openSUSE rpm package)
+
+%package parquet
+Summary: The python pandas[parquet] extra
+Requires: python-pandas = %{version}
+Requires: python-pyarrow >= 7.0.0
+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 >= 7.0.0
+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.6.1
+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.1.2
+BuildArch: noarch
+
+%description spss
+This package provides the [spss] extra for python-pandas
+
+%package postgresql
+Summary: The python pandas[postgresql] extra
+Requires: python-SQLAlchemy >= 1.4.16
+Requires: python-pandas = %{version}
+Requires: python-psycopg2 >= 2.8.6
+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 >= 1.4.16
+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 >= 1.4.16
+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.9.3
+Requires: python-html5lib >= 1.1
+Requires: python-lxml >= 4.6.3
+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.6.3
+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.1
+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.0.0
+Requires: python-pandas = %{version}
+Requires: python-tabulate >= 0.8.9
+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.1
+Requires: python-QtPy >= 2.2.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-brotlipy >= 0.7.0
+Requires: python-pandas = %{version}
+Requires: python-python-snappy >= 0.6.0
+Requires: python-zstandard >= 0.15.2
+BuildArch: noarch
+
+%description compression
+This package provides the [compression] extra for python-pandas
+
+%package all
+Summary: The python pandas[all] extra
+Requires: python-Bottleneck >= 1.3.2
+Requires: python-Jinja2 >= 3.0.0
+Requires: python-PyMySQL >= 1.0.2
+Requires: python-PyQt5 >= 5.15.1
+Requires: python-QtPy >= 2.2.0
+Requires: python-SQLAlchemy >= 1.4.16
+Requires: python-XlsxWriter >= 1.4.3
+Requires: python-beautifulsoup4 >= 4.9.3
+Requires: python-blosc
+Requires: python-brotlipy >= 0.7.0
+Requires: python-fastparquet >= 0.6.3
+Requires: python-fsspec >= 2021.07.0
+Requires: python-gcsfs >= 2021.07.0
+Requires: python-html5lib >= 1.1
+Requires: python-hypothesis >= 6.34.2
+Requires: python-lxml >= 4.6.3
+Requires: python-matplotlib >= 3.6.1
+Requires: python-numba >= 0.53.1
+Requires: python-numexpr >= 2.7.3
+Requires: python-odfpy >= 1.4.1
+Requires: python-openpyxl >= 3.0.7
+Requires: python-pandas = %{version}
+Requires: python-psycopg2 >= 2.8.6
+Requires: python-pyarrow >= 7.0.0
+Requires: python-pyreadstat >= 1.1.2
+Requires: python-pytest >= 7.0.0
+Requires: python-pytest-asyncio >= 0.17.0
+Requires: python-pytest-xdist >= 2.2.0
+Requires: python-python-snappy >= 0.6.0
+Requires: python-scipy >= 1.7.1
+Requires: python-tables >= 3.6.1
+Requires: python-tabulate >= 0.8.9
+Requires: python-xarray >= 0.21.0
+Requires: python-xlrd >= 2.0.1
+Requires: python-zstandard >= 0.15.2
+%{?_with_aws:Requires: python-s3fs >= 2021.08.0}
+%{?_with_gcp:Requires: python-pandas-gbq >= 0.15.0}
+%{?_with_xslb:Requires: python-pyxlsb >= 1.0.8}
+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
+
+You can install them directly through `pip3 install --user`, if needed.
+
%prep
%autosetup -p1 -n pandas-%{version}
-sed -i 's/--strict-data-files//' pyproject.toml
+# don't call pytest with --strict-data-files
+sed -i '/addopts/ {s/--strict-data-files//}' pyproject.toml
+# don't require the PyPI data only tzdata package, we use the timezone RPM package
+sed -i '/dependencies = \[/,/\]/ {/tzdata.*>=/d}' pyproject.toml
%build
%if !%{with test}
@@ -175,28 +440,29 @@ export PYTHONDONTWRITEBYTECODE=1
# https://github.com/pytest-dev/pytest/issues/920
# https://github.com/pytest-dev/pytest/issues/1075
export PYTHONHASHSEED=1
-# dtypes not as expected
-# https://github.com/pandas-dev/pandas/issues/39096
-# https://github.com/pandas-dev/pandas/issues/36579
-SKIP_TESTS="(test_misc and test_memory_usage and series and empty and index)"
-# pytest-xdist worker crash
-SKIP_TESTS+=" or test_pivot_number_of_levels_larger_than_int32"
-# https://github.com/pandas-dev/pandas/pull/49777 -- removed in pandas 1.6+
-SKIP_TESTS+=" or test_constructor_signed_int_overflow_deprecation"
-
# --skip-* arguments: Upstream's custom way to skip marked tests. These do not use pytest.mark.
SKIP_ARGS="--skip-network"
# clipboard not set up properly in build service without window manager
SKIP_MARKERS="clipboard"
# skip tests which upstream marked for -n 1 only.
SKIP_MARKERS+=" or single_cpu"
+# pytest-xdist worker crash
+SKIP_TESTS="test_pivot_number_of_levels_larger_than_int32"
+# no locally running database server
+SKIP_TESTS+=" or psycopg2_engine or psycopg2_conn or pymysql_engine or pymysql_conn"
-if [ $(getconf LONG_BIT) -eq 32 ]; then
+%ifarch %{ix86} %{arm32}
# https://github.com/pandas-dev/pandas/issues/31856
SKIP_TESTS+=" or test_maybe_promote_int_with_int"
# rounding error
SKIP_TESTS+=" or (test_rolling_quantile_interpolation_options and data1 and linear and 0.1)"
-fi
+# overflow
+SKIP_TESTS+=" or test_large_string_pyarrow"
+# dtype mismatch
+SKIP_TESTS+=" or test_frame_setitem_dask_array_into_new_col"
+# numba formats not supported on 32-bit
+SKIP_TESTS+=" or numba"
+%endif
%ifarch %{ix86}
# overflows on i586
SKIP_TESTS+=" or test_encode_non_c_locale"
@@ -231,7 +497,7 @@ SKIP_ARGS+=" --skip-slow --skip-db"
%{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} --dist=loadfile \
+xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \
-o cache_dir=$PWD/.pytest_cache --cache-clear \
${SKIP_ARGS} \
-m "not (${SKIP_MARKERS})" \
@@ -246,6 +512,96 @@ xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} --dist=loadfile \
%doc README.md RELEASE.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 performance}
+%license LICENSE
+%doc README.md
+
+%files %{python_files computation}
+%license LICENSE
+%doc README.md
+
+%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
+
+%files %{python_files parquet}
+%license LICENSE
+%doc README.md
+
+%files %{python_files feather}
+%license LICENSE
+%doc README.md
+
+%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
+
+%files %{python_files all}
+%license LICENSE
+%doc README.md
+%endif
%endif
%changelog