Bug#1142515: apache-arrow: fails tests with pandas 3.0
Rebecca N. Palmer
rebecca_palmer at zoho.com
Tue Jul 21 08:20:46 BST 2026
Source: apache-arrow
Version: 23.0.1-11
Control: block 1141694 by -1
apache-arrow fails autopkgtests with pandas 3.0 (in experimental):
https://ci.debian.net/packages/a/apache-arrow/unstable/amd64/73190584/
I haven't tried the newer apache-arrow in experimental.
I'm not sure exactly what the problem is but it looks datetime-related.
Upstream release notes: https://pandas.pydata.org/docs/whatsnew/v3.0.0.html
204s
204s =================================== FAILURES
===================================
204s _______
test_timestamp_as_object_non_nanosecond[dt0-America/New_York-s] ________
204s
204s resolution = 's', tz = 'America/New_York'
204s dt = datetime.datetime(1553, 1, 1, 0, 0)
204s
204s @pytest.mark.parametrize("resolution", ["s", "ms", "us"])
204s @pytest.mark.parametrize("tz", [None, "America/New_York"])
204s # One datetime outside nanosecond range, one inside nanosecond
range:
204s @pytest.mark.parametrize("dt", [datetime(1553, 1, 1),
datetime(2020, 1, 1)])
204s def test_timestamp_as_object_non_nanosecond(resolution, tz, dt):
204s # Timestamps can be converted Arrow and reloaded into
Pandas with no loss
204s # of information if the timestamp_as_object option is True.
204s arr = pa.array([dt], type=pa.timestamp(resolution, tz=tz))
204s table = pa.table({'a': arr})
204s
204s for result in [
204s arr.to_pandas(timestamp_as_object=True),
204s table.to_pandas(timestamp_as_object=True)['a']
204s ]:
204s assert result.dtype == object
204s assert isinstance(result[0], datetime)
204s if tz:
204s assert result[0].tzinfo is not None
204s > expected = result[0].tzinfo.fromutc(dt)
204s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204s E ValueError: fromutc: dt.tzinfo is not self
204s
204s /usr/lib/python3/dist-packages/pyarrow/tests/test_pandas.py:4970:
ValueError
204s _______
test_timestamp_as_object_non_nanosecond[dt0-America/New_York-ms] _______
204s
204s resolution = 'ms', tz = 'America/New_York'
204s dt = datetime.datetime(1553, 1, 1, 0, 0)
204s
204s @pytest.mark.parametrize("resolution", ["s", "ms", "us"])
204s @pytest.mark.parametrize("tz", [None, "America/New_York"])
204s # One datetime outside nanosecond range, one inside nanosecond
range:
204s @pytest.mark.parametrize("dt", [datetime(1553, 1, 1),
datetime(2020, 1, 1)])
204s def test_timestamp_as_object_non_nanosecond(resolution, tz, dt):
204s # Timestamps can be converted Arrow and reloaded into
Pandas with no loss
204s # of information if the timestamp_as_object option is True.
204s arr = pa.array([dt], type=pa.timestamp(resolution, tz=tz))
204s table = pa.table({'a': arr})
204s
204s for result in [
204s arr.to_pandas(timestamp_as_object=True),
204s table.to_pandas(timestamp_as_object=True)['a']
204s ]:
204s assert result.dtype == object
204s assert isinstance(result[0], datetime)
204s if tz:
204s assert result[0].tzinfo is not None
204s > expected = result[0].tzinfo.fromutc(dt)
204s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204s E ValueError: fromutc: dt.tzinfo is not self
204s
204s /usr/lib/python3/dist-packages/pyarrow/tests/test_pandas.py:4970:
ValueError
204s _______
test_timestamp_as_object_non_nanosecond[dt0-America/New_York-us] _______
204s
204s resolution = 'us', tz = 'America/New_York'
204s dt = datetime.datetime(1553, 1, 1, 0, 0)
204s
204s @pytest.mark.parametrize("resolution", ["s", "ms", "us"])
204s @pytest.mark.parametrize("tz", [None, "America/New_York"])
204s # One datetime outside nanosecond range, one inside nanosecond
range:
204s @pytest.mark.parametrize("dt", [datetime(1553, 1, 1),
datetime(2020, 1, 1)])
204s def test_timestamp_as_object_non_nanosecond(resolution, tz, dt):
204s # Timestamps can be converted Arrow and reloaded into
Pandas with no loss
204s # of information if the timestamp_as_object option is True.
204s arr = pa.array([dt], type=pa.timestamp(resolution, tz=tz))
204s table = pa.table({'a': arr})
204s
204s for result in [
204s arr.to_pandas(timestamp_as_object=True),
204s table.to_pandas(timestamp_as_object=True)['a']
204s ]:
204s assert result.dtype == object
204s assert isinstance(result[0], datetime)
204s if tz:
204s assert result[0].tzinfo is not None
204s > expected = result[0].tzinfo.fromutc(dt)
204s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204s E ValueError: fromutc: dt.tzinfo is not self
204s
204s /usr/lib/python3/dist-packages/pyarrow/tests/test_pandas.py:4970:
ValueError
204s _______
test_timestamp_as_object_non_nanosecond[dt1-America/New_York-s] ________
204s
204s resolution = 's', tz = 'America/New_York'
204s dt = datetime.datetime(2020, 1, 1, 0, 0)
204s
204s @pytest.mark.parametrize("resolution", ["s", "ms", "us"])
204s @pytest.mark.parametrize("tz", [None, "America/New_York"])
204s # One datetime outside nanosecond range, one inside nanosecond
range:
204s @pytest.mark.parametrize("dt", [datetime(1553, 1, 1),
datetime(2020, 1, 1)])
204s def test_timestamp_as_object_non_nanosecond(resolution, tz, dt):
204s # Timestamps can be converted Arrow and reloaded into
Pandas with no loss
204s # of information if the timestamp_as_object option is True.
204s arr = pa.array([dt], type=pa.timestamp(resolution, tz=tz))
204s table = pa.table({'a': arr})
204s
204s for result in [
204s arr.to_pandas(timestamp_as_object=True),
204s table.to_pandas(timestamp_as_object=True)['a']
204s ]:
204s assert result.dtype == object
204s assert isinstance(result[0], datetime)
204s if tz:
204s assert result[0].tzinfo is not None
204s > expected = result[0].tzinfo.fromutc(dt)
204s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204s E ValueError: fromutc: dt.tzinfo is not self
204s
204s /usr/lib/python3/dist-packages/pyarrow/tests/test_pandas.py:4970:
ValueError
204s _______
test_timestamp_as_object_non_nanosecond[dt1-America/New_York-ms] _______
204s
204s resolution = 'ms', tz = 'America/New_York'
204s dt = datetime.datetime(2020, 1, 1, 0, 0)
204s
204s @pytest.mark.parametrize("resolution", ["s", "ms", "us"])
204s @pytest.mark.parametrize("tz", [None, "America/New_York"])
204s # One datetime outside nanosecond range, one inside nanosecond
range:
204s @pytest.mark.parametrize("dt", [datetime(1553, 1, 1),
datetime(2020, 1, 1)])
204s def test_timestamp_as_object_non_nanosecond(resolution, tz, dt):
204s # Timestamps can be converted Arrow and reloaded into
Pandas with no loss
204s # of information if the timestamp_as_object option is True.
204s arr = pa.array([dt], type=pa.timestamp(resolution, tz=tz))
204s table = pa.table({'a': arr})
204s
204s for result in [
204s arr.to_pandas(timestamp_as_object=True),
204s table.to_pandas(timestamp_as_object=True)['a']
204s ]:
204s assert result.dtype == object
204s assert isinstance(result[0], datetime)
204s if tz:
204s assert result[0].tzinfo is not None
204s > expected = result[0].tzinfo.fromutc(dt)
204s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204s E ValueError: fromutc: dt.tzinfo is not self
204s
204s /usr/lib/python3/dist-packages/pyarrow/tests/test_pandas.py:4970:
ValueError
204s _______
test_timestamp_as_object_non_nanosecond[dt1-America/New_York-us] _______
204s
204s resolution = 'us', tz = 'America/New_York'
204s dt = datetime.datetime(2020, 1, 1, 0, 0)
204s
204s @pytest.mark.parametrize("resolution", ["s", "ms", "us"])
204s @pytest.mark.parametrize("tz", [None, "America/New_York"])
204s # One datetime outside nanosecond range, one inside nanosecond
range:
204s @pytest.mark.parametrize("dt", [datetime(1553, 1, 1),
datetime(2020, 1, 1)])
204s def test_timestamp_as_object_non_nanosecond(resolution, tz, dt):
204s # Timestamps can be converted Arrow and reloaded into
Pandas with no loss
204s # of information if the timestamp_as_object option is True.
204s arr = pa.array([dt], type=pa.timestamp(resolution, tz=tz))
204s table = pa.table({'a': arr})
204s
204s for result in [
204s arr.to_pandas(timestamp_as_object=True),
204s table.to_pandas(timestamp_as_object=True)['a']
204s ]:
204s assert result.dtype == object
204s assert isinstance(result[0], datetime)
204s if tz:
204s assert result[0].tzinfo is not None
204s > expected = result[0].tzinfo.fromutc(dt)
204s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
204s E ValueError: fromutc: dt.tzinfo is not self
204s
204s /usr/lib/python3/dist-packages/pyarrow/tests/test_pandas.py:4970:
ValueError
More information about the debian-science-maintainers
mailing list