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