Upgrading xarray 0.19 to 0.20
Review needed0.19.0 → 0.20.2New3Changed2Fixed2Other2
Review neededUpgrade verdict
2 behavior changes.
In plain terms
- Unstacking data into a sparse array is now faster.
- Unstacking is now much faster.
Must act Nothing to change
No breaking, platform, security or deprecated items in this range.
Drops setuptools.
Installs 5 packages in all (was 6).
Nothing in this upgrade needs a code or configuration change.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
export get_options
- changed:
function to_zarr(dataset: Dataset, store: Union[MutableMapping, str, Path]=…, chunk_store=…, mode: str=…, synchronizer=…, group: str=…, encoding: Mapping=…, compute: bool=…, consolidated: Optional[bool]=…, append_dim: Hashable=…, region: Mapping[str, slice]=…, safe_chunks: bool=…) → function to_zarr(dataset: Dataset, store: Union[MutableMapping, str, os.PathLike]=…, chunk_store=…, mode: str=…, synchronizer=…, group: str=…, encoding: Mapping=…, compute: bool=…, consolidated: Optional[bool]=…, append_dim: Hashable=…, region: Mapping[str, slice]=…, safe_chunks: bool=…, storage_options: Dict[str, str]=…)
- changed:
function backends_dict_from_pkg(pkg_entrypoints) → function backends_dict_from_pkg(entrypoints) - changed:
function build_engines(pkg_entrypoints) → function build_engines(entrypoints) - changed:
function remove_duplicates(pkg_entrypoints) → function remove_duplicates(entrypoints)
- changed:
function open_rasterio(filename, parse_coordinates=…, chunks=…, cache=…, lock=…) → function open_rasterio(filename, parse_coordinates=…, chunks=…, cache=…, lock=…, **kwargs)
- added:
variable cftime
- added:
variable cftime
- added:
variable cftime
- changed:
class DataArrayGroupbyArithmetic(ImplementsArrayReduce, IncludeReduceMethods, SupportsArithmetic, DataArrayGroupByOpsMixin) → class DataArrayGroupbyArithmetic(SupportsArithmetic, DataArrayGroupByOpsMixin) - changed:
class DatasetGroupbyArithmetic(ImplementsDatasetReduce, IncludeReduceMethods, SupportsArithmetic, DatasetGroupByOpsMixin) → class DatasetGroupbyArithmetic(SupportsArithmetic, DatasetGroupByOpsMixin)
- changed:
function combine_by_coords(data_objects=…, compat=…, data_vars=…, coords=…, fill_value=…, join=…, combine_attrs=…, datasets=…) → function combine_by_coords(data_objects: Sequence[Union[Dataset, DataArray]]=…, compat: str=…, data_vars: str=…, coords: str=…, fill_value: object=…, join: str=…, combine_attrs: str=…, datasets: Sequence[Dataset]=…) -> Union[Dataset, DataArray] - changed:
function combine_nested(datasets, concat_dim, compat=…, data_vars=…, coords=…, fill_value=…, join=…, combine_attrs=…) → function combine_nested(datasets: DATASET_HYPERCUBE, concat_dim: Union[str, DataArray, None, Sequence[Union[str, DataArray, pd.Index, None]]], compat: str=…, data_vars: str=…, coords: str=…, fill_value: object=…, join: str=…, combine_attrs: str=…) -> Dataset - added:
variable DATASET_HYPERCUBE
- removed:
variable T_DataWithCoords - changed:
function full_like(other: Dataset, fill_value, dtype: Union[DTypeLike, Mapping[Hashable, DTypeLike]]=…) -> Dataset | (other: DataArray, fill_value, dtype: DTypeLike=…) -> DataArray | (other: Variable, fill_value, dtype: DTypeLike=…) -> Variable → function full_like(other: Dataset, fill_value, dtype: Union[DTypeLike, Mapping[Any, DTypeLike]]=…) -> Dataset | (other: DataArray, fill_value, dtype: DTypeLike=…) -> DataArray | (other: Variable, fill_value, dtype: DTypeLike=…) -> Variable - changed:
method DataWithCoords.coarsen(dim: Mapping[Hashable, int]=…, boundary: str=…, side: Union[str, Mapping[Hashable, str]]=…, coord_func: str=…, **window_kwargs: int) → method DataWithCoords.coarsen(dim: Mapping[Any, int]=…, boundary: str=…, side: Union[str, Mapping[Any, str]]=…, coord_func: str=…, **window_kwargs: int) - changed:
method DataWithCoords.resample(indexer: Mapping[Hashable, str]=…, skipna=…, closed: str=…, label: str=…, base: int=…, keep_attrs: bool=…, loffset=…, restore_coord_dims: bool=…, **indexer_kwargs: str) → method DataWithCoords.resample(indexer: Mapping[Any, str]=…, skipna=…, closed: str=…, label: str=…, base: int=…, keep_attrs: bool=…, loffset=…, restore_coord_dims: bool=…, **indexer_kwargs: str) - changed:
method DataWithCoords.rolling(dim: Mapping[Hashable, int]=…, min_periods: int=…, center: Union[bool, Mapping[Hashable, bool]]=…, **window_kwargs: int) → method DataWithCoords.rolling(dim: Mapping[Any, int]=…, min_periods: int=…, center: Union[bool, Mapping[Any, bool]]=…, **window_kwargs: int) - changed:
method DataWithCoords.rolling_exp(window: Mapping[Hashable, int]=…, window_type: str=…, **window_kwargs) → method DataWithCoords.rolling_exp(window: Mapping[Any, int]=…, window_type: str=…, **window_kwargs) - changed:
method DataWithCoords.weighted(weights: DataArray) -> Weighted[T_DataWithCoords] → method DataWithCoords.weighted(weights: DataArray) -> Weighted[T_Xarray] - added:
function get_chunksizes(variables: Iterable[Variable]) -> Mapping[Any, Tuple[int, ...]] - added:
variable cftime
- removed:
variable T_DSorDA - changed:
function unify_chunks(*objects: T_DSorDA) -> Tuple[T_DSorDA, ...] → function unify_chunks(*objects: T_Xarray) -> Tuple[T_Xarray, ...]
- changed:
class Coordinates(Mapping[Hashable, 'DataArray']) → class Coordinates(Mapping[Any, 'DataArray']) - changed:
function assert_coordinate_consistent(obj: Union[DataArray, Dataset], coords: Mapping[Hashable, Variable]) -> None → function assert_coordinate_consistent(obj: Union[DataArray, Dataset], coords: Mapping[Any, Variable]) -> None - changed:
function remap_label_indexers(obj: Union[DataArray, Dataset], indexers: Mapping[Hashable, Any]=…, method: str=…, tolerance=…, **indexers_kwargs: Any) -> Tuple[dict, dict] → function remap_label_indexers(obj: Union[DataArray, Dataset], indexers: Mapping[Any, Any]=…, method: str=…, tolerance=…, **indexers_kwargs: Any) -> Tuple[dict, dict] - changed:
method Coordinates.update(other: Mapping[Hashable, Any]) -> None → method Coordinates.update(other: Mapping[Any, Any]) -> None
- removed:
property DataArray.attrs -> Dict[Hashable, Any] - removed:
variable T_DSorDA - removed:
variable T_DataArray - changed:
constructor DataArray(data: Any=…, coords: Union[Sequence[Tuple], Mapping[Hashable, Any], None]=…, dims: Union[Hashable, Sequence[Hashable], None]=…, name: Hashable=…, attrs: Mapping=…, indexes: Dict[Hashable, pd.Index]=…, fastpath: bool=…) → constructor DataArray(data: Any=…, coords: Union[Sequence[Tuple], Mapping[Any, Any], None]=…, dims: Union[Hashable, Sequence[Hashable], None]=…, name: Hashable=…, attrs: Mapping=…, indexes: Dict[Hashable, pd.Index]=…, fastpath: bool=…) - changed:
method DataArray.chunk(chunks: Union[int, Tuple[int, ...], Tuple[Tuple[int, ...], ...], Mapping[Hashable, Union[None, int, Tuple[int, ...]]]]=…, name_prefix: str=…, token: str=…, lock: bool=…) -> DataArray → method DataArray.chunk(chunks: Union[int, Tuple[int, ...], Tuple[Tuple[int, ...], ...], Mapping[Any, Union[None, int, Tuple[int, ...]]]]=…, name_prefix: str=…, token: str=…, lock: bool=…) -> DataArray - changed:
method DataArray.drop_sel(labels: Mapping[Hashable, Any]=…, *, errors: str=…, **labels_kwargs) -> DataArray → method DataArray.drop_sel(labels: Mapping[Any, Any]=…, *, errors: str=…, **labels_kwargs) -> DataArray - changed:
method DataArray.expand_dims(dim: Union[None, Hashable, Sequence[Hashable], Mapping[Hashable, Any]]=…, axis=…, **dim_kwargs: Any) -> DataArray → method DataArray.expand_dims(dim: Union[None, Hashable, Sequence[Hashable], Mapping[Any, Any]]=…, axis=…, **dim_kwargs: Any) -> DataArray - changed:
method DataArray.head(indexers: Union[Mapping[Hashable, int], int]=…, **indexers_kwargs: Any) -> DataArray → method DataArray.head(indexers: Union[Mapping[Any, int], int]=…, **indexers_kwargs: Any) -> DataArray - changed:
method DataArray.interp(coords: Mapping[Hashable, Any]=…, method: str=…, assume_sorted: bool=…, kwargs: Mapping[str, Any]=…, **coords_kwargs: Any) -> DataArray → method DataArray.interp(coords: Mapping[Any, Any]=…, method: str=…, assume_sorted: bool=…, kwargs: Mapping[str, Any]=…, **coords_kwargs: Any) -> DataArray - changed:
method DataArray.isel(indexers: Mapping[Hashable, Any]=…, drop: bool=…, missing_dims: str=…, **indexers_kwargs: Any) -> DataArray → method DataArray.isel(indexers: Mapping[Any, Any]=…, drop: bool=…, missing_dims: str=…, **indexers_kwargs: Any) -> DataArray - changed:
method DataArray.map_blocks(func: Callable[..., T_DSorDA], args: Sequence[Any]=…, kwargs: Mapping[str, Any]=…, template: Union[DataArray, Dataset]=…) -> T_DSorDA → method DataArray.map_blocks(func: Callable[..., T_Xarray], args: Sequence[Any]=…, kwargs: Mapping[str, Any]=…, template: Union[DataArray, Dataset]=…) -> T_Xarray - changed:
method DataArray.pad(pad_width: Mapping[Hashable, Union[int, Tuple[int, int]]]=…, mode: str=…, stat_length: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, constant_values: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, end_values: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, reflect_type: str=…, **pad_width_kwargs: Any) -> DataArray → method DataArray.pad(pad_width: Mapping[Any, Union[int, Tuple[int, int]]]=…, mode: str=…, stat_length: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, constant_values: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, end_values: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, reflect_type: str=…, **pad_width_kwargs: Any) -> DataArray - changed:
method DataArray.query(queries: Mapping[Hashable, Any]=…, parser: str=…, engine: str=…, missing_dims: str=…, **queries_kwargs: Any) -> DataArray → method DataArray.query(queries: Mapping[Any, Any]=…, parser: str=…, engine: str=…, missing_dims: str=…, **queries_kwargs: Any) -> DataArray - changed:
method DataArray.reindex(indexers: Mapping[Hashable, Any]=…, method: str=…, tolerance=…, copy: bool=…, fill_value=…, **indexers_kwargs: Any) -> DataArray → method DataArray.reindex(indexers: Mapping[Any, Any]=…, method: str=…, tolerance=…, copy: bool=…, fill_value=…, **indexers_kwargs: Any) -> DataArray - changed:
method DataArray.rename(new_name_or_name_dict: Union[Hashable, Mapping[Hashable, Hashable]]=…, **names: Hashable) -> DataArray → method DataArray.rename(new_name_or_name_dict: Union[Hashable, Mapping[Any, Hashable]]=…, **names: Hashable) -> DataArray - changed:
method DataArray.reorder_levels(dim_order: Mapping[Hashable, Sequence[int]]=…, **dim_order_kwargs: Sequence[int]) -> DataArray → method DataArray.reorder_levels(dim_order: Mapping[Any, Sequence[int]]=…, **dim_order_kwargs: Sequence[int]) -> DataArray - changed:
method DataArray.sel(indexers: Mapping[Hashable, Any]=…, method: str=…, tolerance=…, drop: bool=…, **indexers_kwargs: Any) -> DataArray → method DataArray.sel(indexers: Mapping[Any, Any]=…, method: str=…, tolerance=…, drop: bool=…, **indexers_kwargs: Any) -> DataArray - changed:
method DataArray.set_index(indexes: Mapping[Hashable, Union[Hashable, Sequence[Hashable]]]=…, append: bool=…, **indexes_kwargs: Union[Hashable, Sequence[Hashable]]) -> DataArray → method DataArray.set_index(indexes: Mapping[Any, Union[Hashable, Sequence[Hashable]]]=…, append: bool=…, **indexes_kwargs: Union[Hashable, Sequence[Hashable]]) -> DataArray - changed:
method DataArray.shift(shifts: Mapping[Hashable, int]=…, fill_value: Any=…, **shifts_kwargs: int) -> DataArray → method DataArray.shift(shifts: Mapping[Any, int]=…, fill_value: Any=…, **shifts_kwargs: int) -> DataArray - changed:
method DataArray.stack(dimensions: Mapping[Hashable, Sequence[Hashable]]=…, **dimensions_kwargs: Sequence[Hashable]) -> DataArray → method DataArray.stack(dimensions: Mapping[Any, Sequence[Hashable]]=…, **dimensions_kwargs: Sequence[Hashable]) -> DataArray - changed:
method DataArray.swap_dims(dims_dict: Mapping[Hashable, Hashable]=…, **dims_kwargs) -> DataArray → method DataArray.swap_dims(dims_dict: Mapping[Any, Hashable]=…, **dims_kwargs) -> DataArray - changed:
method DataArray.tail(indexers: Union[Mapping[Hashable, int], int]=…, **indexers_kwargs: Any) -> DataArray → method DataArray.tail(indexers: Union[Mapping[Any, int], int]=…, **indexers_kwargs: Any) -> DataArray - changed:
method DataArray.thin(indexers: Union[Mapping[Hashable, int], int]=…, **indexers_kwargs: Any) -> DataArray → method DataArray.thin(indexers: Union[Mapping[Any, int], int]=…, **indexers_kwargs: Any) -> DataArray - added:
property DataArray.attrs -> Dict[Any, Any] - added:
property DataArray.chunksizes -> Mapping[Any, Tuple[int, ...]]
- removed:
variable T_DSorDA - changed:
class DataVariables(Mapping[Hashable, 'DataArray']) → class DataVariables(Mapping[Any, 'DataArray']) - changed:
constructor Dataset(data_vars: Mapping[Hashable, Any]=…, coords: Mapping[Hashable, Any]=…, attrs: Mapping[Hashable, Any]=…) → constructor Dataset(data_vars: Mapping[Any, Any]=…, coords: Mapping[Any, Any]=…, attrs: Mapping[Any, Any]=…) - changed:
function calculate_dimensions(variables: Mapping[Hashable, Variable]) -> Dict[Hashable, int] → function calculate_dimensions(variables: Mapping[Any, Variable]) -> Dict[Hashable, int] - changed:
function merge_indexes(indexes: Mapping[Hashable, Union[Hashable, Sequence[Hashable]]], variables: Mapping[Hashable, Variable], coord_names: Set[Hashable], append: bool=…) -> Tuple[Dict[Hashable, Variable], Set[Hashable]] → function merge_indexes(indexes: Mapping[Any, Union[Hashable, Sequence[Hashable]]], variables: Mapping[Any, Variable], coord_names: Set[Hashable], append: bool=…) -> Tuple[Dict[Hashable, Variable], Set[Hashable]] - changed:
function split_indexes(dims_or_levels: Union[Hashable, Sequence[Hashable]], variables: Mapping[Hashable, Variable], coord_names: Set[Hashable], level_coords: Mapping[Hashable, Hashable], drop: bool=…) -> Tuple[Dict[Hashable, Variable], Set[Hashable]] → function split_indexes(dims_or_levels: Union[Hashable, Sequence[Hashable]], variables: Mapping[Any, Variable], coord_names: Set[Hashable], level_coords: Mapping[Any, Hashable], drop: bool=…) -> Tuple[Dict[Hashable, Variable], Set[Hashable]] - changed:
method Dataset.assign(variables: Mapping[Hashable, Any]=…, **variables_kwargs: Hashable) -> Dataset → method Dataset.assign(variables: Mapping[Any, Any]=…, **variables_kwargs: Hashable) -> Dataset - changed:
method Dataset.chunk(chunks: Union[int, str, Mapping[Hashable, Union[None, int, str, Tuple[int, ...]]]]=…, name_prefix: str=…, token: str=…, lock: bool=…) -> Dataset → method Dataset.chunk(chunks: Union[int, str, Mapping[Any, Union[None, int, str, Tuple[int, ...]]]]=…, name_prefix: str=…, token: str=…, lock: bool=…) -> Dataset - changed:
method Dataset.expand_dims(dim: Union[None, Hashable, Sequence[Hashable], Mapping[Hashable, Any]]=…, axis: Union[None, int, Sequence[int]]=…, **dim_kwargs: Any) -> Dataset → method Dataset.expand_dims(dim: Union[None, Hashable, Sequence[Hashable], Mapping[Any, Any]]=…, axis: Union[None, int, Sequence[int]]=…, **dim_kwargs: Any) -> Dataset - changed:
method Dataset.head(indexers: Union[Mapping[Hashable, int], int]=…, **indexers_kwargs: Any) -> Dataset → method Dataset.head(indexers: Union[Mapping[Any, int], int]=…, **indexers_kwargs: Any) -> Dataset - changed:
method Dataset.interp(coords: Mapping[Hashable, Any]=…, method: str=…, assume_sorted: bool=…, kwargs: Mapping[str, Any]=…, method_non_numeric: str=…, **coords_kwargs: Any) -> Dataset → method Dataset.interp(coords: Mapping[Any, Any]=…, method: str=…, assume_sorted: bool=…, kwargs: Mapping[str, Any]=…, method_non_numeric: str=…, **coords_kwargs: Any) -> Dataset - changed:
method Dataset.isel(indexers: Mapping[Hashable, Any]=…, drop: bool=…, missing_dims: str=…, **indexers_kwargs: Any) -> Dataset → method Dataset.isel(indexers: Mapping[Any, Any]=…, drop: bool=…, missing_dims: str=…, **indexers_kwargs: Any) -> Dataset - changed:
method Dataset.map_blocks(func: Callable[..., T_DSorDA], args: Sequence[Any]=…, kwargs: Mapping[str, Any]=…, template: Union[DataArray, Dataset]=…) -> T_DSorDA → method Dataset.map_blocks(func: Callable[..., T_Xarray], args: Sequence[Any]=…, kwargs: Mapping[str, Any]=…, template: Union[DataArray, Dataset]=…) -> T_Xarray - changed:
method Dataset.pad(pad_width: Mapping[Hashable, Union[int, Tuple[int, int]]]=…, mode: str=…, stat_length: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, constant_values: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, end_values: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, reflect_type: str=…, **pad_width_kwargs: Any) -> Dataset → method Dataset.pad(pad_width: Mapping[Any, Union[int, Tuple[int, int]]]=…, mode: str=…, stat_length: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, constant_values: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, end_values: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, reflect_type: str=…, **pad_width_kwargs: Any) -> Dataset - changed:
method Dataset.query(queries: Mapping[Hashable, Any]=…, parser: str=…, engine: str=…, missing_dims: str=…, **queries_kwargs: Any) -> Dataset → method Dataset.query(queries: Mapping[Any, Any]=…, parser: str=…, engine: str=…, missing_dims: str=…, **queries_kwargs: Any) -> Dataset - changed:
method Dataset.reindex(indexers: Mapping[Hashable, Any]=…, method: str=…, tolerance: Number=…, copy: bool=…, fill_value: Any=…, **indexers_kwargs: Any) -> Dataset → method Dataset.reindex(indexers: Mapping[Any, Any]=…, method: str=…, tolerance: Number=…, copy: bool=…, fill_value: Any=…, **indexers_kwargs: Any) -> Dataset - changed:
method Dataset.rename(name_dict: Mapping[Hashable, Hashable]=…, **names: Hashable) -> Dataset → method Dataset.rename(name_dict: Mapping[Any, Hashable]=…, **names: Hashable) -> Dataset - changed:
method Dataset.rename_dims(dims_dict: Mapping[Hashable, Hashable]=…, **dims: Hashable) -> Dataset → method Dataset.rename_dims(dims_dict: Mapping[Any, Hashable]=…, **dims: Hashable) -> Dataset - changed:
method Dataset.rename_vars(name_dict: Mapping[Hashable, Hashable]=…, **names: Hashable) -> Dataset → method Dataset.rename_vars(name_dict: Mapping[Any, Hashable]=…, **names: Hashable) -> Dataset - changed:
method Dataset.reorder_levels(dim_order: Mapping[Hashable, Sequence[int]]=…, **dim_order_kwargs: Sequence[int]) -> Dataset → method Dataset.reorder_levels(dim_order: Mapping[Any, Sequence[int]]=…, **dim_order_kwargs: Sequence[int]) -> Dataset - changed:
method Dataset.roll(shifts=…, roll_coords=…, **shifts_kwargs) → method Dataset.roll(shifts: Mapping[Hashable, int]=…, roll_coords: bool=…, **shifts_kwargs: int) -> Dataset - changed:
method Dataset.sel(indexers: Mapping[Hashable, Any]=…, method: str=…, tolerance: Number=…, drop: bool=…, **indexers_kwargs: Any) -> Dataset → method Dataset.sel(indexers: Mapping[Any, Any]=…, method: str=…, tolerance: Number=…, drop: bool=…, **indexers_kwargs: Any) -> Dataset - changed:
method Dataset.set_index(indexes: Mapping[Hashable, Union[Hashable, Sequence[Hashable]]]=…, append: bool=…, **indexes_kwargs: Union[Hashable, Sequence[Hashable]]) -> Dataset → method Dataset.set_index(indexes: Mapping[Any, Union[Hashable, Sequence[Hashable]]]=…, append: bool=…, **indexes_kwargs: Union[Hashable, Sequence[Hashable]]) -> Dataset - changed:
method Dataset.shift(shifts=…, fill_value=…, **shifts_kwargs) → method Dataset.shift(shifts: Mapping[Hashable, int]=…, fill_value: Any=…, **shifts_kwargs: int) -> Dataset - changed:
method Dataset.stack(dimensions: Mapping[Hashable, Sequence[Hashable]]=…, **dimensions_kwargs: Sequence[Hashable]) -> Dataset → method Dataset.stack(dimensions: Mapping[Any, Sequence[Hashable]]=…, **dimensions_kwargs: Sequence[Hashable]) -> Dataset - changed:
method Dataset.swap_dims(dims_dict: Mapping[Hashable, Hashable]=…, **dims_kwargs) -> Dataset → method Dataset.swap_dims(dims_dict: Mapping[Any, Hashable]=…, **dims_kwargs) -> Dataset - changed:
method Dataset.tail(indexers: Union[Mapping[Hashable, int], int]=…, **indexers_kwargs: Any) -> Dataset → method Dataset.tail(indexers: Union[Mapping[Any, int], int]=…, **indexers_kwargs: Any) -> Dataset - changed:
method Dataset.thin(indexers: Union[Mapping[Hashable, int], int]=…, **indexers_kwargs: Any) -> Dataset → method Dataset.thin(indexers: Union[Mapping[Any, int], int]=…, **indexers_kwargs: Any) -> Dataset - changed:
method Dataset.to_zarr(store: Union[MutableMapping, str, Path]=…, chunk_store: Union[MutableMapping, str, Path]=…, mode: str=…, synchronizer=…, group: str=…, encoding: Mapping=…, compute: bool=…, consolidated: Optional[bool]=…, append_dim: Hashable=…, region: Mapping[str, slice]=…, safe_chunks: bool=…) -> ZarrStore → method Dataset.to_zarr(store: Union[MutableMapping, str, PathLike]=…, chunk_store: Union[MutableMapping, str, PathLike]=…, mode: str=…, synchronizer=…, group: str=…, encoding: Mapping=…, compute: bool=…, consolidated: Optional[bool]=…, append_dim: Hashable=…, region: Mapping[str, slice]=…, safe_chunks: bool=…, storage_options: Dict[str, str]=…) -> ZarrStore - added:
property Dataset.chunksizes -> Mapping[Any, Tuple[int, ...]]
- removed:
variable around - removed:
variable array_all - removed:
variable array_any - removed:
variable broadcast_to - removed:
variable einsum - removed:
variable isclose - removed:
variable isin - removed:
variable isnan - removed:
variable isnat - removed:
variable pad - removed:
variable take - removed:
variable tensordot - removed:
variable transpose - removed:
variable unravel_index - removed:
variable zeros_like
- changed:
function coords_repr(coords, col_width=…) → function coords_repr(coords, col_width=…, max_rows=…)
- removed:
method DataArrayGroupBy.apply(func, shortcut=…, args=…, **kwargs) - removed:
method DataArrayGroupBy.map(func, shortcut=…, args=…, **kwargs) - removed:
method DataArrayGroupBy.reduce(func, dim=…, axis=…, keep_attrs=…, shortcut=…, **kwargs) - removed:
method DatasetGroupBy.apply(func, args=…, shortcut=…, **kwargs) - removed:
method DatasetGroupBy.assign(**kwargs) - removed:
method DatasetGroupBy.map(func, args=…, shortcut=…, **kwargs) - removed:
method DatasetGroupBy.reduce(func, dim=…, keep_attrs=…, **kwargs) - changed:
class DataArrayGroupBy(GroupBy, DataArrayGroupbyArithmetic) → class DataArrayGroupBy(DataArrayGroupByBase, DataArrayGroupByReductions) - changed:
class DatasetGroupBy(GroupBy, DatasetGroupbyArithmetic) → class DatasetGroupBy(DatasetGroupByBase, DatasetGroupByReductions) - added:
class DataArrayGroupByBase(GroupBy, DataArrayGroupbyArithmetic) - added:
class DatasetGroupByBase(GroupBy, DatasetGroupbyArithmetic) - added:
method DataArrayGroupByBase.apply(func, shortcut=…, args=…, **kwargs) - added:
method DataArrayGroupByBase.map(func, shortcut=…, args=…, **kwargs) - added:
method DataArrayGroupByBase.reduce(func, dim=…, axis=…, keep_attrs=…, shortcut=…, **kwargs) - added:
method DatasetGroupByBase.apply(func, args=…, shortcut=…, **kwargs) - added:
method DatasetGroupByBase.assign(**kwargs) - added:
method DatasetGroupByBase.map(func, args=…, shortcut=…, **kwargs) - added:
method DatasetGroupByBase.reduce(func, dim=…, keep_attrs=…, **kwargs)
- removed:
constructor Index(coord_names: Union[Hashable, Iterable[Hashable]]) - removed:
function wrap_pandas_index(index) - removed:
method PandasIndex.transpose(order) -> pd.Index - removed:
property PandasIndex.dtype -> np.dtype - removed:
property PandasIndex.shape -> Tuple[int] - changed:
class PandasIndex(Index, ExplicitlyIndexedNDArrayMixin) → class PandasIndex(Index) - changed:
constructor Indexes(indexes) → constructor Indexes(indexes: Mapping[Any, Union[pd.Index, Index]]) -> None - changed:
constructor PandasIndex(array: Any, dtype: DTypeLike=…, coord_name: Optional[Hashable]=…) → constructor PandasIndex(array: Any, dim: Hashable) - changed:
function isel_variable_and_index(name: Hashable, variable: Variable, index: Index, indexers: Mapping[Hashable, Union[int, slice, np.ndarray, Variable]]) -> Tuple[Variable, Optional[Index]] → function isel_variable_and_index(name: Hashable, variable: Variable, index: Index, indexers: Mapping[Any, Union[int, slice, np.ndarray, Variable]]) -> Tuple[Variable, Optional[Index]] - changed:
method Index.query(labels: Dict[Hashable, Any]) → method Index.query(labels: Dict[Hashable, Any]) -> Tuple[Any, Optional[Tuple[Index, IndexVars]]] - changed:
method PandasIndex.copy(deep: bool=…) -> PandasIndex → method PandasIndex.copy(deep=…) - changed:
method PandasIndex.query(labels, method=…, tolerance=…) -> Tuple[Any, Union[PandasIndex, None]] → method PandasIndex.query(labels, method=…, tolerance=…) - changed:
method PandasMultiIndex.query(labels, method=…, tolerance=…) -> Tuple[Any, Union[PandasIndex, None]] → method PandasMultiIndex.query(labels, method=…, tolerance=…) - changed:
static method Index.from_variables(variables: Dict[Hashable, Variable], **kwargs) → static method Index.from_variables(variables: Mapping[Any, Variable]) -> Tuple[Index, Optional[IndexVars]] - added:
method Index.copy(deep: bool=…) - added:
static method PandasIndex.from_pandas_index(index: pd.Index, dim: Hashable) - added:
static method PandasIndex.from_variables(variables: Mapping[Any, Variable]) - added:
static method PandasMultiIndex.from_pandas_index(index: pd.MultiIndex, dim: Hashable) - added:
static method PandasMultiIndex.from_variables(variables: Mapping[Any, Variable]) - added:
variable IndexVars
- added:
class PandasIndexingAdapter(ExplicitlyIndexedNDArrayMixin) - added:
class PandasMultiIndexingAdapter(PandasIndexingAdapter) - added:
constructor PandasIndexingAdapter(array: pd.Index, dtype: DTypeLike=…) - added:
constructor PandasMultiIndexingAdapter(array: pd.MultiIndex, dtype: DTypeLike=…, level: Optional[str]=…, adapter: Optional[PandasIndexingAdapter]=…) - added:
method PandasIndexingAdapter.copy(deep: bool=…) -> PandasIndexingAdapter - added:
method PandasIndexingAdapter.transpose(order) -> pd.Index - added:
property PandasIndexingAdapter.dtype -> np.dtype - added:
property PandasIndexingAdapter.shape -> Tuple[int]
- changed:
function merge_collected(grouped: Dict[Hashable, List[MergeElement]], prioritized: Mapping[Hashable, MergeElement]=…, compat: str=…, combine_attrs=…) -> Tuple[Dict[Hashable, Variable], Dict[Hashable, Index]] → function merge_collected(grouped: Dict[Hashable, List[MergeElement]], prioritized: Mapping[Any, MergeElement]=…, compat: str=…, combine_attrs=…) -> Tuple[Dict[Hashable, Variable], Dict[Hashable, Index]] - changed:
function merge_coordinates_without_align(objects: List[Coordinates], prioritized: Mapping[Hashable, MergeElement]=…, exclude_dims: AbstractSet=…, combine_attrs: str=…) -> Tuple[Dict[Hashable, Variable], Dict[Hashable, Index]] → function merge_coordinates_without_align(objects: List[Coordinates], prioritized: Mapping[Any, MergeElement]=…, exclude_dims: AbstractSet=…, combine_attrs: str=…) -> Tuple[Dict[Hashable, Variable], Dict[Hashable, Index]] - changed:
function merge_coords(objects: Iterable[CoercibleMapping], compat: str=…, join: str=…, priority_arg: Optional[int]=…, indexes: Optional[Mapping[Hashable, Index]]=…, fill_value: object=…) -> Tuple[Dict[Hashable, Variable], Dict[Hashable, Index]] → function merge_coords(objects: Iterable[CoercibleMapping], compat: str=…, join: str=…, priority_arg: Optional[int]=…, indexes: Optional[Mapping[Any, Index]]=…, fill_value: object=…) -> Tuple[Dict[Hashable, Variable], Dict[Hashable, Index]] - changed:
function merge_core(objects: Iterable[CoercibleMapping], compat: str=…, join: str=…, combine_attrs: Optional[str]=…, priority_arg: Optional[int]=…, explicit_coords: Optional[Sequence]=…, indexes: Optional[Mapping[Hashable, Index]]=…, fill_value: object=…) -> _MergeResult → function merge_core(objects: Iterable[CoercibleMapping], compat: str=…, join: str=…, combine_attrs: Optional[str]=…, priority_arg: Optional[int]=…, explicit_coords: Optional[Sequence]=…, indexes: Optional[Mapping[Any, Any]]=…, fill_value: object=…) -> _MergeResult
- removed:
variable HAVE_PROTOCOL
- removed:
variable ARITHMETIC_JOIN - removed:
variable CMAP_DIVERGENT - removed:
variable CMAP_SEQUENTIAL - removed:
variable DISPLAY_EXPAND_ATTRS - removed:
variable DISPLAY_EXPAND_COORDS - removed:
variable DISPLAY_EXPAND_DATA - removed:
variable DISPLAY_EXPAND_DATA_VARS - removed:
variable DISPLAY_MAX_ROWS - removed:
variable DISPLAY_STYLE - removed:
variable DISPLAY_WIDTH - removed:
variable ENABLE_CFTIMEINDEX - removed:
variable FILE_CACHE_MAXSIZE - removed:
variable KEEP_ATTRS - removed:
variable WARN_FOR_UNCLOSED_FILES - changed:
variable OPTIONS → variable OPTIONS: T_Options - added:
class T_Options(TypedDict) - added:
field T_Options.arithmetic_join: Literal['inner', 'outer', 'left', 'right', 'exact'] - added:
field T_Options.cmap_divergent: Union[str, Colormap] - added:
field T_Options.cmap_sequential: Union[str, Colormap] - added:
field T_Options.display_expand_attrs: Literal['default', True, False] - added:
field T_Options.display_expand_coords: Literal['default', True, False] - added:
field T_Options.display_expand_data: Literal['default', True, False] - added:
field T_Options.display_expand_data_vars: Literal['default', True, False] - added:
field T_Options.display_max_rows: int - added:
field T_Options.display_style: Literal['text', 'html'] - added:
field T_Options.display_width: int - added:
field T_Options.enable_cftimeindex: bool - added:
field T_Options.file_cache_maxsize: int - added:
field T_Options.keep_attrs: Literal['default', True, False] - added:
field T_Options.use_bottleneck: bool - added:
field T_Options.warn_for_unclosed_files: bool - added:
function get_options() - added:
variable Colormap
- removed:
variable T_DSorDA - changed:
function infer_template(func: Callable[..., T_DSorDA], obj: Union[DataArray, Dataset], *args, **kwargs) -> T_DSorDA → function infer_template(func: Callable[..., T_Xarray], obj: Union[DataArray, Dataset], *args, **kwargs) -> T_Xarray - changed:
function map_blocks(func: Callable[..., T_DSorDA], obj: Union[DataArray, Dataset], args: Sequence[Any]=…, kwargs: Mapping[str, Any]=…, template: Union[DataArray, Dataset]=…) -> T_DSorDA → function map_blocks(func: Callable[..., T_Xarray], obj: Union[DataArray, Dataset], args: Sequence[Any]=…, kwargs: Mapping[str, Any]=…, template: Union[DataArray, Dataset]=…) -> T_Xarray
- added:
function is_dask_collection(x)
- changed:
class DataArrayResample(DataArrayGroupBy, Resample) → class DataArrayResample(DataArrayResampleReductions, DataArrayGroupByBase, Resample) - changed:
class DatasetResample(DatasetGroupBy, Resample) → class DatasetResample(DatasetResampleReductions, DatasetGroupByBase, Resample)
- removed:
variable T_DSorDA - changed:
class RollingExp(Generic[T_DSorDA]) → class RollingExp(Generic[T_Xarray]) - changed:
constructor RollingExp(obj: T_DSorDA, windows: Mapping[Hashable, Union[int, float]], window_type: str=…) → constructor RollingExp(obj: T_Xarray, windows: Mapping[Any, Union[int, float]], window_type: str=…) - changed:
method RollingExp.mean(keep_attrs: bool=…) -> T_DSorDA → method RollingExp.mean(keep_attrs: bool=…) -> T_Xarray - changed:
method RollingExp.sum(keep_attrs: bool=…) -> T_DSorDA → method RollingExp.sum(keep_attrs: bool=…) -> T_Xarray
- added:
variable DaCompatible - added:
variable DaskArray - added:
variable DsCompatible - added:
variable GroupByIncompatible - added:
variable ScalarOrArray - added:
variable T_DataArray - added:
variable T_DataWithCoords - added:
variable T_Dataset - added:
variable T_Variable - added:
variable T_Xarray - added:
variable VarCompatible
- changed:
function drop_dims_from_indexers(indexers: Mapping[Hashable, Any], dims: Union[list, Mapping[Hashable, int]], missing_dims: str) -> Mapping[Hashable, Any] → function drop_dims_from_indexers(indexers: Mapping[Any, Any], dims: Union[list, Mapping[Any, int]], missing_dims: str) -> Mapping[Hashable, Any] - changed:
function either_dict_or_kwargs(pos_kwargs: Optional[Mapping[Hashable, T]], kw_kwargs: Mapping[str, T], func_name: str) -> Mapping[Hashable, T] → function either_dict_or_kwargs(pos_kwargs: Optional[Mapping[Any, T]], kw_kwargs: Mapping[str, T], func_name: str) -> Mapping[Hashable, T]
- removed:
property Variable.chunks - removed:
variable VariableType - changed:
method Variable.as_numpy() -> VariableType → method Variable.as_numpy() -> T_Variable - changed:
method Variable.astype(dtype, *, order=…, casting=…, subok=…, copy=…, keep_attrs=…) -> VariableType → method Variable.astype(dtype, *, order=…, casting=…, subok=…, copy=…, keep_attrs=…) -> T_Variable - changed:
method Variable.isel(indexers: Mapping[Hashable, Any]=…, missing_dims: str=…, **indexers_kwargs: Any) -> VariableType → method Variable.isel(indexers: Mapping[Any, Any]=…, missing_dims: str=…, **indexers_kwargs: Any) -> T_Variable - changed:
method Variable.pad(pad_width: Mapping[Hashable, Union[int, Tuple[int, int]]]=…, mode: str=…, stat_length: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, constant_values: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, end_values: Union[int, Tuple[int, int], Mapping[Hashable, Tuple[int, int]]]=…, reflect_type: str=…, **pad_width_kwargs: Any) → method Variable.pad(pad_width: Mapping[Any, Union[int, Tuple[int, int]]]=…, mode: str=…, stat_length: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, constant_values: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, end_values: Union[int, Tuple[int, int], Mapping[Any, Tuple[int, int]]]=…, reflect_type: str=…, **pad_width_kwargs: Any) - added:
property Variable.chunks -> Optional[Tuple[Tuple[int, ...], ...]] - added:
property Variable.chunksizes -> Mapping[Any, Tuple[int, ...]]
- removed:
variable T_DataWithCoords - changed:
class Weighted(Generic[T_DataWithCoords]) → class Weighted(Generic[T_Xarray]) - changed:
constructor Weighted(obj: T_DataWithCoords, weights: DataArray) → constructor Weighted(obj: T_Xarray, weights: DataArray) - changed:
method Weighted.mean(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_DataWithCoords → method Weighted.mean(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_Xarray - changed:
method Weighted.sum(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_DataWithCoords → method Weighted.sum(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_Xarray - changed:
method Weighted.sum_of_weights(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, keep_attrs: Optional[bool]=…) -> T_DataWithCoords → method Weighted.sum_of_weights(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, keep_attrs: Optional[bool]=…) -> T_Xarray - added:
method Weighted.std(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_Xarray - added:
method Weighted.sum_of_squares(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_Xarray - added:
method Weighted.var(dim: Optional[Union[Hashable, Iterable[Hashable]]]=…, skipna: Optional[bool]=…, keep_attrs: Optional[bool]=…) -> T_Xarray
- added:
variable cftime - added:
variable plt
- added:
function generate_groupby_example(obj: str, cls: str, method: str) - added:
function generate_method(obj: str, docref: str, method: str, skipna: bool, example_generator: Callable, array_method: Optional[str]=…) - added:
function render(obj: str, cls: str, docref: str, example_generator: Callable) - added:
variable BOOL_REDUCE_METHODS - added:
variable CLASS_PREAMBLE - added:
variable MIN_COUNT_METHODS - added:
variable MODULE_PREAMBLE - added:
variable NAN_CUM_METHODS - added:
variable NAN_REDUCE_METHODS - added:
variable NUMERIC_ONLY_METHODS - added:
variable OBJ_PREAMBLE - added:
variable TEMPLATE_REDUCTION