Skip to content

Upgrading xarray 0.19 to 0.20

Review needed0.19.0 → 0.20.2New3Changed2Fixed2Other2

Review neededUpgrade verdict

2 behavior changes.

  • Unstacking data into a sparse array is now faster.
  • Unstacking is now much faster.
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.

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