File project.diff of Package python-pandas
--- _service.orig
+++ _service
@@ -2,7 +2,7 @@
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/pandas-dev/pandas.git</param>
<param name="scm">git</param>
- <param name="revision">v2.2.1</param>
+ <param name="revision">v2.3.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="filename">pandas</param>
--- python-pandas.changes.orig
+++ python-pandas.changes
@@ -1,4 +1,131 @@
-------------------------------------------------------------------
+Fri Oct 25 05:19:49 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
+
+- Skip two tests that fail with Numpy 2.1.
+
+-------------------------------------------------------------------
+Fri Oct 11 04:40:52 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
+
+- Prepare for Python 3.13, by skipping it if we aren't building for it.
+
+-------------------------------------------------------------------
+Tue Oct 1 12:35:22 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
+
+- Update to 2.2.3
+ * Bug in eval() on complex including division /
+ discards imaginary part. (GH 21374)
+ * Minor fixes for numpy 2.1 compatibility. (GH 59444)
+ * Missing licenses for 3rd party dependencies were
+ added back into the wheels. (GH 58632)
+- Drop pandas-pr58269-pyarrow16xpass.patch, merged upstream
+- Drop pandas-pr58484-matplotlib.patch, merged upstream
+- Drop pandas-pr59175-matplotlib.patch, merged upstream
+- Drop pandas-pr59353-np2eval.patch, merged upstream
+- Drop tests-npdev.patch, merged upstream
+- Drop tests-timedelta.patch, merged upstream
+- Refresh tests-nomkl.patch
+- Renumber remaining patches
+
+-------------------------------------------------------------------
+Mon Sep 16 19:39:38 UTC 2024 - Markéta Machová <mmachova@suse.com>
+
+- Add bunch of patches to fix the testsuite with NumPy 2.1
+ * tests-wasm.patch
+ * tests-nomkl.patch
+ * tests-timedelta.patch
+ * tests-npdev.patch
+- Skip one test failing with new timezone, the patch would be too big
+
+-------------------------------------------------------------------
+Sun Sep 8 10:02:47 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Drop pandas-pr58720-xarray-dp.patch: It does no longer xfail
+
+-------------------------------------------------------------------
+Wed Aug 28 13:53:55 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Skip overflowing tests on 32-bit
+
+-------------------------------------------------------------------
+Sun Aug 25 21:22:36 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Add pandas-pr59353-np2eval.patch
+ * gh#pandas-dev/pandas#59353
+ * gh#pandas-dev/pandas#58548
+
+-------------------------------------------------------------------
+Thu Jul 11 09:51:36 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Add pandas-pr59175-matplotlib.patch -- gh#pandas-dev/pandas#59175
+
+-------------------------------------------------------------------
+Sun May 12 17:57:39 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
+
+- Add pandas-pr58269-pyarrow16xpass.patch
+ (gh#pandas-dev/pandas!58269)
+- Add pandas-pr58720-xarray-dp.patch
+ (gh#pandas-dev/pandas!58720), which makes pandas compatible
+ with the modern xarray
+- Add pandas-pr58484-matplotlib.patch
+ (gh#pandas-dev/pandas!58484), which makes pandas compatible
+ with the modern matplotlib
+- Skip also test_plot_scatter_shape (gh#pandas-dev/pandas#58851)
+
+-------------------------------------------------------------------
+Thu May 9 23:44:42 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
+
+- Skip build on Python 3.10 ... too many dependencies are missing.
+
+-------------------------------------------------------------------
+Tue Apr 30 18:08:56 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- Update to 2.2.2
+ * Pandas 2.2.2 is now compatible with numpy 2.0
+ * Pandas 2.2.2 is the first version of pandas that is generally
+ compatible with the upcoming numpy 2.0 release, and wheels for
+ pandas 2.2.2 will work with both numpy 1.x and 2.x. One major
+ caveat is that arrays created with numpy 2.0’s new StringDtype
+ will convert to object dtyped arrays upon Series/DataFrame
+ creation. Full support for numpy 2.0’s StringDtype is expected
+ to land in pandas 3.0.
+ * As usual please report any bugs discovered to our issue tracker
+ ## Fixed regressions
+ * DataFrame.__dataframe__() was producing incorrect data buffers
+ when the a column’s type was a pandas nullable on with missing
+ values (GH 56702)
+ * DataFrame.__dataframe__() was producing incorrect data buffers
+ when the a column’s type was a pyarrow nullable on with missing
+ values (GH 57664)
+ * Avoid issuing a spurious DeprecationWarning when a custom
+ DataFrame or Series subclass method is called (GH 57553)
+ * Fixed regression in precision of to_datetime() with string and
+ unit input (GH 57051)
+ ## Bug fixes
+ * DataFrame.__dataframe__() was producing incorrect data buffers
+ when the column’s type was nullable boolean (GH 55332)
+ * DataFrame.__dataframe__() was showing bytemask instead of
+ bitmask for 'string[pyarrow]' validity buffer (GH 57762)
+ * DataFrame.__dataframe__() was showing non-null validity buffer
+ (instead of None) 'string[pyarrow]' without missing values (GH
+ 57761)
+ * DataFrame.to_sql() was failing to find the right table when
+ using the schema argument (GH 57539)
+- Remove obsolete python39 multibuild
+- Add pandas-pr58269-pyarrow16xpass.patch
+ gh#pandas-dev/pandas#58269
+
+-------------------------------------------------------------------
+Mon Mar 4 20:44:10 UTC 2024 - Ben Greiner <code@bnavigator.de>
+
+- No xarrary for python 3.9 anymore: Remove from pandas[all] and
+ exclude pandas[computation]. Reenable testing to check it.
+ It will be skipped automatically when python39 is dropped from
+ Tumbleweed globally.
+- Fix 15.x build: requires newer compiler
+- Fix 15.x test skips: sle15_python_module_pythons needs to be
+ declared earlier
+
+-------------------------------------------------------------------
Fri Feb 23 20:04:59 UTC 2024 - Ben Greiner <code@bnavigator.de>
- Update to 2.2.1
--- python-pandas.spec.orig
+++ python-pandas.spec
@@ -17,14 +17,14 @@
%global flavor @BUILD_FLAVOR@%{nil}
+%{?sle15_python_module_pythons}
+
%if "%{flavor}" == ""
%define psuffix %{nil}
%bcond_with test
%else
%define psuffix -%{flavor}
%bcond_without test
-# globally skip testing py39
-%define skip_python39 1
%if "%{flavor}" != "test-py310"
%define skip_python310 1
%endif
@@ -34,6 +34,9 @@
%if "%{flavor}" != "test-py312"
%define skip_python312 1
%endif
+%if "%{flavor}" != "test-py313"
+%define skip_python313 1
+%endif
# Skip empty buildsets, last one is for sle15_python_module_pythons
%if "%{shrink:%{pythons}}" == "" || ("%pythons" == "python311" && 0%{?skip_python311})
ExclusiveArch: donotbuild
@@ -55,10 +58,13 @@ ExclusiveArch: donotbuild
# depend/not depend on python-pyarrow and apache-arrow [bsc#1218592]
%bcond_without pyarrow
-%{?sle15_python_module_pythons}
+%if %{suse_version} <= 1500
+# requires __has_builtin with keywords
+%define gccver 13
+%endif
Name: python-pandas%{psuffix}
# Set version through _service
-Version: 2.2.1
+Version: 2.3.0
Release: 0
Summary: Python data structures for data analysis, time series, and statistics
License: BSD-3-Clause
@@ -66,27 +72,37 @@ URL: https://pandas.pydata.or
# 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.23.2 if %python-base < 3.12 else %python-numpy-devel >= 1.26}
+BuildRequires: %{python_module numpy-devel >= 1.26}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module versioneer-toml}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
-BuildRequires: gcc-c++
+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} < 312
-Requires: (python-numpy >= 1.23.2 with python-numpy < 2)
+%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 with python-numpy < 2)
+Requires: python-numpy >= 1.26
+%endif
%endif
# SECTION extras
Recommends: python-pandas-performance
@@ -448,9 +464,12 @@ sed -i "s|'generate_version.py',|'${genp
# 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} -fno-strict-aliasing"
%pyproject_wheel
%endif
@@ -495,9 +514,16 @@ SKIP_TESTS+=" or test_self_join_date_col
# expects a dirty git revision from git repo
SKIP_TESTS+=" or test_git_version"
%if "%{flavor}" == "test-py312"
-# https://github.com/pandas-dev/pandas/pull/57391, proposed change is not necessary the right one
+# https://github.com/pandas-dev/pandas/pull/57391, proposed change is not necessarily the right one
SKIP_TESTS+=" or (test_scalar_unary and numexpr-pandas)"
%endif
+# Numpy2: unexpected 'np.str_(...)' in error message
+SKIP_TESTS+=" or test_group_subplot_invalid_column_name"
+# 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+=" or test_array_inference[data7-expected7]"
+# numpy 2.1 issues?
+SKIP_TESTS+=" or test_frame_setitem_dask_array_into_new_col"
+SKIP_TESTS+=" or test_from_obscure_array"
%ifarch %{ix86} %{arm32}
# https://github.com/pandas-dev/pandas/issues/31856
@@ -506,6 +532,14 @@ SKIP_TESTS+=" or test_maybe_promote_int_
SKIP_TESTS+=" or (test_rolling_quantile_interpolation_options and data1 and linear and 0.1)"
# overflow
SKIP_TESTS+=" or test_large_string_pyarrow"
+SKIP_TESTS+=" or test_pandas_nullable_with_missing_values"
+SKIP_TESTS+=" or test_pandas_nullable_without_missing_values"
+SKIP_TESTS+=" or (test_to_datetime and TestOrigin and test_epoch)"
+SKIP_TESTS+=" or test_td_mul_numeric_ndarray_0d"
+SKIP_TESTS+=" or test_get_indexer_non_unique_wrong_dtype"
+# pyarrow read-only errors
+SKIP_TESTS+=" or test_left_join_multi_index"
+SKIP_TESTS+=" or test_join_on_single_col_dup_on_right"
# dtype mismatch
SKIP_TESTS+=" or test_frame_setitem_dask_array_into_new_col"
SKIP_TESTS+=" or test_get_indexer_arrow_dictionary_target"
@@ -515,6 +549,8 @@ SKIP_TESTS+=" or numba"
%ifarch %{ix86}
# overflows on i586
SKIP_TESTS+=" or test_encode_non_c_locale"
+# intp != int32 (still numpy 1)?
+SKIP_TESTS+=" or test_ensure_platform_int"
# fails on i586 (was gcc10-skip-one-test.patch)
SKIP_TESTS+=" or test_merge_on_ints_floats_warning"
%endif
@@ -574,9 +610,11 @@ xvfb-run pytest-%{$python_bin_suffix} -v
%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