[Debian-astro-maintainers] Bug#1142519: glueviz: tests fail with pandas 3.0

Rebecca N. Palmer rebecca_palmer at zoho.com
Tue Jul 21 08:28:52 BST 2026


Source: glueviz
Version: 1.24.1+dfsg-3
Control: block 1141694 by -1

glueviz fails autopkgtests with pandas 3.0 (in experimental):

https://ci.debian.net/packages/g/glueviz/unstable/amd64/73190613/

It looks like it's explicitly checking dtypes, and not expecting the 
newly-default string dtype.
Upstream release notes: https://pandas.pydata.org/docs/whatsnew/v3.0.0.html

454s =================================== FAILURES 
===================================
454s ___________________________ test_csv_pandas_factory 
____________________________
454s
454s     def test_csv_pandas_factory():
454s         data = b"""a,b,c,d
454s     1,2.1,some,True
454s     2,2.4,categorical,False
454s     3,1.4,data,True
454s     4,4.0,here,True
454s     5,6.3,,False
454s     6,8.7,,False
454s     8,9.2,,True"""
454s
454s         with make_file(data, '.csv') as fname:
454s             d = df.load_data(fname, factory=df.pandas_read_table)
454s         assert d['a'].dtype == np.int64
454s         assert d['b'].dtype == float
454s >       assert d['c'].dtype.kind == 'U'
454s E       AssertionError: assert 'O' == 'U'
454s E
454s E         - U
454s E         + O
454s
454s 
/usr/lib/python3/dist-packages/glue/core/data_factories/tests/test_data_factories.py:110: 
AssertionError
454s ______________________________ test_excel_single 
_______________________________
454s
454s     @requires_openpyxl
454s     def test_excel_single():
454s
454s         from ..excel import panda_read_excel
454s
454s         d = panda_read_excel(os.path.join(DATA, 
'simple_data.xlsx'), sheet='Data2')[0]
454s
454s         assert_array_equal(d['1'], [2, 3, 4, 5])
454s         assert d['1'].dtype.kind == 'i'
454s         assert_array_equal(d['a'], ['b', 'c', 'd', 'e'])
454s >       assert d['a'].dtype.kind == 'U'
454s E       AssertionError: assert 'O' == 'U'
454s E
454s E         - U
454s E         + O
454s
454s 
/usr/lib/python3/dist-packages/glue/core/data_factories/tests/test_excel.py:54: 
AssertionError
454s ________________________ test_translator_data_roundtrip 
________________________
454s
454s     def test_translator_data_roundtrip():
454s
454s         # Case where we start from a Dataframe, convert to a glue 
data object,
454s         # and convert back to a DataFrame.
454s
454s         df = DataFrame()
454s         df['a'] = [3, 5, 6, 7]
454s         df['b'] = [1.5, 2.2, 1.3, 3.3]
454s         df['c'] = ['r', 'd', 'w', 'q']
454s
454s         dc = DataCollection()
454s         dc['dataframe'] = df
454s
454s         data = dc['dataframe']
454s         assert isinstance(data, Data)
454s         assert data.main_components == ['a', 'b', 'c']
454s         assert_equal(data['a'], [3, 5, 6, 7])
454s         assert_equal(data['b'], [1.5, 2.2, 1.3, 3.3])
454s         assert_equal(data['c'], ['r', 'd', 'w', 'q'])
454s
454s         df2 = data.get_object()
454s         assert_equal(list(df2.columns), ['a', 'b', 'c'])
454s         assert_equal(df2['a'].values, [3, 5, 6, 7])
454s         assert_equal(df2['b'].values, [1.5, 2.2, 1.3, 3.3])
454s >       assert_equal(df2['c'].values, ['r', 'd', 'w', 'q'])
454s E       ValueError: The truth value of an array with more than one 
element is ambiguous. Use a.any() or a.all()
454s
454s 
/usr/lib/python3/dist-packages/glue/core/data_factories/tests/test_pandas.py:33: 
ValueError
454s __________________________ test_translator_from_data 
___________________________
454s
454s     def test_translator_from_data():
454s
454s         # Case where the initial data object wasn't originally 
created from a
454s         # DataFrame.
454s
454s         data = Data()
454s         data['a'] = [3, 5, 6, 7]
454s         data['b'] = [1.5, 2.2, 1.3, 3.3]
454s         data['c'] = ['r', 'd', 'w', 'q']
454s
454s         with pytest.raises(ValueError) as exc:
454s             df = data.get_object()
454s         #  Do not specify full error message in case plugins add 
new translations
454s         assert 'Specify the object class to use with cls' in 
exc.value.args[0]
454s
454s         df = data.get_object(cls=DataFrame)
454s         assert_equal(list(df.columns), ['a', 'b', 'c'])
454s         assert_equal(df['a'].values, [3, 5, 6, 7])
454s         assert_equal(df['b'].values, [1.5, 2.2, 1.3, 3.3])
454s >       assert_equal(df['c'].values, ['r', 'd', 'w', 'q'])
454s E       ValueError: The truth value of an array with more than one 
element is ambiguous. Use a.any() or a.all()
454s
454s 
/usr/lib/python3/dist-packages/glue/core/data_factories/tests/test_pandas.py:55: 
ValueError
454s _________________________ test_translator_from_subset 
__________________________
454s
454s     def test_translator_from_subset():
454s
454s         # Case where we convert a subset to a DataFrame
454s
454s         data = Data()
454s         data['a'] = [3, 5, 6, 7]
454s         data['b'] = [1.5, 2.2, 1.3, 3.3]
454s         data['c'] = ['r', 'd', 'w', 'q']
454s
454s         dc = DataCollection([data])
454s         dc.new_subset_group(label='test subset', 
subset_state=data.id['b'] > 2)
454s
454s         df = data.get_subset_object(cls=DataFrame)
454s         assert_equal(list(df.columns), ['a', 'b', 'c'])
454s         assert_equal(df['a'].values, [5, 7])
454s         assert_equal(df['b'].values, [2.2, 3.3])
454s >       assert_equal(df['c'].values, ['d', 'q'])
454s E       ValueError: The truth value of an array with more than one 
element is ambiguous. Use a.any() or a.all()
454s
454s 
/usr/lib/python3/dist-packages/glue/core/data_factories/tests/test_pandas.py:74: 
ValueError
454s __________ 
TestPandasConversion.test_CategoricalComponent_conversion ___________
454s
454s self = <glue.core.tests.test_pandas.TestPandasConversion object at 
0x7f368fcb7ce0>
454s
454s     def test_CategoricalComponent_conversion(self):
454s
454s         comp = CategoricalComponent(np.array(['a', 'b', 'c', 'd']))
454s         series = pd.Series(['a', 'b', 'c', 'd'])
454s
454s >       assert_series_equal(series, comp.to_series())
454s E       AssertionError: Attributes of Series are different
454s E
454s E       Attribute "dtype" are different
454s E       [left]:  <StringDtype(storage='python', na_value=nan)>
454s E       [right]: object
454s
454s /usr/lib/python3/dist-packages/glue/core/tests/test_pandas.py:35: 
AssertionError
454s __________________ TestPandasConversion.test_Data_conversion 
___________________
454s
454s self = <glue.core.tests.test_pandas.TestPandasConversion object at 
0x7f368fbe9010>
454s
454s     def test_Data_conversion(self):
454s
454s         d = Data(n=np.array([4, 5, 6, 7]))
454s         cat_comp = CategoricalComponent(np.array(['a', 'b', 'c', 'd']))
454s         d.add_component(cat_comp, 'c')
454s         link = MagicMock()
454s         link.compute.return_value = np.arange(4)
454s         deriv_comp = DerivedComponent(d, link)
454s         d.add_component(deriv_comp, 'd')
454s         order = [comp.label for comp in d.components]
454s
454s         frame = pd.DataFrame()
454s         frame['Pixel Axis 0 [x]'] = np.ogrid[0:4]
454s         frame['n'] = np.array([4, 5, 6, 7])
454s         frame['c'] = ['a', 'b', 'c', 'd']
454s         frame['d'] = np.arange(4)
454s         out_frame = d.to_dataframe()
454s
454s >       assert_frame_equal(out_frame, frame)
454s E       AssertionError: Attributes of DataFrame.iloc[:, 2] (column 
name="c") are different
454s E
454s E       Attribute "dtype" are different
454s E       [left]:  object
454s E       [right]: <StringDtype(storage='python', na_value=nan)>
454s
454s /usr/lib/python3/dist-packages/glue/core/tests/test_pandas.py:62: 
AssertionError



More information about the Debian-astro-maintainers mailing list