Package: pandas / 2.2.3+dfsg-9

Metadata

Package Version Patches format
pandas 2.2.3+dfsg-9 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
deb_nonversioneer_version.patch | (download)

pandas/__init__.py | 7 1 + 6 - 0 !
pandas/tests/api/test_api.py | 2 0 + 2 - 0 !
pandas/tests/test_common.py | 2 1 + 1 - 0 !
pandas/tests/util/test_show_versions.py | 3 0 + 3 - 0 !
4 files changed, 2 insertions(+), 12 deletions(-)

 don't try to use git to find the version number

Needed as Debian buildds use tarballs

deb_doc_donotoverride_PYTHONPATH.patch | (download)

doc/make.py | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 don't try to import from the source directory

Needed as we build the extension modules elsewhere

xfail_tests_nonintel_io.patch | (download)

pandas/_testing/_warnings.py | 3 3 + 0 - 0 !
pandas/io/pytables.py | 11 10 + 1 - 0 !
pandas/io/stata.py | 4 4 + 0 - 0 !
pandas/tests/io/pytables/test_append.py | 5 5 + 0 - 0 !
pandas/tests/io/pytables/test_file_handling.py | 6 6 + 0 - 0 !
pandas/tests/io/pytables/test_read.py | 5 4 + 1 - 0 !
pandas/tests/io/pytables/test_store.py | 5 5 + 0 - 0 !
pandas/tests/io/pytables/test_timezones.py | 3 3 + 0 - 0 !
pandas/tests/io/test_common.py | 6 3 + 3 - 0 !
pandas/tests/io/test_stata.py | 2 2 + 0 - 0 !
pyproject.toml | 1 1 + 0 - 0 !
11 files changed, 46 insertions(+), 5 deletions(-)

 hdf5 and stata i/o are broken on some architectures

Fix some issues, warn on use and xfail tests for the remainder

Everything that has a run=False xfail in here should also be in
the run-and-ignore set in debian/tests/numbatests

armhf TestHDF5Store::test*encoding only sometimes crashes
(1.1.3+dfsg-1 passed on build but failed autopkgtest)

HDF5 and Stata are known to fail on big-endian architectures
Stata was previously seen to fail on qemu-ppc64el, but not real ppc64el

deb_disable_analytics.patch | (download)

doc/source/conf.py | 4 0 + 4 - 0 !
pandas/tests/io/data/html/spam.html | 44 4 + 40 - 0 !
web/pandas/_templates/layout.html | 1 0 + 1 - 0 !
3 files changed, 4 insertions(+), 45 deletions(-)

 avoid privacy breach by analytics

mathjax path.patch | (download)

doc/source/conf.py | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 use debian packaged mathjax

use_system_intersphinx.patch | (download)

doc/source/conf.py | 10 5 + 5 - 0 !
1 file changed, 5 insertions(+), 5 deletions(-)

 use packaged intersphinx indexes

contributor_list_not_in_tarball.patch | (download)

doc/sphinxext/contributors.py | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 don't try to read a contributor list from the git log

Debian packages are built from tarballs, so there isn't a git log.

fix_random_seeds.patch | (download)

doc/source/getting_started/comparison/comparison_with_r.rst | 1 1 + 0 - 0 !
doc/source/user_guide/advanced.rst | 1 1 + 0 - 0 !
doc/source/user_guide/style.ipynb | 50 46 + 4 - 0 !
doc/source/user_guide/visualization.rst | 1 1 + 0 - 0 !
pandas/plotting/_core.py | 4 4 + 0 - 0 !
pandas/plotting/_misc.py | 3 3 + 0 - 0 !
6 files changed, 56 insertions(+), 4 deletions(-)

 use fixed seeds for reproducible pseudorandomness

privacy.patch | (download)

doc/source/development/community.rst | 6 1 + 5 - 0 !
1 file changed, 1 insertion(+), 5 deletions(-)

 link to rather than embed google calendar

find_test_data.patch | (download)

pandas/conftest.py | 8 6 + 2 - 0 !
pandas/tests/io/formats/style/test_html.py | 4 2 + 2 - 0 !
pandas/tests/io/test_pickle.py | 4 2 + 2 - 0 !
pandas/tests/io/xml/conftest.py | 4 2 + 2 - 0 !
pandas/tests/io/xml/test_xml.py | 11 5 + 6 - 0 !
pandas/tests/util/test_util.py | 1 1 + 0 - 0 !
6 files changed, 18 insertions(+), 14 deletions(-)

 allow tests to use the data files in the source tree

