diff --git a/_service b/_service new file mode 100644 index 0000000..55028e4 --- /dev/null +++ b/_service @@ -0,0 +1,16 @@ + + + https://github.com/pandas-dev/pandas.git + git + v2.1.0 + @PARENT_TAG@ + v(.*) + pandas + yes + + + *.tar + gz + + + diff --git a/pandas-2.0.3-gh.tar.gz b/pandas-2.0.3-gh.tar.gz deleted file mode 100644 index e56ad69..0000000 --- a/pandas-2.0.3-gh.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7ea4798650316b2c45cf801ff02e3d6e79614696c8f0731b24715aad9969516 -size 14041853 diff --git a/pandas-2.1.0.tar.gz b/pandas-2.1.0.tar.gz new file mode 100644 index 0000000..40bfb2c --- /dev/null +++ b/pandas-2.1.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a455bda2cbdd94067a7b085ea70418c6ab017bbc517e8d8408415065831a28c3 +size 46646448 diff --git a/python-pandas.changes b/python-pandas.changes index 702d64c..f2c66e6 100644 --- a/python-pandas.changes +++ b/python-pandas.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Tue Sep 5 21:02:37 UTC 2023 - Ben Greiner + +- Use git cloned archive gh#pandas-dev/pandas#54907 + +------------------------------------------------------------------- +Thu Aug 31 14:51:11 UTC 2023 - Ben Greiner + +- Update to 2.1.0 + * https://pandas.pydata.org/pandas-docs/version/2.1.0/whatsnew/v2.1.0.html + * Avoid NumPy object dtype for strings by default + * DataFrame reductions preserve extension dtypes + * Copy-on-Write improvements + * New DataFrame.map() method and support for ExtensionArrays + * New implementation of DataFrame.stack() + * Other minor enhancements (see link above) + ## Backwards incompatible API changes + * pandas 2.1.0 supports Python 3.9 and higher + * Increased minimum versions for numpy 1.22.3 and some optional + dependencies + * arrays.PandasArray has been renamed NumpyExtensionArray and the + attached dtype name changed from PandasDtype to NumpyEADtype; + importing PandasArray still works until the next major version + (GH 53694) + ## Deprecations + * Deprecated silent upcasting in setitem-like Series operations + * Deprecated parsing datetimes with mixed time zones + * Other Deprecation (see link above) + ## More + * Performance Improvements (see link above) + * Bug fixes (see linkl above) +- Switch to meson build system + ------------------------------------------------------------------- Sun Aug 13 21:50:37 UTC 2023 - Dirk Müller diff --git a/python-pandas.spec b/python-pandas.spec index f32f414..26bcdcd 100644 --- a/python-pandas.spec +++ b/python-pandas.spec @@ -48,42 +48,38 @@ %bcond_with gcp # xlsb not available %bcond_with xslb +%bcond_with consortium_standard %{?sle15_python_module_pythons} Name: python-pandas%{psuffix} -Version: 2.0.3 +# Set version through _service +Version: 2.1.0 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/ -# 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 +# 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 devel >= 3.8} -BuildRequires: %{python_module numpy-devel >= 1.20.3} +BuildRequires: %{python_module devel >= 3.9} +BuildRequires: %{python_module meson-python >= 0.13.1} +BuildRequires: %{python_module numpy-devel >= 1.22.4} BuildRequires: %{python_module pip} -BuildRequires: %{python_module setuptools >= 61.0.0} BuildRequires: %{python_module versioneer-toml} BuildRequires: %{python_module wheel} BuildRequires: fdupes BuildRequires: gcc-c++ +BuildRequires: git-core +BuildRequires: meson >= 1.0.1 BuildRequires: python-rpm-macros Requires: python-python-dateutil >= 2.8.2 Requires: python-pytz >= 2020.1 Requires: timezone >= 2022a Obsoletes: python-pandas-doc < %{version} Provides: python-pandas-doc = %{version} -%if 0%{?python_version_nodots} >= 311 -Requires: python-numpy >= 1.23.2 -%else -%if 0%{?python_version_nodots} >= 310 -Requires: python-numpy >= 1.21.0 -%else -Requires: python-numpy >= 1.20.3 -%endif -%endif +Requires: python-numpy >= 1.22.4 # SECTION extras Recommends: python-pandas-performance Suggests: python-pandas-all @@ -138,6 +134,7 @@ BuildRequires: %{python_module pandas-xml = %{version}} BuildRequires: xclip %{?_with_aws:BuildRequires: %{python_module pandas-aws = %{version}}} %{?_with_gcp:BuildRequires: %{python_module pandas-gcp = %{version}}} +%{?_with_consortium_standard:BuildRequires: %{python_module pandas-consortium-standard = %{version}}} %endif %endif %python_subpackages @@ -150,9 +147,9 @@ block for doing data analysis in Python. %package test Summary: The python pandas[test] extra -Requires: python-hypothesis >= 6.34.2 +Requires: python-hypothesis >= 6.46.1 Requires: python-pandas = %{version} -Requires: python-pytest >= 7.0.0 +Requires: python-pytest >= 7.3.2 Requires: python-pytest-asyncio >= 0.17.0 Requires: python-pytest-xdist >= 2.2.0 BuildArch: noarch @@ -162,9 +159,9 @@ 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-Bottleneck >= 1.3.4 +Requires: python-numba >= 0.55.2 +Requires: python-numexpr >= 2.8.0 Requires: python-pandas = %{version} BuildArch: noarch @@ -177,8 +174,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.7.1 -Requires: python-xarray >= 0.21.0 +Requires: python-scipy >= 1.8.1 +Requires: python-xarray >= 2022.03 BuildArch: noarch %description computation @@ -186,7 +183,7 @@ 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-fsspec >= 2022.05 Requires: python-pandas = %{version} BuildArch: noarch @@ -196,7 +193,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 >= 2021.08.0 +Requires: python-s3fs >= 2022.05.0 BuildArch: noarch %description aws @@ -204,9 +201,9 @@ 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-gcsfs >= 2022.05.0 Requires: python-pandas = %{version} -Requires: python-pandas-gbq >= 0.15.0 +Requires: python-pandas-gbq >= 0.17.5 BuildArch: noarch %description gcp @@ -215,10 +212,10 @@ 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-openpyxl >= 3.0.10 Requires: python-pandas = %{version} -%{?_with_xlsb:Requires: python-pyxlsb >= 1.0.8} -Requires: python-XlsxWriter >= 1.4.3 +%{?_with_xlsb:Requires: python-pyxlsb >= 1.0.9} +Requires: python-XlsxWriter >= 3.0.3 Requires: python-xlrd >= 2.0.1 BuildArch: noarch @@ -248,7 +245,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.6.1 +Requires: python-tables >= 3.7.0 BuildArch: noarch %description hdf5 @@ -257,7 +254,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.2 +Requires: python-pyreadstat >= 1.1.5 BuildArch: noarch %description spss @@ -265,9 +262,9 @@ 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-SQLAlchemy >= 1.4.36 Requires: python-pandas = %{version} -Requires: python-psycopg2 >= 2.8.6 +Requires: python-psycopg2 >= 2.9.3 BuildArch: noarch %description postgresql @@ -276,7 +273,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.16 +Requires: python-SQLAlchemy >= 1.4.36 Requires: python-pandas = %{version} BuildArch: noarch @@ -285,7 +282,7 @@ 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-SQLAlchemy >= 1.4.36 Requires: python-pandas = %{version} BuildArch: noarch @@ -294,9 +291,9 @@ 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-beautifulsoup4 >= 4.11.1 Requires: python-html5lib >= 1.1 -Requires: python-lxml >= 4.6.3 +Requires: python-lxml >= 4.8.0 Requires: python-pandas = %{version} BuildArch: noarch @@ -305,7 +302,7 @@ 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-lxml >= 4.8.0 Requires: python-pandas = %{version} BuildArch: noarch @@ -323,9 +320,9 @@ 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-Jinja2 >= 3.1.2 Requires: python-pandas = %{version} -Requires: python-tabulate >= 0.8.9 +Requires: python-tabulate >= 0.8.10 BuildArch: noarch %description output_formatting @@ -333,7 +330,7 @@ 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-PyQt5 >= 5.15.6 Requires: python-QtPy >= 2.2.0 Requires: python-pandas = %{version} BuildArch: noarch @@ -343,55 +340,61 @@ 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 +Requires: python-zstandard >= 0.17.0 BuildArch: noarch %description compression This package provides the [compression] extra for python-pandas +%package consortium-standard +Summary: The python pandas[consortium-standard] extra +Requires: python-dataframe-api-compat >= 0.1.7 +Requires: python-pandas = %{version} +BuildArch: noarch + +%description consortium-standard +This package provides the [consortium-standard] extra for python-pandas + %package all Summary: The python pandas[all] extra -Requires: python-Bottleneck >= 1.3.2 -Requires: python-Jinja2 >= 3.0.0 +Requires: python-Bottleneck >= 1.3.4 +Requires: python-Jinja2 >= 3.1.2 Requires: python-PyMySQL >= 1.0.2 -Requires: python-PyQt5 >= 5.15.1 +Requires: python-PyQt5 >= 5.15.6 Requires: python-QtPy >= 2.2.0 -Requires: python-SQLAlchemy >= 1.4.16 -Requires: python-XlsxWriter >= 1.4.3 +Requires: python-SQLAlchemy >= 1.4.36 +Requires: python-XlsxWriter >= 3.0.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-fastparquet >= 0.8 +Requires: python-fsspec >= 2022.05 +Requires: python-gcsfs >= 2022.05 Requires: python-html5lib >= 1.1 -Requires: python-hypothesis >= 6.34.2 -Requires: python-lxml >= 4.6.3 +Requires: python-hypothesis >= 6.46.1 +Requires: python-lxml >= 4.8.0 Requires: python-matplotlib >= 3.6.1 -Requires: python-numba >= 0.53.1 -Requires: python-numexpr >= 2.7.3 +Requires: python-numba >= 0.55.2 +Requires: python-numexpr >= 2.8.0 Requires: python-odfpy >= 1.4.1 -Requires: python-openpyxl >= 3.0.7 +Requires: python-openpyxl >= 3.0.10 Requires: python-pandas = %{version} -Requires: python-psycopg2 >= 2.8.6 +Requires: python-psycopg2 >= 2.9.3 Requires: python-pyarrow >= 7.0.0 -Requires: python-pyreadstat >= 1.1.2 -Requires: python-pytest >= 7.0.0 +Requires: python-pyreadstat >= 1.1.5 +Requires: python-pytest >= 7.3.2 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-scipy >= 1.8.1 +Requires: python-tables >= 3.7.0 +Requires: python-tabulate >= 0.8.10 +Requires: python-xarray >= 2022.03 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} +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} BuildArch: noarch %description all @@ -403,15 +406,21 @@ because they are not available as openSUSE RPM packages: * pandas-gbq * pyxlsb * s3fs + * dataframe-api-compat You can install them directly through `pip3 install --user`, if needed. %prep -%autosetup -p1 -n pandas-%{version} -# don't call pytest with --strict-data-files -sed -i '/addopts/ {s/--strict-data-files//}' pyproject.toml +# 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} -name 'python3*' -print -quit) +${firstpython3} generate_version.py -o _version_meson.py +sed -i "s|'python', 'generate_version.py',|'${firstpython3}', '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 %build %if !%{with test} @@ -422,7 +431,9 @@ export CFLAGS="%{optflags} -fno-strict-aliasing" %install %if !%{with test} %pyproject_install -%{python_expand sed -i -e 's|"python", "-c",|"%{__$python}", "-c",|' %{buildroot}%{$python_sitearch}/pandas/tests/io/test_compression.py +%{python_expand # +find %{buildroot}%{$python_sitearch}/pandas/_libs -name '*.[ch]' -delete +sed -i -e '/.[ch],/d' %{buildroot}%{$python_sitearch}/pandas-%{version}.dist-info/RECORD %fdupes %{buildroot}%{$python_sitearch} } %else @@ -442,16 +453,18 @@ export PYTHONDONTWRITEBYTECODE=1 # https://github.com/pytest-dev/pytest/issues/920 # https://github.com/pytest-dev/pytest/issues/1075 export PYTHONHASHSEED=1 -# --skip-* arguments: Upstream's custom way to skip marked tests. These do not use pytest.mark. -SKIP_ARGS="--skip-network" +# no network connection on obs +SKIP_MARKERS="network" # clipboard not set up properly in build service without window manager -SKIP_MARKERS="clipboard" +SKIP_MARKERS+=" or 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" +# expects a dirty git revision from git repo +SKIP_TESTS+=" or test_git_version" %ifarch %{ix86} %{arm32} # https://github.com/pandas-dev/pandas/issues/31856 @@ -462,6 +475,7 @@ SKIP_TESTS+=" or (test_rolling_quantile_interpolation_options and data1 and line SKIP_TESTS+=" or test_large_string_pyarrow" # dtype mismatch SKIP_TESTS+=" or test_frame_setitem_dask_array_into_new_col" +SKIP_TESTS+=" or test_get_indexer_arrow_dictionary_target" # numba formats not supported on 32-bit SKIP_TESTS+=" or numba" %endif @@ -491,7 +505,7 @@ SKIP_TESTS+=" or (test_groupby and test_groupby_numerical_stability_sum_mean)" SKIP_TESTS+=" or (test_groupby and test_groupby_numerical_stability_cumsum)" SKIP_TESTS+=" or (test_c_parser_only and test_float_precision_options)" # run the slow tests only on x86_64 -SKIP_ARGS+=" --skip-slow --skip-db" +SKIP_MARKERS+=" or slow or db" %endif # The test collection consumes a lot of memory per worker. This sets %%jobs. @@ -501,7 +515,6 @@ SKIP_ARGS+=" --skip-slow --skip-db" # cache: can't just say no cacheprovider, because one test checks for the --lf option of pytest-cache xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \ -o cache_dir=$PWD/.pytest_cache --cache-clear \ - ${SKIP_ARGS} \ -m "not (${SKIP_MARKERS})" \ -k "not (${SKIP_TESTS})" \ pandas @@ -511,7 +524,7 @@ xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \ %if !%{with test} %files %{python_files} %license LICENSE -%doc README.md RELEASE.md +%doc README.md %{python_sitearch}/pandas/ %{python_sitearch}/pandas-%{version}.dist-info @@ -600,6 +613,12 @@ xvfb-run pytest-%{$python_bin_suffix} -v -n %{jobs} -rsfE --dist=loadfile \ %license LICENSE %doc README.md +%if %{with consortium_standard} +%files %{python_files consortium-standard} +%license LICENSE +%doc README.md +%endif + %files %{python_files all} %license LICENSE %doc README.md