-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
Description
the normal CI started to fail:
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[365_day]
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[360_day]
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[julian]
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[all_leap]
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[366_day]
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[gregorian]
FAILED xarray/tests/test_cftimeindex.py::test_distant_cftime_datetime_sub_cftimeindex[proleptic_gregorian]
traceback
[gw2] linux -- Python 3.9.2 /usr/share/miniconda/envs/xarray-tests/bin/python
> ???
E TypeError: Expected unicode, got datetime.timedelta
pandas/_libs/tslibs/timedeltas.pyx:264: TypeError
During handling of the above exception, another exception occurred:
calendar = 'proleptic_gregorian'
@requires_cftime
@pytest.mark.parametrize("calendar", _CFTIME_CALENDARS)
def test_distant_cftime_datetime_sub_cftimeindex(calendar):
a = xr.cftime_range("2000", periods=5, calendar=calendar)
with pytest.raises(ValueError, match="difference exceeds"):
> a.date_type(1, 1, 1) - a
/home/runner/work/xarray/xarray/xarray/tests/test_cftimeindex.py:833:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/xarray/xarray/xarray/coding/cftimeindex.py:581: in __rsub__
return pd.TimedeltaIndex(other - np.array(self))
/usr/share/miniconda/envs/xarray-tests/lib/python3.9/site-packages/pandas/core/indexes/timedeltas.py:155: in __new__
tdarr = TimedeltaArray._from_sequence_not_strict(
/usr/share/miniconda/envs/xarray-tests/lib/python3.9/site-packages/pandas/core/arrays/timedeltas.py:250: in _from_sequence_not_strict
data, inferred_freq = sequence_to_td64ns(data, copy=copy, unit=unit)
/usr/share/miniconda/envs/xarray-tests/lib/python3.9/site-packages/pandas/core/arrays/timedeltas.py:957: in sequence_to_td64ns
data = objects_to_td64ns(data, unit=unit, errors=errors)
/usr/share/miniconda/envs/xarray-tests/lib/python3.9/site-packages/pandas/core/arrays/timedeltas.py:1067: in objects_to_td64ns
result = array_to_timedelta64(values, unit=unit, errors=errors)
pandas/_libs/tslibs/timedeltas.pyx:269: in pandas._libs.tslibs.timedeltas.array_to_timedelta64
???
pandas/_libs/tslibs/timedeltas.pyx:222: in pandas._libs.tslibs.timedeltas.convert_to_timedelta64
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> ???
E OverflowError: Python int too large to convert to C long
pandas/_libs/tslibs/timedeltas.pyx:167: OverflowError
This seems to coincide with the release of pandas=1.2.4
, and this is indeed the only difference in the environment (I didn't try to reproduce, though).