We don't ship these in the package,
but do want to run the tests that use them

remove_ccbysa_snippets.patch | (download)

doc/source/user_guide/cookbook.rst | 22 22 + 0 - 0 !
doc/source/user_guide/index.rst | 1 0 + 1 - 0 !
pandas/io/sql.py | 10 5 + 5 - 0 !
pandas/tests/groupby/test_categorical.py | 22 0 + 22 - 0 !
pandas/tests/indexing/multiindex/test_chaining_and_caching.py | 29 0 + 29 - 0 !
pandas/tests/indexing/multiindex/test_setitem.py | 29 0 + 29 - 0 !
pandas/tests/indexing/test_chaining_and_caching.py | 21 0 + 21 - 0 !
pandas/tests/io/parser/common/test_common_basic.py | 17 0 + 17 - 0 !
8 files changed, 27 insertions(+), 124 deletions(-)

 remove code from stack overflow

Stack Overflow content is CC-BY-SA licensed,
which this package is not supposed to be.  These snippets may be
too small to be copyrightable, but removing them to be safe.

https://lists.debian.org/debian-legal/2020/04/threads.html#00018

numba_fail_32bit.patch | (download)

pandas/tests/groupby/aggregate/test_numba.py | 12 12 + 0 - 0 !
pandas/tests/groupby/conftest.py | 22 21 + 1 - 0 !
pandas/tests/window/conftest.py | 23 22 + 1 - 0 !
pandas/tests/window/test_numba.py | 24 24 + 0 - 0 !
4 files changed, 79 insertions(+), 2 deletions(-)

 allow some numba errors on 32-bit

Specifying the exception type allows only explicit errors,
not silently wrong answers

hurd_compat.patch | (download)

pandas/tests/io/parser/common/test_file_buffer_url.py | 4 2 + 2 - 0 !
pandas/tests/io/parser/common/test_float.py | 2 1 + 1 - 0 !
pandas/tests/io/parser/test_multi_thread.py | 8 7 + 1 - 0 !
pandas/tests/io/test_common.py | 18 9 + 9 - 0 !
pandas/tests/test_downstream.py | 6 6 + 0 - 0 !
5 files changed, 25 insertions(+), 13 deletions(-)

 avoid test failures on hurd

Allow multiprocessing to be unavailable
Accept any errno not just 2 for (intentionally) nonexistent files
(Hurd appears to use 2**30+2)

skip_test_missing_required_dependency.patch | (download)

pandas/tests/test_downstream.py | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 skip test that fails from outside the source tree

fix_overly_arch_specific_xfails.patch | (download)

pandas/tests/io/parser/test_c_parser_only.py | 14 10 + 4 - 0 !
pandas/tests/window/test_rolling.py | 7 6 + 1 - 0 !
2 files changed, 16 insertions(+), 5 deletions(-)

 fix arch-specific upstream xfails

We test on more architectures, so upstream's xfails are not always
correct everywhere.  On those known to fail:
arm64 xfail -> all non-x86 xfail
x86 or unconditional strict xfail -> unconditional nonstrict xfail

tests_dont_assume_64bit.patch | (download)

pandas/tests/frame/test_stack_unstack.py | 2 2 + 0 - 0 !
pandas/tests/groupby/test_groupby.py | 3 3 + 0 - 0 !
pandas/tests/reshape/test_pivot.py | 2 2 + 0 - 0 !
pandas/tests/series/methods/test_round.py | 3 1 + 2 - 0 !
pandas/tests/test_downstream.py | 6 6 + 0 - 0 !
pandas/tests/test_sorting.py | 4 4 + 0 - 0 !
6 files changed, 18 insertions(+), 2 deletions(-)

 fix test failures on 32-bit systems

armel_ignore_nonwarning.patch | (download)

pandas/tests/apply/test_str.py | 8 7 + 1 - 0 !
pandas/tests/io/parser/test_c_parser_only.py | 8 7 + 1 - 0 !
2 files changed, 14 insertions(+), 2 deletions(-)

 don't require a warning armel numpy doesn't have

