Skip to content

Commit fd1db22

Browse files
author
Russell Manser
committed
Use utils.is_duck_array in xarray/core/formatting.py
* Replace locally defined `is_duck_array` in _diff_mapping_repr * Replace `"__array_function__"` and `is_duck_dask_array` check in `short_data_repr`
1 parent 457e36c commit fd1db22

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

xarray/core/formatting.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
from .duck_array_ops import array_equiv
1414
from .options import OPTIONS
15-
from .pycompat import dask_array_type, is_duck_dask_array, sparse_array_type
15+
from .pycompat import dask_array_type, sparse_array_type
16+
from .utils import is_duck_array
1617

1718

1819
def pretty_print(x, numchars: int):
@@ -457,9 +458,7 @@ def short_data_repr(array):
457458
internal_data = getattr(array, "variable", array)._data
458459
if isinstance(array, np.ndarray):
459460
return short_numpy_repr(array)
460-
elif hasattr(internal_data, "__array_function__") or is_duck_dask_array(
461-
internal_data
462-
):
461+
elif is_duck_array(internal_data):
463462
return limit_lines(repr(array.data), limit=40)
464463
elif array._in_memory or array.size < 1e5:
465464
return short_numpy_repr(array)
@@ -527,13 +526,6 @@ def diff_dim_summary(a, b):
527526

528527

529528
def _diff_mapping_repr(a_mapping, b_mapping, compat, title, summarizer, col_width=None):
530-
def is_duck_array(value):
531-
return (
532-
hasattr(value, "ndim")
533-
and hasattr(value, "shape")
534-
and hasattr(value, "dtype")
535-
)
536-
537529
def extra_items_repr(extra_keys, mapping, ab_side):
538530
extra_repr = [summarizer(k, mapping[k], col_width) for k in extra_keys]
539531
if extra_repr:

0 commit comments

Comments
 (0)