Apparently numpy-groipies seems to cause several failures in the flox (https://github.com/xarray-contrib/flox ) test suite due to incompatibilities with NumPy >= 2.4 (see also xarray-contrib/flox#513 ).
122 tests fail, and for most of them the error message is like the following:
___________________________________________________________________________ test_groupby_reduce_all[flox-mode-True-1-size0--1-False] ____________________________________________________________________________
TypeError: only 0-dimensional arrays can be converted to Python scalars
The above exception was the direct cause of the following exception:
tests/test_core.py:315: in test_groupby_reduce_all
assert_equal(expected, actual, tolerance)
.venv/lib/python3.14/site-packages/dask/base.py:392: in compute
(result,) = compute(self, traverse=False, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.venv/lib/python3.14/site-packages/dask/base.py:769: in compute
results = schedule(expr, keys, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
flox/core.py:502: in _reduce_blockwise
results = chunk_reduce(
flox/core.py:368: in chunk_reduce
result = generic_aggregate(
flox/aggregations.py:124: in generic_aggregate
result = method(
flox/aggregate_npg.py:195: in mode
return npg.aggregate_numpy.aggregate(
.venv/lib/python3.14/site-packages/numpy_groupies/aggregate_numpy.py:381: in aggregate
return _aggregate_base(
.venv/lib/python3.14/site-packages/numpy_groupies/aggregate_numpy.py:331: in _aggregate_base
ret = _impl_dict.get("generic", _generic_callable)(
.venv/lib/python3.14/site-packages/numpy_groupies/aggregate_numpy.py:240: in _generic_callable
ret[i] = func(grp)
^^^^^^
E ValueError: setting an array element with a sequence.
On GNU/Linux the full flox test summary is:
Summary of Failures
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ File ┃ Function ┃ Function Line ┃ Error Line ┃ Error ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-True-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-mode-False-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-True-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[flox-nanmode-False-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_cohorts_nd_by[flox-blockwise-None-mode] │ 1178 │ 1211 │ in _generic_callable │
│ tests/test_core.py │ test_cohorts_nd_by[flox-blockwise-None-nanmode] │ 1178 │ 1211 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[flox-float32-mode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[flox-float32-nanmode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[flox-float64-mode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[flox-float64-nanmode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-True-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-mode-False-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-True-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numpy-nanmode-False-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_cohorts_nd_by[numpy-blockwise-None-mode] │ 1178 │ 1211 │ in _generic_callable │
│ tests/test_core.py │ test_cohorts_nd_by[numpy-blockwise-None-nanmode] │ 1178 │ 1211 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[numpy-float32-mode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[numpy-float32-nanmode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[numpy-float64-mode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_dtype[numpy-float64-nanmode] │ 1551 │ 1564 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-True-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-mode-False-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-True-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-1-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-1-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-1-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-2-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-2-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-2-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-3-size0--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-3-size1--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_groupby_reduce_all[numbagg-nanmode-False-3-size2--1-False] │ 222 │ 315 │ in _generic_callable │
│ tests/test_core.py │ test_cohorts_nd_by[numbagg-blockwise-None-mode] │ 1178 │ 1211 │ in _generic_callable │
│ tests/test_core.py │ test_cohorts_nd_by[numbagg-blockwise-None-nanmode] │ 1178 │ 1211 │ in _generic_callable │
└──────────────────────┴───────────────────────────────────────────────────────────────────┴─────────────────┴──────────────┴────────────────────────┘
Results (1196.91s):
122 failed
10888 passed
8264 skipped
156 xfailed
3 xpassed
1301 warnings
See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142098
Reactions are currently unavailable
Apparently numpy-groipies seems to cause several failures in the flox (https://github.com/xarray-contrib/flox) test suite due to incompatibilities with NumPy >= 2.4 (see also xarray-contrib/flox#513).
122 tests fail, and for most of them the error message is like the following:
On GNU/Linux the full flox test summary is:
See also: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1142098