1029251_ignore_rounding_error.patch | (download)

pandas/tests/plotting/frame/test_frame_subplots.py | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 don't fail plot tests on rounding error

(upstream seem to have _disabled_ the affected tests
...see also test_series)

tests_dont_assume_endian.patch | (download)

pandas/tests/indexes/interval/test_constructors.py | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 don't assume little-endian in test references

accept_system_tzdata.patch | (download)

pandas/_libs/tslibs/timezones.pyx | 3 0 + 3 - 0 !
pyproject.toml | 3 1 + 2 - 0 !
2 files changed, 1 insertion(+), 5 deletions(-)

 don't require python3-tzdata

numba_warn_nonx86.patch | (download)

pandas/compat/_optional.py | 5 5 + 0 - 0 !
1 file changed, 5 insertions(+)

 warn that numba may not work on non-x86

Currently known issues are crashes, not wrong answers, but because
the test setup doesn't allow ignoring crashes but failing on
wrong answers, it would be easy to not notice if this changed

mips_pow_nan.patch | (download)

pandas/tests/arrays/floating/test_arithmetic.py | 19 19 + 0 - 0 !
pandas/tests/arrays/sparse/test_arithmetics.py | 3 3 + 0 - 0 !
2 files changed, 22 insertions(+)

 on mips, 1**np.nan and np.nan**0 may be nan not 1

allow_no_matplotlib.patch | (download)

pandas/tests/io/formats/style/test_style.py | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 don't try to run matplotlib-using tests without it

This allows the circular pandas <-> matplotlib dependency
to be broken for bootstrapping (see README.source)

unbreak_clean.patch | (download)

setup.py | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 don't crash on clean

ignore_ipython_exceptions.patch | (download)

doc/source/conf.py | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 ignore exceptions in documentation examples

Some examples download data, and/or depend on
packages Debian doesn't have, so can't run in a Debian build

xarray_version_workaround.patch | (download)

pandas/compat/_optional.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 work around xarray wrongly reporting its version

allow_no_openpyxl.patch | (download)

pandas/tests/io/excel/test_readers.py | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 mark tests that need openpyxl

(These do the usual loop through engine/read_ext but
actually use .xlsx every time)

2p1_openpyxl_errors.patch | (download)

pandas/tests/io/excel/test_openpyxl.py | 3 2 + 1 - 0 !
pandas/tests/io/excel/test_writers.py | 2 2 + 0 - 0 !
2 files changed, 4 insertions(+), 1 deletion(-)

 fix test failures when xlsxwriter is not installed

pytables_python3p12.patch | (download)

pandas/tests/io/pytables/test_append.py | 3 2 + 1 - 0 !
pandas/tests/io/pytables/test_select.py | 3 3 + 0 - 0 !
pandas/tests/io/pytables/test_store.py | 3 2 + 1 - 0 !
3 files changed, 7 insertions(+), 2 deletions(-)

 ignore pytables test failures with python 3.12

The combined xfails are because two separate xfails where only one
has run=False may run, which is a problem when the run=False exists
to avoid a crash - see 1.5.3+dfsg-8 armhf build log

Bug-Debian: https://bugs.debian.org/1055801
Bug-Ubuntu: https://launchpad.net/ubuntu/+bug/2043895
ignore_python3p12_deprecations.patch | (download)

pandas/tests/computation/test_eval.py | 4 2 + 2 - 0 !
pyproject.toml | 2 2 + 0 - 0 !
2 files changed, 4 insertions(+), 2 deletions(-)

 ignore deprecationwarnings from python 3.12

sum_loosen_test_tolerance.patch | (download)

pandas/tests/frame/test_reductions.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't fail sum test on near-cancelling inputs

Failed in 1.5.3+dfsg-11 after it happened to select an input that
cancelled to ~1e-5 (on i386, so x87 excess precision might be involved)

1068104_time64.patch | (download)

pandas/tests/indexes/datetimes/methods/test_resolution.py | 2 1 + 1 - 0 !
pandas/tests/io/sas/test_sas7bdat.py | 11 7 + 4 - 0 !
pandas/tests/tools/test_to_timedelta.py | 2 1 + 1 - 0 !
pandas/tests/tseries/offsets/test_common.py | 2 1 + 1 - 0 !
4 files changed, 10 insertions(+), 7 deletions(-)

 don't require 32-bit to be time32

