Skip to content

Add support for Array API in NamedArray #13899

Add support for Array API in NamedArray

Add support for Array API in NamedArray #13899

GitHub Actions / Test Results failed Aug 22, 2024 in 0s

143 errors, 2 128 fail, 7 919 skipped, 3 502 pass in 5m 53s

     2 files   -       6      2 suites   - 6   5m 53s ⏱️ - 1h 7m 13s
13 692 tests  -   6 066  3 502 ✅  -  9 983  7 919 💤 +6 358  2 128 ❌  -  2 440  143 🔥  -   1 
13 704 runs   - 107 016  3 502 ✅  - 72 581  7 931 💤  - 9 381  2 128 ❌  - 24 581  143 🔥  - 473 

Results for commit 5d6b130. ± Comparison against earlier commit d4f9b48.

Annotations

Check failure on line 0 in /

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 2 runs with error: xarray.tests.test_dask

artifacts/Test results for Linux-3.12 flaky/pytest.xml [took 0s]
Raw output
collection failure
#x1B[31mImportError while importing test module '/home/runner/work/xarray/xarray/xarray/tests/test_dask.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
#x1B[1m#x1B[31m../../../micromamba/envs/xarray-tests/lib/python3.12/importlib/__init__.py#x1B[0m:90: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
#x1B[1m#x1B[31mxarray/tests/test_dask.py#x1B[0m:1127: in <module>
    @pytest.mark.parametrize("obj", [make_ds(), make_da()])
#x1B[1m#x1B[31mxarray/tests/test_dask.py#x1B[0m:1067: in make_ds
    map_ds["a"] = make_da()
#x1B[1m#x1B[31mxarray/tests/test_dask.py#x1B[0m:1059: in make_da
    da.coords["ndcoord"] = da.x * 2
#x1B[1m#x1B[31mxarray/core/_typed_ops.py#x1B[0m:253: in __mul__
    return self._binary_op(other, operator.mul)
#x1B[1m#x1B[31mxarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31mxarray/namedarray/core.py#x1B[0m:543: in __mul__
    from xarray.namedarray._array_api import asarray, multiply
#x1B[1m#x1B[31mxarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31mxarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
#x1B[1m#x1B[31mxarray/namedarray/_array_api/_utils.py#x1B[0m:28: in _maybe_default_namespace
    import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE   ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m#x1B[0m

Check failure on line 0 in /

See this annotation in the file changed.

@github-actions github-actions / Test Results

1 out of 2 runs with error: xarray.tests.test_sparse

artifacts/Test results for Linux-3.12 flaky/pytest.xml [took 0s]
Raw output
collection failure
#x1B[31mImportError while importing test module '/home/runner/work/xarray/xarray/xarray/tests/test_sparse.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
#x1B[1m#x1B[31m../../../micromamba/envs/xarray-tests/lib/python3.12/importlib/__init__.py#x1B[0m:90: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
#x1B[1m#x1B[31mxarray/tests/test_sparse.py#x1B[0m:220: in <module>
    (do("where", cond=make_xrvar({"x": 10, "y": 5}) > 0.5), True),
#x1B[1m#x1B[31mxarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31mxarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31mxarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
#x1B[1m#x1B[31mxarray/namedarray/_array_api/_utils.py#x1B[0m:28: in _maybe_default_namespace
    import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE   ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m#x1B[0m

Check warning on line 0 in xarray.tests.test_accessor_dt.TestDatetimeAccessor

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_total_seconds (xarray.tests.test_accessor_dt.TestDatetimeAccessor) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
self = <xarray.tests.test_accessor_dt.TestDatetimeAccessor object at 0x7ffb894213c0>

    def test_total_seconds(self) -> None:
        # Subtract a value in the middle of the range to ensure that some values
        # are negative
>       delta = self.data.time - np.datetime64("2000-01-03")

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_accessor_dt.py#x1B[0m:107: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:250: in __sub__
    return self._binary_op(other, operator.sub)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:590: in __sub__
    from xarray.namedarray._array_api import asarray, subtract
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_accessor_dt.TestDatetimeAccessor

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_strftime (xarray.tests.test_accessor_dt.TestDatetimeAccessor) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
self = <xarray.tests.test_accessor_dt.TestDatetimeAccessor object at 0x7ffb89139d50>

    def test_strftime(self) -> None:
