From c13478be91e5ee63d2c4ecebe888953426acfc0f Mon Sep 17 00:00:00 2001 From: Deepak Cherian Date: Sun, 16 Mar 2025 08:29:48 -0600 Subject: [PATCH] Fix SupportsArithmetic import --- cf_xarray/accessor.py | 3 +-- cf_xarray/tests/test_accessor.py | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cf_xarray/accessor.py b/cf_xarray/accessor.py index 2e9341de..e11762a3 100644 --- a/cf_xarray/accessor.py +++ b/cf_xarray/accessor.py @@ -24,7 +24,6 @@ import xarray as xr from xarray import DataArray, Dataset -from xarray.core.arithmetic import SupportsArithmetic from xarray.core.groupby import GroupBy from xarray.core.resample import Resample from xarray.core.rolling import Coarsen, Rolling @@ -997,7 +996,7 @@ def _get_possible(accessor, criteria): return _get_possible(obj.cf, y_criteria) -class _CFWrappedClass(SupportsArithmetic): +class _CFWrappedClass: """ This class is used to wrap any class in _WRAPPED_CLASSES. """ diff --git a/cf_xarray/tests/test_accessor.py b/cf_xarray/tests/test_accessor.py index 465c6f3f..58f4c0cd 100644 --- a/cf_xarray/tests/test_accessor.py +++ b/cf_xarray/tests/test_accessor.py @@ -1514,15 +1514,14 @@ def test_groupby_special_ops() -> None: grouped = airds.groupby_bins("lat", np.arange(20, 50, 10)) # __iter__ - for (label, group), (cflabel, cfgroup) in zip(grouped, cfgrouped, strict=False): + for (label, group), (cflabel, cfgroup) in zip(grouped, cfgrouped, strict=True): assert label == cflabel assert_identical(group, cfgroup) # arithmetic # TODO: Extremely buggy! # 1. cfgrouped - cfgrouped.mean() raises RecursionError - # 2. use_flox=True doesn't preserve attributes for some reason - with xr.set_options(keep_attrs=True): + with xr.set_options(keep_attrs=True, use_flox=True): expected = grouped - grouped.mean() actual = grouped - cfgrouped.mean() assert_identical(expected, actual)