Debian armhf/armel (but not i386) are now time64

versioned_importorskip.patch | (download)

pandas/_testing/_io.py | 4 2 + 2 - 0 !
pandas/conftest.py | 4 2 + 2 - 0 !
pandas/tests/apply/test_frame_apply.py | 3 2 + 1 - 0 !
pandas/tests/apply/test_numba.py | 2 1 + 1 - 0 !
pandas/tests/arrays/categorical/test_warnings.py | 3 2 + 1 - 0 !
pandas/tests/arrays/datetimes/test_constructors.py | 7 4 + 3 - 0 !
pandas/tests/arrays/interval/test_interval_pyarrow.py | 13 7 + 6 - 0 !
pandas/tests/arrays/masked/test_arrow_compat.py | 3 2 + 1 - 0 !
pandas/tests/arrays/period/test_arrow_compat.py | 3 2 + 1 - 0 !
pandas/tests/arrays/sparse/test_accessor.py | 21 11 + 10 - 0 !
pandas/tests/arrays/sparse/test_constructors.py | 7 4 + 3 - 0 !
pandas/tests/arrays/string_/test_string.py | 7 4 + 3 - 0 !
pandas/tests/arrays/string_/test_string_arrow.py | 20 10 + 10 - 0 !
pandas/tests/computation/test_compat.py | 5 3 + 2 - 0 !
pandas/tests/copy_view/test_astype.py | 6 3 + 3 - 0 !
pandas/tests/dtypes/test_common.py | 2 1 + 1 - 0 !
pandas/tests/dtypes/test_inference.py | 3 2 + 1 - 0 !
pandas/tests/extension/test_arrow.py | 2 1 + 1 - 0 !
pandas/tests/extension/test_string.py | 3 2 + 1 - 0 !
pandas/tests/frame/indexing/test_indexing.py | 4 2 + 2 - 0 !
pandas/tests/frame/indexing/test_setitem.py | 2 1 + 1 - 0 !
pandas/tests/frame/methods/test_astype.py | 2 1 + 1 - 0 !
pandas/tests/frame/methods/test_convert_dtypes.py | 15 8 + 7 - 0 !
pandas/tests/frame/methods/test_cov_corr.py | 18 9 + 9 - 0 !
pandas/tests/frame/methods/test_describe.py | 3 2 + 1 - 0 !
pandas/tests/frame/methods/test_dot.py | 3 2 + 1 - 0 !
pandas/tests/frame/methods/test_info.py | 3 2 + 1 - 0 !
pandas/tests/frame/methods/test_interpolate.py | 6 3 + 3 - 0 !
pandas/tests/frame/methods/test_join.py | 3 2 + 1 - 0 !
pandas/tests/frame/methods/test_rank.py | 9 5 + 4 - 0 !
pandas/tests/frame/test_api.py | 5 3 + 2 - 0 !
pandas/tests/frame/test_arrow_interface.py | 2 1 + 1 - 0 !
pandas/tests/frame/test_constructors.py | 8 4 + 4 - 0 !
pandas/tests/frame/test_query_eval.py | 4 2 + 2 - 0 !
pandas/tests/frame/test_reductions.py | 6 3 + 3 - 0 !
pandas/tests/frame/test_repr.py | 5 3 + 2 - 0 !
pandas/tests/frame/test_subclass.py | 3 2 + 1 - 0 !
pandas/tests/frame/test_ufunc.py | 3 2 + 1 - 0 !
pandas/tests/generic/test_finalize.py | 3 2 + 1 - 0 !
pandas/tests/generic/test_to_xarray.py | 3 2 + 1 - 0 !
pandas/tests/groupby/aggregate/test_numba.py | 33 17 + 16 - 0 !
pandas/tests/groupby/test_counting.py | 3 2 + 1 - 0 !
pandas/tests/groupby/test_groupby.py | 2 1 + 1 - 0 !
pandas/tests/groupby/test_numba.py | 3 2 + 1 - 0 !
pandas/tests/groupby/test_reductions.py | 2 1 + 1 - 0 !
pandas/tests/groupby/test_timegrouper.py | 3 2 + 1 - 0 !
pandas/tests/groupby/transform/test_numba.py | 27 14 + 13 - 0 !
pandas/tests/indexes/base_class/test_constructors.py | 3 2 + 1 - 0 !
pandas/tests/indexes/base_class/test_reshape.py | 3 2 + 1 - 0 !
pandas/tests/indexes/multi/test_constructors.py | 3 2 + 1 - 0 !
pandas/tests/indexes/numeric/test_indexing.py | 5 3 + 2 - 0 !
pandas/tests/indexes/test_base.py | 2 1 + 1 - 0 !
pandas/tests/indexing/test_datetime.py | 3 2 + 1 - 0 !
pandas/tests/indexing/test_loc.py | 6 3 + 3 - 0 !
pandas/tests/interchange/test_impl.py | 29 15 + 14 - 0 !
pandas/tests/interchange/test_utils.py | 3 2 + 1 - 0 !
pandas/tests/io/conftest.py | 10 5 + 5 - 0 !
pandas/tests/io/excel/test_odf.py | 3 2 + 1 - 0 !
pandas/tests/io/excel/test_odswriter.py | 3 2 + 1 - 0 !
pandas/tests/io/excel/test_openpyxl.py | 3 2 + 1 - 0 !
pandas/tests/io/excel/test_readers.py | 2 1 + 1 - 0 !
pandas/tests/io/excel/test_style.py | 20 10 + 10 - 0 !
pandas/tests/io/excel/test_xlrd.py | 3 2 + 1 - 0 !
pandas/tests/io/excel/test_xlsxwriter.py | 5 3 + 2 - 0 !
pandas/tests/io/formats/style/test_bar.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_exceptions.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_format.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_highlight.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_html.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_matplotlib.py | 11 6 + 5 - 0 !
pandas/tests/io/formats/style/test_non_unique.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_style.py | 2 1 + 1 - 0 !
pandas/tests/io/formats/style/test_to_latex.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_to_string.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/style/test_tooltip.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/test_format.py | 5 3 + 2 - 0 !
pandas/tests/io/formats/test_to_excel.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/test_to_latex.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/test_to_markdown.py | 3 2 + 1 - 0 !
pandas/tests/io/formats/test_to_string.py | 3 2 + 1 - 0 !
pandas/tests/io/json/test_pandas.py | 8 4 + 4 - 0 !
pandas/tests/io/json/test_readlines.py | 3 2 + 1 - 0 !
pandas/tests/io/parser/conftest.py | 3 2 + 1 - 0 !
pandas/tests/io/parser/dtypes/test_dtypes_basic.py | 9 5 + 4 - 0 !
pandas/tests/io/parser/test_concatenate_chunks.py | 5 3 + 2 - 0 !
pandas/tests/io/parser/test_network.py | 8 4 + 4 - 0 !
pandas/tests/io/parser/test_python_parser_only.py | 3 2 + 1 - 0 !
pandas/tests/io/parser/test_read_fwf.py | 7 4 + 3 - 0 !
pandas/tests/io/parser/test_upcast.py | 3 2 + 1 - 0 !
pandas/tests/io/pytables/common.py | 3 2 + 1 - 0 !
pandas/tests/io/pytables/test_append.py | 2 1 + 1 - 0 !
pandas/tests/io/pytables/test_compat.py | 3 2 + 1 - 0 !
pandas/tests/io/pytables/test_read.py | 2 1 + 1 - 0 !
pandas/tests/io/pytables/test_round_trip.py | 2 1 + 1 - 0 !
pandas/tests/io/pytables/test_store.py | 3 2 + 1 - 0 !
pandas/tests/io/pytables/test_subclass.py | 3 2 + 1 - 0 !
pandas/tests/io/test_clipboard.py | 5 3 + 2 - 0 !
pandas/tests/io/test_common.py | 18 9 + 9 - 0 !
pandas/tests/io/test_feather.py | 3 2 + 1 - 0 !
pandas/tests/io/test_fsspec.py | 30 15 + 15 - 0 !
pandas/tests/io/test_gcs.py | 14 7 + 7 - 0 !
pandas/tests/io/test_html.py | 14 7 + 7 - 0 !
pandas/tests/io/test_http_headers.py | 2 1 + 1 - 0 !
pandas/tests/io/test_orc.py | 13 7 + 6 - 0 !
pandas/tests/io/test_parquet.py | 27 14 + 13 - 0 !
pandas/tests/io/test_pickle.py | 2 1 + 1 - 0 !
pandas/tests/io/test_s3.py | 7 4 + 3 - 0 !
pandas/tests/io/test_spss.py | 5 3 + 2 - 0 !
pandas/tests/io/test_sql.py | 40 20 + 20 - 0 !
pandas/tests/io/test_stata.py | 4 2 + 2 - 0 !
pandas/tests/io/xml/test_to_xml.py | 32 16 + 16 - 0 !
pandas/tests/io/xml/test_xml.py | 66 33 + 33 - 0 !
pandas/tests/plotting/conftest.py | 7 4 + 3 - 0 !
pandas/tests/plotting/frame/test_frame.py | 22 11 + 11 - 0 !
pandas/tests/plotting/frame/test_frame_color.py | 25 13 + 12 - 0 !
pandas/tests/plotting/frame/test_frame_groupby.py | 3 2 + 1 - 0 !
pandas/tests/plotting/frame/test_frame_legend.py | 12 6 + 6 - 0 !
pandas/tests/plotting/frame/test_frame_subplots.py | 5 3 + 2 - 0 !
pandas/tests/plotting/frame/test_hist_box_by.py | 3 2 + 1 - 0 !
pandas/tests/plotting/test_boxplot_method.py | 5 3 + 2 - 0 !
pandas/tests/plotting/test_common.py | 3 2 + 1 - 0 !
pandas/tests/plotting/test_converter.py | 19 10 + 9 - 0 !
pandas/tests/plotting/test_datetimelike.py | 5 3 + 2 - 0 !
pandas/tests/plotting/test_groupby.py | 3 2 + 1 - 0 !
pandas/tests/plotting/test_hist_method.py | 17 9 + 8 - 0 !
pandas/tests/plotting/test_misc.py | 10 5 + 5 - 0 !
pandas/tests/plotting/test_series.py | 20 10 + 10 - 0 !
pandas/tests/plotting/test_style.py | 3 2 + 1 - 0 !
pandas/tests/reductions/test_reductions.py | 3 2 + 1 - 0 !
pandas/tests/reductions/test_stat_reductions.py | 5 3 + 2 - 0 !
pandas/tests/resample/test_datetime_index.py | 2 1 + 1 - 0 !
pandas/tests/reshape/merge/test_merge.py | 5 3 + 2 - 0 !
pandas/tests/reshape/test_melt.py | 3 2 + 1 - 0 !
pandas/tests/series/accessors/test_list_accessor.py | 3 2 + 1 - 0 !
pandas/tests/series/accessors/test_struct_accessor.py | 5 3 + 2 - 0 !
pandas/tests/series/methods/test_convert_dtypes.py | 5 3 + 2 - 0 !
pandas/tests/series/methods/test_cov_corr.py | 5 3 + 2 - 0 !
pandas/tests/series/methods/test_drop_duplicates.py | 5 3 + 2 - 0 !
pandas/tests/series/methods/test_explode.py | 5 3 + 2 - 0 !
pandas/tests/series/methods/test_interpolate.py | 38 19 + 19 - 0 !
pandas/tests/series/methods/test_rank.py | 6 3 + 3 - 0 !
pandas/tests/series/methods/test_reset_index.py | 3 2 + 1 - 0 !
pandas/tests/series/test_api.py | 3 2 + 1 - 0 !
pandas/tests/series/test_constructors.py | 12 6 + 6 - 0 !
pandas/tests/series/test_formats.py | 3 2 + 1 - 0 !
pandas/tests/series/test_logical_ops.py | 3 2 + 1 - 0 !
pandas/tests/series/test_reductions.py | 3 2 + 1 - 0 !
pandas/tests/strings/test_extract.py | 3 2 + 1 - 0 !
pandas/tests/test_algos.py | 3 2 + 1 - 0 !
pandas/tests/test_downstream.py | 34 17 + 17 - 0 !
pandas/tests/test_nanops.py | 12 6 + 6 - 0 !
pandas/tests/test_optional_dependency.py | 3 2 + 1 - 0 !
pandas/tests/tools/test_to_datetime.py | 6 3 + 3 - 0 !
pandas/tests/tools/test_to_numeric.py | 10 5 + 5 - 0 !
pandas/tests/tools/test_to_timedelta.py | 5 3 + 2 - 0 !
pandas/tests/window/test_online.py | 3 2 + 1 - 0 !
pandas/tests/window/test_rolling_skew_kurt.py | 11 6 + 5 - 0 !
pandas/tests/window/test_win_type.py | 47 24 + 23 - 0 !
pandas/util/_test_decorators.py | 23 21 + 2 - 0 !
159 files changed, 689 insertions(+), 563 deletions(-)

 avoid failing when a dependency is too old