>       assert (
            "2000-01-01 01:00:00" == self.data.time.dt.strftime("%Y-%m-%d %H:%M:%S")[1]
        )

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_accessor_dt.py#x1B[0m:140: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:295: in __eq__
    return self._binary_op(other, nputils.array_eq)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/nputils.py#x1B[0m:113: in array_eq
    return _ensure_bool_is_ndarray(self == other, self, other)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:467: in __eq__
    from xarray.namedarray._array_api import asarray, equal
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-1-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 1, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-1-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 1, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-2-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 2, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-2-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 2, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_assertions

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ensure_warnings_not_elevated[assert_duckarray_equal] (xarray.tests.test_assertions) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
func = 'assert_duckarray_equal'

    @pytest.mark.parametrize(
        "func",
        [
            "assert_equal",
            "assert_identical",
            "assert_allclose",
            "assert_duckarray_equal",
            "assert_duckarray_allclose",
        ],
    )
    def test_ensure_warnings_not_elevated(func) -> None:
        # make sure warnings are not elevated to errors in the assertion functions
        # e.g. by @pytest.mark.filterwarnings("error")
        # see https://github.com/pydata/xarray/pull/4760#issuecomment-774101639
    
        # define a custom Variable class that raises a warning in assert_*
        class WarningVariable(xr.Variable):
            @property  # type: ignore[misc]
            def dims(self):
                warnings.warn("warning in test")
                return super().dims
    
            def __array__(self, dtype=None, copy=None):
                warnings.warn("warning in test")
                return super().__array__()
    
        a = WarningVariable("x", [1])
        b = WarningVariable("x", [2])
    
        with warnings.catch_warnings(record=True) as w:
            # elevate warnings to errors
            warnings.filterwarnings("error")
            with pytest.raises(AssertionError):
>               getattr(xr.testing, func)(a, b)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_assertions.py#x1B[0m:187: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/duck_array_ops.py#x1B[0m:314: in array_equiv
    flag_array = (arr1 == arr2) | (isnull(arr1) & isnull(arr2))
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:467: in __eq__
    from xarray.namedarray._array_api import asarray, equal
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-3-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 3, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_assertions

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ensure_warnings_not_elevated[assert_duckarray_allclose] (xarray.tests.test_assertions) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
func = 'assert_duckarray_allclose'

    @pytest.mark.parametrize(
        "func",
        [
            "assert_equal",
            "assert_identical",
            "assert_allclose",
            "assert_duckarray_equal",
            "assert_duckarray_allclose",
        ],
    )
    def test_ensure_warnings_not_elevated(func) -> None:
        # make sure warnings are not elevated to errors in the assertion functions
        # e.g. by @pytest.mark.filterwarnings("error")
        # see https://github.com/pydata/xarray/pull/4760#issuecomment-774101639
    
        # define a custom Variable class that raises a warning in assert_*
        class WarningVariable(xr.Variable):
            @property  # type: ignore[misc]
            def dims(self):
                warnings.warn("warning in test")
                return super().dims
    
            def __array__(self, dtype=None, copy=None):
                warnings.warn("warning in test")
                return super().__array__()
    
        a = WarningVariable("x", [1])
        b = WarningVariable("x", [2])
    
        with warnings.catch_warnings(record=True) as w:
            # elevate warnings to errors
            warnings.filterwarnings("error")
            with pytest.raises(AssertionError):
>               getattr(xr.testing, func)(a, b)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_assertions.py#x1B[0m:187: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/testing/assertions.py#x1B[0m:294: in _format_message
    diff = x - y
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:590: in __sub__
    from xarray.namedarray._array_api import asarray, subtract
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-3-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 3, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-4-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 4, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_dataset.TestDataset

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_variable_indexing (xarray.tests.test_dataset.TestDataset) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
self = <xarray.tests.test_dataset.TestDataset object at 0x7f638c353070>

    def test_variable_indexing(self) -> None:
        data = create_test_data()
        v = data["var1"]
        d1 = data["dim1"]
        d2 = data["dim2"]
        assert_equal(v, v[d1.values])
        assert_equal(v, v[d1])
