1
0
forked from pool/python-pandas

Accepting request 1090040 from home:bnavigator:branches:devel:languages:python:numeric

- 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)

OBS-URL: https://build.opensuse.org/request/show/1090040
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-pandas?expand=0&rev=84
This commit is contained in:
2023-06-05 14:32:15 +00:00
committed by Git OBS Bridge
parent 5d32d9366f
commit 749b1f8721
5 changed files with 619 additions and 96 deletions

View File

@@ -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