(some of them are pulled in by other dependencies, so
just not including them in d/control doesn't stop them being installed)

Most of the content of this patch was generated by the following Python code:

import pathlib
import re

basedir = pathlib.Path.cwd()
if not (basedir / 'pandas/tests').exists():
    raise FileNotFoundError('must be run from the pandas root')
for source_file in basedir.glob('pandas/**/*.py'):
    with open(source_file, 'r') as fd:
        source_text = fd.read()
    if 'pytest.importorskip' in source_text:
        source_text = re.sub(r'pytest\.importorskip(.*)minversion', r'td.versioned_importorskip\1min_version', source_text)
        source_text = re.sub(r'pytest\.importorskip', r'td.versioned_importorskip', source_text)
        if '_test_decorators as td' not in source_text:
            # add the import if it isn't already present
            source_text, count = re.subn(r'^(import pandas|from pandas.*import)',r'import pandas.util._test_decorators as td\n\1', source_text, count=1, flags=re.MULTILINE)
            if count != 1:
                raise KeyError("failed to add import")
        with open(source_file, 'w') as fd:
            fd.write(source_text)

add_missing_importorskip.patch | (download)

pandas/tests/io/formats/style/test_bar.py | 1 1 + 0 - 0 !
pandas/tests/io/parser/conftest.py | 7 4 + 3 - 0 !
pandas/tests/series/test_api.py | 1 1 + 0 - 0 !
3 files changed, 6 insertions(+), 3 deletions(-)

 skip tests when dependencies are missing

blosc_nonstrict_xfail.patch | (download)

pandas/tests/io/pytables/test_file_handling.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use nonstrict xfail

Upstream strict-xfailed this instead of changing the expected message,
which doesn't work here because it only fails in build, not autopkgtest

no_pkg_resources.patch | (download)

setup.py | 3 1 + 2 - 0 !
1 file changed, 1 insertion(+), 2 deletions(-)

 stop using pkg_resources

no_pytz_datetime.patch | (download)

pandas/tests/arrays/test_array.py | 18 14 + 4 - 0 !
1 file changed, 14 insertions(+), 4 deletions(-)

 datetime does not work with non-constant pytz.timezone

This has always been the case (and is explicitly warned about
in the pytz documentation), but became a test fail when
tzdata 2024b changed 'CET' and similar to aliases.

1088988_xarray_pyreadstat_compat.patch | (download)

pandas/tests/generic/test_to_xarray.py | 7 4 + 3 - 0 !
pandas/tests/io/test_spss.py | 2 2 + 0 - 0 !
2 files changed, 6 insertions(+), 3 deletions(-)

 fix pyreadstat and some xarray fails, test others

Tests failing with newer xarray and/or pyreadstat

privacy2.patch | (download)

doc/source/conf.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use local logo file

value_counts_nat_numpy2.patch | (download)

pandas/tests/test_algos.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 avoid test crash

First seen on numpy2 transition, unknown if actually related to that

ignore_test_1094417_1088988.patch | (download)

pandas/tests/generic/test_to_xarray.py | 1 1 + 0 - 0 !
pandas/tests/test_downstream.py | 4 2 + 2 - 0 !
2 files changed, 3 insertions(+), 2 deletions(-)

 ignore failing tests

(to unblock transition, not a real fix)

pandas upstream (as of 2025-03-29) are xfailing the first #60873
(real fix in dask 2025.2.0)
and restricting xarray version to avoid the second #60109
(no known-to-me real fix)

1101527_matplotlib3p10.patch | (download)

pyproject.toml | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 ignore warning added in matplotlib 3.10