>       assert_equal(v[:3], v[d1 < 3])

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_dataset.py#x1B[0m:2692: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:283: in __lt__
    return self._binary_op(other, operator.lt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:528: in __lt__
    from xarray.namedarray._array_api import asarray, less
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-sum-4-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 4, name = 'sum'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-1-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 1, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-1-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 1, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_datatree_mapping.TestMapOverSubTree

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_single_dt_arg (xarray.tests.test_datatree_mapping.TestMapOverSubTree) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
self = <xarray.tests.test_datatree_mapping.TestMapOverSubTree object at 0x7ffb869b0f40>
create_test_datatree = <function create_test_datatree.<locals>._create_test_datatree at 0x7ffb85ef7a30>

    def test_single_dt_arg(self, create_test_datatree):
        dt = create_test_datatree()
    
        @map_over_subtree
        def times_ten(ds):
            return 10.0 * ds
    
>       expected = create_test_datatree(modify=lambda ds: 10.0 * ds)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_datatree_mapping.py#x1B[0m:122: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/conftest.py#x1B[0m:175: in _create_test_datatree
    set1_data = modify(xr.Dataset({"a": 0, "b": 1}))
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_datatree_mapping.py#x1B[0m:122: in <lambda>
    expected = create_test_datatree(modify=lambda ds: 10.0 * ds)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:99: in __rmul__
    return self._binary_op(other, operator.mul, reflexive=True)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7778: in _binary_op
    ds = self._calculate_binary_op(g, other, join=align_type)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7847: in _calculate_binary_op
    new_vars = {k: f(self.variables[k], other_variable) for k in self.data_vars}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7847: in <dictcomp>
    new_vars = {k: f(self.variables[k], other_variable) for k in self.data_vars}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7777: in <lambda>
    g = f if not reflexive else lambda x, y: f(y, x)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:663: in __rmul__
    from xarray.namedarray._array_api import asarray, multiply
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-2-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 2, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-2-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 2, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-3-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 3, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_datatree_mapping.TestMapOverSubTree

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_single_dt_arg_plus_args_and_kwargs (xarray.tests.test_datatree_mapping.TestMapOverSubTree) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
self = <xarray.tests.test_datatree_mapping.TestMapOverSubTree object at 0x7ffb869b0c10>
create_test_datatree = <function create_test_datatree.<locals>._create_test_datatree at 0x7ffb85ef7a30>

    def test_single_dt_arg_plus_args_and_kwargs(self, create_test_datatree):
        dt = create_test_datatree()
    
        @map_over_subtree
        def multiply_then_add(ds, times, add=0.0):
            return (times * ds) + add
    
>       expected = create_test_datatree(modify=lambda ds: (10.0 * ds) + 2.0)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_datatree_mapping.py#x1B[0m:133: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/conftest.py#x1B[0m:175: in _create_test_datatree
    set1_data = modify(xr.Dataset({"a": 0, "b": 1}))
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_datatree_mapping.py#x1B[0m:133: in <lambda>
    expected = create_test_datatree(modify=lambda ds: (10.0 * ds) + 2.0)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:99: in __rmul__
    return self._binary_op(other, operator.mul, reflexive=True)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7778: in _binary_op
    ds = self._calculate_binary_op(g, other, join=align_type)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7847: in _calculate_binary_op
    new_vars = {k: f(self.variables[k], other_variable) for k in self.data_vars}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7847: in <dictcomp>
    new_vars = {k: f(self.variables[k], other_variable) for k in self.data_vars}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:7777: in <lambda>
    g = f if not reflexive else lambda x, y: f(y, x)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:663: in __rmul__
    from xarray.namedarray._array_api import asarray, multiply
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-3-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 3, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-4-1] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (a: 3, time: 21, x: 4)> Size: 2kB
array([[[0.5488135 , 0.71518937, 0.60276338, 0.54488318],
        ...ates:
  * time     (time) datetime64[ns] 168B 2000-01-01 2000-01-02 ... 2000-01-21
Dimensions without coordinates: a, x
window = 4, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError

Check warning on line 0 in xarray.tests.test_coarsen

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_coarsen_da_reduce[numpy-mean-4-2] (xarray.tests.test_coarsen) failed

artifacts/Test results for Linux-3.10 bare-minimum/pytest.xml [took 0s]
Raw output
ModuleNotFoundError: No module named 'array_api_compat'
da = <xarray.DataArray (time: 11)> Size: 88B
array([ 0., nan,  1.,  2., nan,  3.,  4.,  5., nan,  6.,  7.])
Dimensions without coordinates: time
window = 4, name = 'mean'

    @pytest.mark.parametrize("da", (1, 2), indirect=True)
    @pytest.mark.parametrize("window", (1, 2, 3, 4))
    @pytest.mark.parametrize("name", ("sum", "mean", "std", "max"))
    def test_coarsen_da_reduce(da, window, name) -> None:
>       if da.isnull().sum() > 1 and window == 1:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_coarsen.py#x1B[0m:244: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/_typed_ops.py#x1B[0m:289: in __gt__
    return self._binary_op(other, operator.gt)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataarray.py#x1B[0m:4749: in _binary_op
    f(self.variable, other_variable_or_arraylike)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/core.py#x1B[0m:496: in __gt__
    from xarray.namedarray._array_api import asarray, greater
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/__init__.py#x1B[0m:11: in <module>
    from xarray.namedarray._array_api._constants import e, inf, nan, newaxis, pi
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_constants.py#x1B[0m:3: in <module>
    _xp = _maybe_default_namespace()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

xp = None

    def _maybe_default_namespace(xp: ModuleType | None = None) -> ModuleType:
        if xp is None:
            # import array_api_strict as xpd
>           import array_api_compat.numpy as xpd
#x1B[1m#x1B[31mE           ModuleNotFoundError: No module named 'array_api_compat'#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/namedarray/_array_api/_utils.py#x1B[0m:28: ModuleNotFoundError