From 1983426e6e91b18aa3e473a7d4fa35ec1d0979b35590dc52bd121fe511c5569a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Tue, 27 Feb 2024 13:46:02 +0000 Subject: [PATCH] Accepting request 1152058 from home:bnavigator:branches:science - Update to 2.2.1 ## Enhancements * Added pyarrow pip extra so users can install pandas and pyarrow with pip with pip install pandas[pyarrow] (#54466) ## Fixed regressions * Fixed memory leak in `read_csv` (#57039) * Fixed performance regression in `Series.combine_first` (#55845) * Fixed regression causing overflow for near-minimum timestamps (#57150) * Fixed regression in `concat` changing long-standing behavior that always sorted the non-concatenation axis when the axis was a `DatetimeIndex` (#57006) * Fixed regression in `merge_ordered` raising TypeError for fill_method="ffill" and how="left" (#57010) * Fixed regression in `pandas.testing.assert_series_equal` defaulting to check_exact=True when checking the `Index` (#57067) * Fixed regression in `read_json` where an `Index` would be returned instead of a `RangeIndex` (#57429) * Fixed regression in `wide_to_long` raising an AttributeError for string columns (#57066) * Fixed regression in `.DataFrameGroupBy.idxmin`, `.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`, `.SeriesGroupBy.idxmax` ignoring the skipna argument (#57040) * Fixed regression in `.DataFrameGroupBy.idxmin`, `.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`, `.SeriesGroupBy.idxmax` where values containing the minimum or maximum value for the dtype could produce incorrect results (#57040) * Fixed regression in `CategoricalIndex.difference` raising KeyError when other contains null values other than NaN (#57318) * Fixed regression in `DataFrame.groupby` raising ValueError when grouping by a `Series` in some cases (#57276) * Fixed regression in `DataFrame.loc` raising IndexError for non-unique, masked dtype indexes where result has more than 10,000 rows (#57027) * Fixed regression in `DataFrame.loc` which was unnecessarily throwing "incompatible dtype warning" when expanding with partial row indexer and multiple columns (see PDEP6) (#56503) * Fixed regression in `DataFrame.map` with na_action="ignore" not being respected for NumPy nullable and `ArrowDtypes` (#57316) * Fixed regression in `DataFrame.merge` raising ValueError for certain types of 3rd-party extension arrays (#57316) * Fixed regression in `DataFrame.query` with all NaT column with object dtype (#57068) * Fixed regression in `DataFrame.shift` raising AssertionError for axis=1 and empty `DataFrame` (#57301) * Fixed regression in `DataFrame.sort_index` not producing a stable sort for a index with duplicates (#57151) * Fixed regression in `DataFrame.to_dict` with orient='list' and datetime or timedelta types returning integers (#54824) * Fixed regression in `DataFrame.to_json` converting nullable integers to floats (#57224) * Fixed regression in `DataFrame.to_sql` when method="multi" is passed and the dialect type is not Oracle (#57310) * Fixed regression in `DataFrame.transpose` with nullable extension dtypes not having F-contiguous data potentially causing exceptions when used (#57315) * Fixed regression in `DataFrame.update` emitting incorrect warnings about downcasting (#57124) * Fixed regression in `DataFrameGroupBy.idxmin`, `DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`, `SeriesGroupBy.idxmax` ignoring the skipna argument (#57040) * Fixed regression in `DataFrameGroupBy.idxmin`, `DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`, `SeriesGroupBy.idxmax` where values containing the minimum or maximum value for the dtype could produce incorrect results (#57040) * Fixed regression in `ExtensionArray.to_numpy` raising for non-numeric masked dtypes (#56991) * Fixed regression in `Index.join` raising TypeError when joining an empty index to a non-empty index containing mixed dtype values (#57048) * Fixed regression in `Series.astype` introducing decimals when converting from integer with missing values to string dtype (#57418) * Fixed regression in `Series.pct_change` raising a ValueError for an empty `Series` (#57056) * Fixed regression in `Series.to_numpy` when dtype is given as float and the data contains NaNs (#57121) * Fixed regression in addition or subtraction of `DateOffset` objects with millisecond components to datetime64 `Index`, `Series`, or `DataFrame` (#57529) ## Bug fixes * Fixed bug in `pandas.api.interchange.from_dataframe` which was raising for Nullable integers (#55069) * Fixed bug in `pandas.api.interchange.from_dataframe` which was raising for empty inputs (#56700) * Fixed bug in `pandas.api.interchange.from_dataframe` which wasn't converting columns names to strings (#55069) * Fixed bug in `DataFrame.__getitem__` for empty `DataFrame` with Copy-on-Write enabled (#57130) * Fixed bug in `PeriodIndex.asfreq` which was silently converting frequencies which are not supported as period frequencies instead of raising an error (#56945) ## Note * The DeprecationWarning that was raised when pandas was imported without PyArrow being installed has been removed. This decision was made because the warning was too noisy for too many users and a lot of feedback was collected about the decision to make PyArrow a required dependency. Pandas is currently considering the decision whether or not PyArrow should be added as a hard dependency in 3.0. Interested users can follow the discussion here. * Added the argument skipna to `DataFrameGroupBy.first`, `DataFrameGroupBy.last`, `SeriesGroupBy.first`, and `SeriesGroupBy.last`; achieving skipna=False used to be available via `DataFrameGroupBy.nth`, but the behavior was changed in pandas 2.0.0 (#57019) * Added the argument skipna to `Resampler.first`, `Resampler.last` (#57019) - Release notes for 2.2.0 * For full changelog see https://github.com/pandas-dev/pandas/blob/main/doc/source/whatsnew/v2.2.0.rst ## Enhancements * ADBC Driver support in to_sql and read_sql * Create a pandas Series based on one or more conditions * to_numpy for NumPy nullable and Arrow types converts to suitable NumPy dtype * Series.struct accessor for PyArrow structured data * Series.list accessor for PyArrow list data * Calamine engine for `read_excel` ## Notable bug fixes * `merge` and `DataFrame.join` now consistently follow documented sort behavior * `merge` and `DataFrame.join` no longer reorder levels when levels differ * Increased minimum versions for dependencies ## Deprecations * Chained assignment * Deprecate aliases M, Q, Y, etc. in favour of ME, QE, YE, etc. for offsets * Deprecated automatic downcasting - Simplify flavor test setup: obs can evaluate %{shrink:} now OBS-URL: https://build.opensuse.org/request/show/1152058 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pandas?expand=0&rev=110 --- _service | 2 +- pandas-2.1.4.tar.gz | 3 - pandas-2.2.1.tar.gz | 3 + python-pandas.changes | 139 +++++++++++++++++++++++++ python-pandas.spec | 235 +++++++++++++++++++++++------------------- 5 files changed, 271 insertions(+), 111 deletions(-) delete mode 100644 pandas-2.1.4.tar.gz create mode 100644 pandas-2.2.1.tar.gz diff --git a/_service b/_service index 60d8a57..8a1753c 100644 --- a/_service +++ b/_service @@ -2,7 +2,7 @@ https://github.com/pandas-dev/pandas.git git - v2.1.4 + v2.2.1 @PARENT_TAG@ v(.*) pandas diff --git a/pandas-2.1.4.tar.gz b/pandas-2.1.4.tar.gz deleted file mode 100644 index 1537b87..0000000 --- a/pandas-2.1.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9e8005437d5489c20e4d1a94a0c8c058213f16452fa8fc61d998465e3de1d760 -size 50023060 diff --git a/pandas-2.2.1.tar.gz b/pandas-2.2.1.tar.gz new file mode 100644 index 0000000..ec9ae5d --- /dev/null +++ b/pandas-2.2.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5976687845c1b908a748264033d0f876e706fd97813ad914ac782160399cc246 +size 49830028 diff --git a/python-pandas.changes b/python-pandas.changes index 6f08ff5..536a01f 100644 --- a/python-pandas.changes +++ b/python-pandas.changes @@ -1,3 +1,142 @@ +------------------------------------------------------------------- +Fri Feb 23 20:04:59 UTC 2024 - Ben Greiner + +- Update to 2.2.1 + ## Enhancements + * Added pyarrow pip extra so users can install pandas and pyarrow + with pip with pip install pandas[pyarrow] (#54466) + ## Fixed regressions + * Fixed memory leak in `read_csv` (#57039) + * Fixed performance regression in `Series.combine_first` (#55845) + * Fixed regression causing overflow for near-minimum timestamps + (#57150) + * Fixed regression in `concat` changing long-standing behavior + that always sorted the non-concatenation axis when the axis was + a `DatetimeIndex` (#57006) + * Fixed regression in `merge_ordered` raising TypeError for + fill_method="ffill" and how="left" (#57010) + * Fixed regression in `pandas.testing.assert_series_equal` + defaulting to check_exact=True when checking the `Index` + (#57067) + * Fixed regression in `read_json` where an `Index` would be + returned instead of a `RangeIndex` (#57429) + * Fixed regression in `wide_to_long` raising an AttributeError + for string columns (#57066) + * Fixed regression in `.DataFrameGroupBy.idxmin`, + `.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`, + `.SeriesGroupBy.idxmax` ignoring the skipna argument (#57040) + * Fixed regression in `.DataFrameGroupBy.idxmin`, + `.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`, + `.SeriesGroupBy.idxmax` where values containing the minimum or + maximum value for the dtype could produce incorrect results + (#57040) + * Fixed regression in `CategoricalIndex.difference` raising + KeyError when other contains null values other than NaN + (#57318) + * Fixed regression in `DataFrame.groupby` raising ValueError when + grouping by a `Series` in some cases (#57276) + * Fixed regression in `DataFrame.loc` raising IndexError for + non-unique, masked dtype indexes where result has more than + 10,000 rows (#57027) + * Fixed regression in `DataFrame.loc` which was unnecessarily + throwing "incompatible dtype warning" when expanding with + partial row indexer and multiple columns (see PDEP6) (#56503) + * Fixed regression in `DataFrame.map` with na_action="ignore" not + being respected for NumPy nullable and `ArrowDtypes` (#57316) + * Fixed regression in `DataFrame.merge` raising ValueError for + certain types of 3rd-party extension arrays (#57316) + * Fixed regression in `DataFrame.query` with all NaT column with + object dtype (#57068) + * Fixed regression in `DataFrame.shift` raising AssertionError + for axis=1 and empty `DataFrame` (#57301) + * Fixed regression in `DataFrame.sort_index` not producing a + stable sort for a index with duplicates (#57151) + * Fixed regression in `DataFrame.to_dict` with orient='list' and + datetime or timedelta types returning integers (#54824) + * Fixed regression in `DataFrame.to_json` converting nullable + integers to floats (#57224) + * Fixed regression in `DataFrame.to_sql` when method="multi" is + passed and the dialect type is not Oracle (#57310) + * Fixed regression in `DataFrame.transpose` with nullable + extension dtypes not having F-contiguous data potentially + causing exceptions when used (#57315) + * Fixed regression in `DataFrame.update` emitting incorrect + warnings about downcasting (#57124) + * Fixed regression in `DataFrameGroupBy.idxmin`, + `DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`, + `SeriesGroupBy.idxmax` ignoring the skipna argument (#57040) + * Fixed regression in `DataFrameGroupBy.idxmin`, + `DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`, + `SeriesGroupBy.idxmax` where values containing the minimum or + maximum value for the dtype could produce incorrect results + (#57040) + * Fixed regression in `ExtensionArray.to_numpy` raising for + non-numeric masked dtypes (#56991) + * Fixed regression in `Index.join` raising TypeError when joining + an empty index to a non-empty index containing mixed dtype + values (#57048) + * Fixed regression in `Series.astype` introducing decimals when + converting from integer with missing values to string dtype + (#57418) + * Fixed regression in `Series.pct_change` raising a ValueError + for an empty `Series` (#57056) + * Fixed regression in `Series.to_numpy` when dtype is given as + float and the data contains NaNs (#57121) + * Fixed regression in addition or subtraction of `DateOffset` + objects with millisecond components to datetime64 `Index`, + `Series`, or `DataFrame` (#57529) + ## Bug fixes + * Fixed bug in `pandas.api.interchange.from_dataframe` which was + raising for Nullable integers (#55069) + * Fixed bug in `pandas.api.interchange.from_dataframe` which was + raising for empty inputs (#56700) + * Fixed bug in `pandas.api.interchange.from_dataframe` which + wasn't converting columns names to strings (#55069) + * Fixed bug in `DataFrame.__getitem__` for empty `DataFrame` with + Copy-on-Write enabled (#57130) + * Fixed bug in `PeriodIndex.asfreq` which was silently converting + frequencies which are not supported as period frequencies + instead of raising an error (#56945) + ## Note + * The DeprecationWarning that was raised when pandas was imported + without PyArrow being installed has been removed. This decision + was made because the warning was too noisy for too many users + and a lot of feedback was collected about the decision to make + PyArrow a required dependency. Pandas is currently considering + the decision whether or not PyArrow should be added as a hard + dependency in 3.0. Interested users can follow the discussion + here. + * Added the argument skipna to `DataFrameGroupBy.first`, + `DataFrameGroupBy.last`, `SeriesGroupBy.first`, and + `SeriesGroupBy.last`; achieving skipna=False used to be + available via `DataFrameGroupBy.nth`, but the behavior was + changed in pandas 2.0.0 (#57019) + * Added the argument skipna to `Resampler.first`, + `Resampler.last` (#57019) +- Release notes for 2.2.0 + * For full changelog see + https://github.com/pandas-dev/pandas/blob/main/doc/source/whatsnew/v2.2.0.rst + ## Enhancements + * ADBC Driver support in to_sql and read_sql + * Create a pandas Series based on one or more conditions + * to_numpy for NumPy nullable and Arrow types converts to + suitable NumPy dtype + * Series.struct accessor for PyArrow structured data + * Series.list accessor for PyArrow list data + * Calamine engine for `read_excel` + ## Notable bug fixes + * `merge` and `DataFrame.join` now consistently follow documented + sort behavior + * `merge` and `DataFrame.join` no longer reorder levels when + levels differ + * Increased minimum versions for dependencies + ## Deprecations + * Chained assignment + * Deprecate aliases M, Q, Y, etc. in favour of ME, QE, YE, etc. + for offsets + * Deprecated automatic downcasting +- Simplify flavor test setup: obs can evaluate %{shrink:} now + ------------------------------------------------------------------- Tue Feb 6 08:59:26 UTC 2024 - Dirk Müller diff --git a/python-pandas.spec b/python-pandas.spec index 4188b05..307b3f7 100644 --- a/python-pandas.spec +++ b/python-pandas.spec @@ -17,30 +17,28 @@ %global flavor @BUILD_FLAVOR@%{nil} -%if "%{flavor}" == "test-py310" -%define psuffix -test-py310 -%define skip_python39 1 -%define skip_python311 1 -%define skip_python312 1 -%bcond_without test -%endif -%if "%{flavor}" == "test-py311" -%define psuffix -test-py311 -%define skip_python39 1 -%define skip_python310 1 -%define skip_python312 1 -%bcond_without test -%endif -%if "%{flavor}" == "test-py312" -%define psuffix -test-py312 -%define skip_python39 1 -%define skip_python310 1 -%define skip_python311 1 -%bcond_without test -%endif %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 +%if "%{flavor}" != "test-py311" +%define skip_python311 1 +%endif +%if "%{flavor}" != "test-py312" +%define skip_python312 1 +%endif +# 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) @@ -52,13 +50,15 @@ # 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 have_pyarrow +%bcond_without pyarrow %{?sle15_python_module_pythons} Name: python-pandas%{psuffix} # Set version through _service -Version: 2.1.4 +Version: 2.2.1 Release: 0 Summary: Python data structures for data analysis, time series, and statistics License: BSD-3-Clause @@ -66,7 +66,7 @@ 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 -BuildRequires: %{python_module Cython >= 0.29.33 with %python-Cython < 3} +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} @@ -84,12 +84,13 @@ 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 +Requires: (python-numpy >= 1.23.2 with python-numpy < 2) %else -Requires: python-numpy >= 1.26 +Requires: (python-numpy >= 1.26 with python-numpy < 2) %endif # SECTION extras Recommends: python-pandas-performance +Recommends: python-pandas-pyarrow Suggests: python-pandas-all Suggests: python-pandas-clipboard Suggests: python-pandas-compression @@ -106,10 +107,10 @@ 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_have_pyarrow:Suggests: python-pandas-parquet} -%{?_with_have_pyarrow:Suggests: python-pandas-feather} +%{?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 @@ -126,27 +127,24 @@ BuildRequires: %{python_module pandas-clipboard = %{version}} BuildRequires: %{python_module pandas-compression = %{version}} BuildRequires: %{python_module pandas-computation = %{version}} BuildRequires: %{python_module pandas-excel = %{version}} -%if %{with have_pyarrow} -BuildRequires: %{python_module pandas-feather = %{version}} -%endif +%{?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}} -%if %{with have_pyarrow} -BuildRequires: %{python_module pandas-parquet = %{version}} -%endif +%{?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}}} +%{?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 @@ -162,18 +160,26 @@ 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-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 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.4 -Requires: python-numba >= 0.55.2 -Requires: python-numexpr >= 2.8.0 +Requires: python-Bottleneck >= 1.3.6 +Requires: python-numba >= 0.56.4 +Requires: python-numexpr >= 2.8.4 Requires: python-pandas = %{version} BuildArch: noarch @@ -186,8 +192,8 @@ 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.8.1 -Requires: python-xarray >= 2022.03 +Requires: python-scipy >= 1.10.0 +Requires: python-xarray >= 2022.12.0 BuildArch: noarch %description computation @@ -195,7 +201,7 @@ This package provides the [computation] extra for python-pandas %package fss Summary: The python pandas[fss] extra -Requires: python-fsspec >= 2022.05 +Requires: python-fsspec >= 2022.11 Requires: python-pandas = %{version} BuildArch: noarch @@ -205,7 +211,7 @@ 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.05.0 +Requires: python-s3fs >= 2022.11 BuildArch: noarch %description aws @@ -213,9 +219,9 @@ This package provides the [aws] extra for python-pandas %package gcp Summary: The python pandas[gcp] extra -Requires: python-gcsfs >= 2022.05.0 +Requires: python-gcsfs >= 2022.11 Requires: python-pandas = %{version} -Requires: python-pandas-gbq >= 0.17.5 +Requires: python-pandas-gbq >= 0.19.0 BuildArch: noarch %description gcp @@ -224,21 +230,22 @@ 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.10 +Requires: python-openpyxl >= 3.1.0 Requires: python-pandas = %{version} -%{?_with_xlsb:Requires: python-pyxlsb >= 1.0.9} -Requires: python-XlsxWriter >= 3.0.3 +%{?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, which is not available as openSUSE rpm package) +(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 >= 7.0.0 +Requires: python-pyarrow >= 10.0.1 BuildArch: noarch %description parquet @@ -247,7 +254,7 @@ 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 +Requires: python-pyarrow >= 10.0.1 BuildArch: noarch %description feather @@ -257,7 +264,7 @@ This package provides the [feather] extra for python-pandas Summary: The python pandas[hdf5] extra Requires: python-blosc Requires: python-pandas = %{version} -Requires: python-tables >= 3.7.0 +Requires: python-tables >= 3.8.0 BuildArch: noarch %description hdf5 @@ -266,7 +273,7 @@ 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.5 +Requires: python-pyreadstat >= 1.2.0 BuildArch: noarch %description spss @@ -274,9 +281,10 @@ This package provides the [spss] extra for python-pandas %package postgresql Summary: The python pandas[postgresql] extra -Requires: python-SQLAlchemy >= 1.4.36 +Requires: python-SQLAlchemy >= 2.0.0 Requires: python-pandas = %{version} -Requires: python-psycopg2 >= 2.9.3 +Requires: python-psycopg2 >= 2.9.6 +%{?with_adbc:Requires: python-adbc-driver-postgresql >= 0.8} BuildArch: noarch %description postgresql @@ -285,7 +293,7 @@ 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.36 +Requires: python-SQLAlchemy >= 2.0.0 Requires: python-pandas = %{version} BuildArch: noarch @@ -294,7 +302,9 @@ This package provides the [mysql] extra for python-pandas %package sql-other Summary: The python pandas[sql-other] extra -Requires: python-SQLAlchemy >= 1.4.36 +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 @@ -303,9 +313,9 @@ This package provides the [sql-other] extra for python-pandas %package html Summary: The python pandas[html] extra -Requires: python-beautifulsoup4 >= 4.11.1 +Requires: python-beautifulsoup4 >= 4.11.2 Requires: python-html5lib >= 1.1 -Requires: python-lxml >= 4.8.0 +Requires: python-lxml >= 4.9.2 Requires: python-pandas = %{version} BuildArch: noarch @@ -314,7 +324,7 @@ This package provides the [html] extra for python-pandas %package xml Summary: The python pandas[xml] extra -Requires: python-lxml >= 4.8.0 +Requires: python-lxml >= 4.9.2 Requires: python-pandas = %{version} BuildArch: noarch @@ -323,7 +333,7 @@ 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-matplotlib >= 3.6.3 Requires: python-pandas = %{version} BuildArch: noarch @@ -334,7 +344,7 @@ This package provides the [plot] extra for python-pandas Summary: The python pandas[output_formatting] extra Requires: python-Jinja2 >= 3.1.2 Requires: python-pandas = %{version} -Requires: python-tabulate >= 0.8.10 +Requires: python-tabulate >= 0.9.0 BuildArch: noarch %description output_formatting @@ -342,8 +352,8 @@ This package provides the [output_formatting] extra for python-pandas %package clipboard Summary: The python pandas[clipboard] extra -Requires: python-PyQt5 >= 5.15.6 -Requires: python-QtPy >= 2.2.0 +Requires: python-PyQt5 >= 5.15.9 +Requires: python-QtPy >= 2.3.0 Requires: python-pandas = %{version} BuildArch: noarch @@ -353,7 +363,7 @@ 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.17.0 +Requires: python-zstandard >= 0.19.0 BuildArch: noarch %description compression @@ -370,47 +380,45 @@ This package provides the [consortium-standard] extra for python-pandas %package all Summary: The python pandas[all] extra -Requires: python-Bottleneck >= 1.3.4 +Requires: python-Bottleneck >= 1.3.6 Requires: python-Jinja2 >= 3.1.2 Requires: python-PyMySQL >= 1.0.2 -Requires: python-PyQt5 >= 5.15.6 -Requires: python-QtPy >= 2.2.0 -Requires: python-SQLAlchemy >= 1.4.36 -Requires: python-XlsxWriter >= 3.0.3 -Requires: python-beautifulsoup4 >= 4.9.3 +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 -%if %{with have_pyarrow} -Requires: python-fastparquet >= 0.8 -%endif -Requires: python-fsspec >= 2022.05 -Requires: python-gcsfs >= 2022.05 +%{?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.8.0 -Requires: python-matplotlib >= 3.6.1 -Requires: python-numba >= 0.55.2 -Requires: python-numexpr >= 2.8.0 +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.0.10 +Requires: python-openpyxl >= 3.1.0 Requires: python-pandas = %{version} -Requires: python-psycopg2 >= 2.9.3 -%if %{with have_pyarrow} -Requires: python-pyarrow >= 7.0.0 -%endif -Requires: python-pyreadstat >= 1.1.5 +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-asyncio >= 0.17.0 Requires: python-pytest-xdist >= 2.2.0 -Requires: python-scipy >= 1.8.1 -Requires: python-tables >= 3.7.0 -Requires: python-tabulate >= 0.8.10 -Requires: python-xarray >= 2022.03 +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.17.0 -%{?_with_aws:Requires: python-s3fs >= 2022.05.0} -%{?_with_gcp:Requires: python-pandas-gbq >= 0.17.5} -%{?_with_xslb:Requires: python-pyxlsb >= 1.0.9} -%{?_with_consortium_standard: Requires: python-dataframe-api-compat >= 0.1.7} +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 @@ -423,17 +431,20 @@ because they are not available as openSUSE RPM packages: * pyxlsb * s3fs * dataframe-api-compat + * adbc-driver-postgresql + * adbc-driver-sqlite + * calamine -You can install them directly through `pip3 install --user`, if needed. +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} -# any installed python3 will do (SLE15 python module pythons does note guarantee /usr/bin/python3) -firstpython3=$(find %{_bindir} -regex '.*/python3[.0-9]*' -print -quit) -${firstpython3} generate_version.py -o _version_meson.py -sed -i "s|'python', 'generate_version.py',|'${firstpython3}', 'generate_version.py',|" meson.build +# use the last one from the buildset: need versioneer installed +%python_expand genpython="%__$python" +${genpython} generate_version.py -o _version_meson.py +sed -i "s|'generate_version.py',|'${genpython}', 'generate_version.py',|" 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 @@ -479,8 +490,14 @@ SKIP_MARKERS+=" or single_cpu" 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" +SKIP_TESTS+=" or test_psycopg2_schema_support" +SKIP_TESTS+=" or test_self_join_date_columns" # 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 +SKIP_TESTS+=" or (test_scalar_unary and numexpr-pandas)" +%endif %ifarch %{ix86} %{arm32} # https://github.com/pandas-dev/pandas/issues/31856 @@ -549,6 +566,10 @@ xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \ %doc README.md %if !%{with ringdisabled} +%files %{python_files pyarrow} +%license LICENSE +%doc README.md + %files %{python_files performance} %license LICENSE %doc README.md @@ -577,13 +598,13 @@ xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \ %license LICENSE %doc README.md -%if %{with have_pyarrow} +%if %{with pyarrow} %files %{python_files parquet} %license LICENSE %doc README.md %endif -%if %{with have_pyarrow} +%if %{with pyarrow} %files %{python_files feather} %license LICENSE %doc README.md