Skip to content

Commit b085d8b

Browse files
authored
Refactor compatibility modules into xarray.compat package (#10131)
Start of #10089 Move compatibility-related modules from xarray.core to new xarray.compat package: - array_api_compat.py - dask_array_compat.py - dask_array_ops.py - npcompat.py - pdcompat.py
1 parent 5e0b2e7 commit b085d8b

16 files changed

+17
-15
lines changed

xarray/coding/cftime_offsets.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@
6161
convert_time_or_go_back,
6262
format_cftime_datetime,
6363
)
64-
from xarray.core.common import _contains_datetime_like_objects, is_np_datetime_like
65-
from xarray.core.pdcompat import (
64+
from xarray.compat.pdcompat import (
6665
count_not_none,
6766
default_precision_timestamp,
6867
)
68+
from xarray.core.common import _contains_datetime_like_objects, is_np_datetime_like
6969
from xarray.core.types import InclusiveOptions
7070
from xarray.core.utils import attempt_import, emit_user_level_warning
7171

xarray/coding/times.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
unpack_for_decoding,
2121
unpack_for_encoding,
2222
)
23+
from xarray.compat.pdcompat import default_precision_timestamp, timestamp_as_unit
2324
from xarray.core import indexing
2425
from xarray.core.common import contains_cftime_datetimes, is_np_datetime_like
2526
from xarray.core.duck_array_ops import array_all, array_any, asarray, ravel, reshape
2627
from xarray.core.formatting import first_n_items, format_timestamp, last_item
27-
from xarray.core.pdcompat import default_precision_timestamp, timestamp_as_unit
2828
from xarray.core.utils import attempt_import, emit_user_level_warning
2929
from xarray.core.variable import Variable
3030
from xarray.namedarray.parallelcompat import T_ChunkedArray, get_chunked_array_type

xarray/compat/__init__.py

Whitespace-only changes.
File renamed without changes.
File renamed without changes.

xarray/core/dask_array_ops.py xarray/compat/dask_array_ops.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import math
44

5+
from xarray.compat.dask_array_compat import reshape_blockwise
56
from xarray.core import dtypes, nputils
67

78

@@ -21,8 +22,6 @@ def dask_rolling_wrapper(moving_func, a, window, min_count=None, axis=-1):
2122
def least_squares(lhs, rhs, rcond=None, skipna=False):
2223
import dask.array as da
2324

24-
from xarray.core.dask_array_compat import reshape_blockwise
25-
2625
# The trick here is that the core dimension is axis 0.
2726
# All other dimensions need to be reshaped down to one axis for `lstsq`
2827
# (which only accepts 2D input)
File renamed without changes.
File renamed without changes.

xarray/core/computation.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222

2323
import numpy as np
2424

25+
from xarray.compat.array_api_compat import to_like_array
2526
from xarray.core import dtypes, duck_array_ops, utils
2627
from xarray.core.alignment import align, deep_align
27-
from xarray.core.array_api_compat import to_like_array
2828
from xarray.core.common import zeros_like
2929
from xarray.core.duck_array_ops import datetime_to_numeric
3030
from xarray.core.formatting import limit_lines

xarray/core/dataset.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141

4242
from xarray.coding.calendar_ops import convert_calendar, interp_calendar
4343
from xarray.coding.cftimeindex import CFTimeIndex, _parse_array_of_cftime_strings
44+
from xarray.compat.array_api_compat import to_like_array
4445
from xarray.core import (
4546
alignment,
4647
duck_array_ops,
@@ -57,7 +58,6 @@
5758
align,
5859
)
5960
from xarray.core.arithmetic import DatasetArithmetic
60-
from xarray.core.array_api_compat import to_like_array
6161
from xarray.core.common import (
6262
DataWithCoords,
6363
_contains_datetime_like_objects,

xarray/core/dtypes.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@
66
import numpy as np
77
from pandas.api.types import is_extension_array_dtype
88

9-
from xarray.core import array_api_compat, npcompat, utils
10-
from xarray.core.npcompat import HAS_STRING_DTYPE
9+
from xarray.compat import array_api_compat, npcompat
10+
from xarray.compat.npcompat import HAS_STRING_DTYPE
11+
from xarray.core import utils
1112

1213
# Use as a sentinel value to indicate a dtype appropriate NA value.
1314
NA = utils.ReprObject("<NA>")

xarray/core/duck_array_ops.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
)
2525
from pandas.api.types import is_extension_array_dtype
2626

27-
from xarray.core import dask_array_compat, dask_array_ops, dtypes, nputils
28-
from xarray.core.array_api_compat import get_array_namespace
27+
from xarray.compat import dask_array_compat, dask_array_ops
28+
from xarray.compat.array_api_compat import get_array_namespace
29+
from xarray.core import dtypes, nputils
2930
from xarray.core.options import OPTIONS
3031
from xarray.core.utils import is_duck_array, is_duck_dask_array, module_available
3132
from xarray.namedarray.parallelcompat import get_chunked_array_type

xarray/core/nputils.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import pandas as pd
88
from packaging.version import Version
99

10-
from xarray.core.array_api_compat import get_array_namespace
10+
from xarray.compat.array_api_compat import get_array_namespace
1111
from xarray.core.utils import is_duck_array, module_available
1212
from xarray.namedarray import pycompat
1313

xarray/core/rolling.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99

1010
import numpy as np
1111

12-
from xarray.core import dask_array_ops, dtypes, duck_array_ops, utils
12+
from xarray.compat import dask_array_ops
13+
from xarray.core import dtypes, duck_array_ops, utils
1314
from xarray.core.arithmetic import CoarsenArithmetic
1415
from xarray.core.options import OPTIONS, _get_keep_attrs
1516
from xarray.core.types import CoarsenBoundaryOptions, SideOptions, T_Xarray

xarray/core/rolling_exp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
import numpy as np
77

8+
from xarray.compat.pdcompat import count_not_none
89
from xarray.core.computation import apply_ufunc
910
from xarray.core.options import _get_keep_attrs
10-
from xarray.core.pdcompat import count_not_none
1111
from xarray.core.types import T_DataWithCoords
1212
from xarray.core.utils import module_available
1313

xarray/core/variable.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
from pandas.api.types import is_extension_array_dtype
1717

1818
import xarray as xr # only for Dataset and DataArray
19+
from xarray.compat.array_api_compat import to_like_array
1920
from xarray.core import common, dtypes, duck_array_ops, indexing, nputils, ops, utils
2021
from xarray.core.arithmetic import VariableArithmetic
21-
from xarray.core.array_api_compat import to_like_array
2222
from xarray.core.common import AbstractArray
2323
from xarray.core.extension_array import PandasExtensionArray
2424
from xarray.core.indexing import (

0 commit comments

Comments
 (0)