Skip to content

Upgrading xarray 0.9 to 0.10

Breaking0.9.6 → 0.10.9Breaking1New3Changed2Fixed1

BreakingUpgrade verdict

1 breaking change.

  • If you call NumPy ufunc methods on xarray objects, results may differ from before.
1 item needs code or config changes
Breaking1
Applying NumPy ufunc methods to xarray objects is a possibly backwards incompatible change.

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • added: export CFTimeIndex
  • added: export SerializationWarning
  • added: export apply_ufunc
  • added: export cftime_range
  • added: export dot
  • added: export get_versions
  • added: export open_zarr
  • added: export show_versions
  • added: export where
  • added: export PseudoNetCDFDataStore
  • added: export ZarrStore
  • changed: function open_dataarray(*args, **kwargs) → function open_dataarray(filename_or_obj, group=…, decode_cf=…, mask_and_scale=…, decode_times=…, autoclose=…, concat_characters=…, decode_coords=…, engine=…, chunks=…, lock=…, cache=…, drop_variables=…, backend_kwargs=…)
  • changed: function open_dataset(filename_or_obj, group=…, decode_cf=…, mask_and_scale=…, decode_times=…, autoclose=…, concat_characters=…, decode_coords=…, engine=…, chunks=…, lock=…, cache=…, drop_variables=…) → function open_dataset(filename_or_obj, group=…, decode_cf=…, mask_and_scale=…, decode_times=…, autoclose=…, concat_characters=…, decode_coords=…, engine=…, chunks=…, lock=…, cache=…, drop_variables=…, backend_kwargs=…)
  • changed: function open_mfdataset(paths, chunks=…, concat_dim=…, compat=…, preprocess=…, engine=…, lock=…, **kwargs) → function open_mfdataset(paths, chunks=…, concat_dim=…, compat=…, preprocess=…, engine=…, lock=…, data_vars=…, coords=…, autoclose=…, parallel=…, **kwargs)
  • changed: function save_mfdataset(datasets, paths, mode=…, format=…, groups=…, engine=…) → function save_mfdataset(datasets, paths, mode=…, format=…, groups=…, engine=…, compute=…)
  • changed: function to_netcdf(dataset, path_or_file=…, mode=…, format=…, group=…, engine=…, writer=…, encoding=…, unlimited_dims=…) → function to_netcdf(dataset, path_or_file=…, mode=…, format=…, group=…, engine=…, writer=…, encoding=…, unlimited_dims=…, compute=…)
  • added: function to_zarr(dataset, store=…, mode=…, synchronizer=…, group=…, encoding=…, compute=…)
  • removed: method AbstractWritableDataStore.set_necessary_dimensions(variable, unlimited_dims=…)
  • removed: method WritableCFDataStore.store(variables, attributes, *args, **kwargs)
  • removed: variable GLOBAL_LOCK
  • changed: constructor AbstractWritableDataStore(writer=…) → constructor AbstractWritableDataStore(writer=…, lock=…)
  • changed: constructor ArrayWriter() → constructor ArrayWriter(lock=…)
  • changed: method AbstractWritableDataStore.sync() → method AbstractWritableDataStore.sync(compute=…)
  • changed: method ArrayWriter.sync() → method ArrayWriter.sync(compute=…)
  • changed: method DataStorePickleMixin.ensure_open(autoclose) → method DataStorePickleMixin.ensure_open(autoclose=…)
  • added: class BackendArray(NdimSizeLenMixin, indexing.ExplicitlyIndexed)
  • added: class CombinedLock(object)
  • added: class PickleByReconstructionWrapper(object)
  • added: constructor CombinedLock(locks)
  • added: constructor PickleByReconstructionWrapper(opener, file, mode=…, **kwargs)
  • added: method AbstractDataStore.get_dimensions()
  • added: method AbstractWritableDataStore.encode(variables, attributes)
  • added: method AbstractWritableDataStore.encode_attribute(a)
  • added: method AbstractWritableDataStore.encode_variable(v)
  • added: method AbstractWritableDataStore.set_dimensions(variables, unlimited_dims=…)
  • added: method CombinedLock.acquire(*args)
  • added: method CombinedLock.release(*args)
  • added: method PickleByReconstructionWrapper.close()
  • added: method WritableCFDataStore.encode(variables, attributes)
  • added: property CombinedLock.locked
  • added: property DataStorePickleMixin.ds
  • added: property PickleByReconstructionWrapper.value
  • added: variable HDF5_LOCK
  • changed: constructor H5NetCDFStore(filename, mode=…, format=…, group=…, writer=…, autoclose=…) → constructor H5NetCDFStore(filename, mode=…, format=…, group=…, writer=…, autoclose=…, lock=…)
  • changed: method H5NetCDFStore.set_dimension(name, length) → method H5NetCDFStore.set_dimension(name, length, is_unlimited=…)
  • changed: method H5NetCDFStore.sync() → method H5NetCDFStore.sync(compute=…)
  • added: method H5NetCDFStore.encode_variable(variable)
  • added: method H5NetCDFStore.get_encoding()
  • changed: method InMemoryDataStore.set_dimension(d, l) → method InMemoryDataStore.set_dimension(d, l, unlimited_dims=…)
  • added: method InMemoryDataStore.get_dimensions()
  • changed: class BaseNetCDF4Array(NdimSizeLenMixin, DunderArrayMixin) → class BaseNetCDF4Array(BackendArray)
  • changed: constructor NetCDF4DataStore(filename, mode=…, format=…, group=…, writer=…, clobber=…, diskless=…, persist=…, autoclose=…) → constructor NetCDF4DataStore(netcdf4_dataset, mode=…, writer=…, opener=…, autoclose=…, lock=…)
  • changed: method NetCDF4DataStore.set_dimension(name, length) → method NetCDF4DataStore.set_dimension(name, length, is_unlimited=…)
  • changed: method NetCDF4DataStore.sync() → method NetCDF4DataStore.sync(compute=…)
  • added: method NetCDF4DataStore.encode_variable(variable)
  • added: static method NetCDF4DataStore.open(filename, mode=…, format=…, group=…, writer=…, clobber=…, diskless=…, persist=…, autoclose=…, lock=…)
  • removed: function maybe_convert_to_char_array(data, dims)
  • added: variable STRING_ENCODING
  • added: class PncArrayWrapper(BackendArray)
  • added: class PseudoNetCDFDataStore(AbstractDataStore, DataStorePickleMixin)
  • added: constructor PncArrayWrapper(variable_name, datastore)
  • added: constructor PseudoNetCDFDataStore(pnc_dataset, mode=…, writer=…, opener=…, autoclose=…)
  • added: method PncArrayWrapper.get_array()
  • added: method PseudoNetCDFDataStore.close()
  • added: method PseudoNetCDFDataStore.get_attrs()
  • added: method PseudoNetCDFDataStore.get_dimensions()
  • added: method PseudoNetCDFDataStore.get_encoding()
  • added: method PseudoNetCDFDataStore.get_variables()
  • added: method PseudoNetCDFDataStore.open_store_variable(name, var)
  • added: static method PseudoNetCDFDataStore.open(filename, format=…, writer=…, autoclose=…, **format_kwds)
  • changed: class PydapArrayWrapper(NDArrayMixin) → class PydapArrayWrapper(BackendArray)
  • changed: constructor PydapDataStore(url) → constructor PydapDataStore(ds)
  • added: property PydapArrayWrapper.shape
  • added: static method PydapDataStore.open(url, session=…)
  • changed: class NioArrayWrapper(NdimSizeLenMixin, DunderArrayMixin) → class NioArrayWrapper(BackendArray)
  • changed: class RasterioArrayWrapper(NdimSizeLenMixin, DunderArrayMixin) → class RasterioArrayWrapper(BackendArray)
  • changed: constructor RasterioArrayWrapper(rasterio_ds) → constructor RasterioArrayWrapper(riods)
  • changed: function open_rasterio(filename, chunks=…, cache=…, lock=…) → function open_rasterio(filename, parse_coordinates=…, chunks=…, cache=…, lock=…)
  • changed: class ScipyArrayWrapper(NdimSizeLenMixin, DunderArrayMixin) → class ScipyArrayWrapper(BackendArray)
  • changed: constructor ScipyDataStore(filename_or_obj, mode=…, format=…, group=…, writer=…, mmap=…, autoclose=…) → constructor ScipyDataStore(filename_or_obj, mode=…, format=…, group=…, writer=…, mmap=…, autoclose=…, lock=…)
  • changed: method ScipyDataStore.set_dimension(name, length) → method ScipyDataStore.set_dimension(name, length, is_unlimited=…)
  • changed: method ScipyDataStore.sync() → method ScipyDataStore.sync(compute=…)
  • added: method ScipyDataStore.encode_variable(variable)
  • added: class ZarrArrayWrapper(BackendArray)
  • added: class ZarrStore(AbstractWritableDataStore)
  • added: constructor ZarrArrayWrapper(variable_name, datastore)
  • added: constructor ZarrStore(zarr_group, writer=…)
  • added: function encode_zarr_variable(var, needs_copy=…, name=…)
  • added: function open_zarr(store, group=…, synchronizer=…, auto_chunk=…, decode_cf=…, mask_and_scale=…, decode_times=…, concat_characters=…, decode_coords=…, drop_variables=…)
  • added: method ZarrArrayWrapper.get_array()
  • added: method ZarrStore.encode_attribute(a)
  • added: method ZarrStore.encode_variable(variable)
  • added: method ZarrStore.get_attrs()
  • added: method ZarrStore.get_dimensions()
  • added: method ZarrStore.get_variables()
  • added: method ZarrStore.open_store_variable(name, zarr_array)
  • added: method ZarrStore.prepare_variable(name, variable, check_encoding=…, unlimited_dims=…)
  • added: method ZarrStore.set_attributes(attributes)
  • added: method ZarrStore.set_dimensions(variables, unlimited_dims=…)
  • added: method ZarrStore.store(variables, attributes, *args, **kwargs)
  • added: method ZarrStore.sync(compute=…)
  • added: static method ZarrStore.open_group(store, mode=…, synchronizer=…, group=…, writer=…)
  • added: class BaseCFTimeOffset(object)
  • added: class Day(BaseCFTimeOffset)
  • added: class Hour(BaseCFTimeOffset)
  • added: class Minute(BaseCFTimeOffset)
  • added: class MonthBegin(BaseCFTimeOffset)
  • added: class MonthEnd(BaseCFTimeOffset)
  • added: class Second(BaseCFTimeOffset)
  • added: class YearBegin(YearOffset)
  • added: class YearEnd(YearOffset)
  • added: class YearOffset(BaseCFTimeOffset)
  • added: constructor BaseCFTimeOffset(n=…)
  • added: constructor YearOffset(n=…, month=…)
  • added: function cftime_range(start=…, end=…, periods=…, freq=…, tz=…, normalize=…, name=…, closed=…, calendar=…)
  • added: function get_date_type(calendar)
  • added: function normalize_date(date)
  • added: function to_cftime_datetime(date_str_or_date, calendar=…)
  • added: function to_offset(freq)
  • added: method BaseCFTimeOffset.onOffset(date)
  • added: method BaseCFTimeOffset.rollback(date)
  • added: method BaseCFTimeOffset.rollforward(date)
  • added: method BaseCFTimeOffset.rule_code()
  • added: method MonthBegin.onOffset(date)
  • added: method MonthEnd.onOffset(date)
  • added: method YearBegin.onOffset(date)
  • added: method YearBegin.rollback(date)
  • added: method YearBegin.rollforward(date)
  • added: method YearEnd.onOffset(date)
  • added: method YearEnd.rollback(date)
  • added: method YearEnd.rollforward(date)
  • added: method YearOffset.rule_code()
  • added: class CFTimeIndex(pd.Index)
  • added: field CFTimeIndex.date_type
  • added: field CFTimeIndex.day
  • added: field CFTimeIndex.hour
  • added: field CFTimeIndex.microsecond
  • added: field CFTimeIndex.minute
  • added: field CFTimeIndex.month
  • added: field CFTimeIndex.second
  • added: field CFTimeIndex.year
  • added: function assert_all_valid_date_type(data)
  • added: function build_pattern(date_sep=…, datetime_sep=…, time_sep=…)
  • added: function get_date_field(datetimes, field)
  • added: function get_date_type(self)
  • added: function named(name, pattern)
  • added: function optional(x)
  • added: function parse_iso8601(datetime_string)
  • added: function trailing_optional(xs)
  • added: method CFTimeIndex.contains(key)
  • added: method CFTimeIndex.get_loc(key, method=…, tolerance=…)
  • added: method CFTimeIndex.get_value(series, key)
  • added: class CharacterArrayCoder(VariableCoder)
  • added: class EncodedStringCoder(VariableCoder)
  • added: class StackedBytesArray(indexing.ExplicitlyIndexedNDArrayMixin)
  • added: constructor EncodedStringCoder(allows_unicode=…)
  • added: constructor StackedBytesArray(array)
  • added: function bytes_to_char(arr)
  • added: function char_to_bytes(arr)
  • added: function check_vlen_dtype(dtype)
  • added: function create_vlen_dtype(element_type)
  • added: function decode_bytes_array(bytes_array, encoding=…)
  • added: function encode_string_array(string_array, encoding=…)
  • added: function ensure_fixed_length_bytes(var)
  • added: function is_bytes_dtype(dtype)
  • added: function is_unicode_dtype(dtype)
  • added: method CharacterArrayCoder.decode(variable, name=…)
  • added: method CharacterArrayCoder.encode(variable, name=…)
  • added: method EncodedStringCoder.decode(variable, name=…)
  • added: method EncodedStringCoder.encode(variable, name=…)
  • added: property StackedBytesArray.dtype
  • added: property StackedBytesArray.shape
  • added: class CFDatetimeCoder(VariableCoder)
  • added: class CFTimedeltaCoder(VariableCoder)
  • added: function cast_to_int_if_safe(num)
  • added: function cftime_to_nptime(times)
  • added: function decode_cf_datetime(num_dates, units, calendar=…, enable_cftimeindex=…)
  • added: function decode_cf_timedelta(num_timedeltas, units)
  • added: function encode_cf_datetime(dates, units=…, calendar=…)
  • added: function encode_cf_timedelta(timedeltas, units=…)
  • added: function format_cftime_datetime(date)
  • added: function infer_calendar_name(dates)
  • added: function infer_datetime_units(dates)
  • added: function infer_timedelta_units(deltas)
  • added: method CFDatetimeCoder.decode(variable, name=…)
  • added: method CFDatetimeCoder.encode(variable, name=…)
  • added: method CFTimedeltaCoder.decode(variable, name=…)
  • added: method CFTimedeltaCoder.encode(variable, name=…)
  • added: variable TIME_UNITS
  • added: class CFMaskCoder(VariableCoder)
  • added: class CFScaleOffsetCoder(VariableCoder)
  • added: class SerializationWarning(RuntimeWarning)
  • added: class UnsignedIntegerCoder(VariableCoder)
  • added: class VariableCoder(object)
  • added: function lazy_elemwise_func(array, func, dtype)
  • added: function pop_to(source, dest, key, name=…)
  • added: function safe_setitem(dest, key, value, name=…)
  • added: function unpack_for_decoding(var)
  • added: function unpack_for_encoding(var)
  • added: method CFMaskCoder.decode(variable, name=…)
  • added: method CFMaskCoder.encode(variable, name=…)
  • added: method CFScaleOffsetCoder.decode(variable, name=…)
  • added: method CFScaleOffsetCoder.encode(variable, name=…)
  • added: method UnsignedIntegerCoder.decode(variable, name=…)
  • added: method UnsignedIntegerCoder.encode(variable, name=…)
  • added: method VariableCoder.decode(variable, name=…)
  • added: method VariableCoder.encode(variable, name=…)
  • removed: class CharToStringArray(utils.NDArrayMixin)
  • removed: class DecodedCFDatetimeArray(utils.NDArrayMixin)
  • removed: class DecodedCFTimedeltaArray(utils.NDArrayMixin)
  • removed: class MaskedAndScaledArray(utils.NDArrayMixin)
  • removed: constructor CharToStringArray(array)
  • removed: constructor DecodedCFDatetimeArray(array, units, calendar=…)
  • removed: constructor DecodedCFTimedeltaArray(array, units)
  • removed: constructor MaskedAndScaledArray(array, fill_value=…, scale_factor=…, add_offset=…, dtype=…)
  • removed: function cast_to_int_if_safe(num)
  • removed: function char_to_string(arr)
  • removed: function decode_cf_datetime(num_dates, units, calendar=…)
  • removed: function decode_cf_timedelta(num_timedeltas, units)
  • removed: function encode_cf_datetime(dates, units=…, calendar=…)
  • removed: function encode_cf_timedelta(timedeltas, units=…)
  • removed: function infer_datetime_units(dates)
  • removed: function infer_timedelta_units(deltas)
  • removed: function mask_and_scale(array, fill_value=…, scale_factor=…, add_offset=…, dtype=…)
  • removed: function maybe_encode_datetime(var)
  • removed: function maybe_encode_dtype(var, name=…)
  • removed: function maybe_encode_fill_value(var, needs_copy=…)
  • removed: function maybe_encode_offset_and_scale(var, needs_copy=…)
  • removed: function maybe_encode_timedelta(var)
  • removed: function nctime_to_nptime(times)
  • removed: function pop_to(source, dest, key, default=…)
  • removed: function safe_setitem(dest, key, value)
  • removed: function string_to_char(arr)
  • removed: property CharToStringArray.dtype
  • removed: property CharToStringArray.shape
  • removed: property DecodedCFDatetimeArray.dtype
  • removed: property DecodedCFTimedeltaArray.dtype
  • removed: property MaskedAndScaledArray.dtype
  • removed: variable TIME_UNITS
  • changed: class BoolTypeArray(utils.NDArrayMixin) → class BoolTypeArray(indexing.ExplicitlyIndexedNDArrayMixin)
  • changed: class NativeEndiannessArray(utils.NDArrayMixin) → class NativeEndiannessArray(indexing.ExplicitlyIndexedNDArrayMixin)
  • changed: function decode_cf_variable(var, concat_characters=…, mask_and_scale=…, decode_times=…, decode_endianness=…) → function decode_cf_variable(name, var, concat_characters=…, mask_and_scale=…, decode_times=…, decode_endianness=…, stack_char_dim=…)
  • changed: function ensure_dtype_not_object(var) → function ensure_dtype_not_object(var, name=…)
  • added: function ensure_not_multiindex(var, name=…)
  • added: function maybe_encode_nonstring_dtype(var, name=…)
  • removed: variable ignored_attrs
  • changed: function to_cdms2(dataarray) → function to_cdms2(dataarray, copy=…)
  • added: function encode(var)
  • added: function from_iris(cube)
  • added: function to_iris(dataarray)
  • added: variable cdms2_ignored_attrs
  • added: variable cell_methods_strings
  • added: variable iris_forbidden_keys
  • added: method DatetimeAccessor.ceil(freq)
  • added: method DatetimeAccessor.floor(freq)
  • added: method DatetimeAccessor.round(freq)
  • added: class SupportsArithmetic(object)
  • changed: function auto_combine(datasets, concat_dim=…, compat=…) → function auto_combine(datasets, concat_dim=…, compat=…, data_vars=…, coords=…)
  • removed: class BaseDataObject(AttrAccessMixin)
  • removed: function is_datetime_like(dtype)
  • removed: method BaseDataObject.assign_attrs(*args, **kwargs)
  • removed: method BaseDataObject.assign_coords(**kwargs)
  • removed: method BaseDataObject.close()
  • removed: method BaseDataObject.get_index(key)
  • removed: method BaseDataObject.groupby(group, squeeze=…)
  • removed: method BaseDataObject.groupby_bins(group, bins, right=…, labels=…, precision=…, include_lowest=…, squeeze=…)
  • removed: method BaseDataObject.pipe(func, *args, **kwargs)
  • removed: method BaseDataObject.resample(freq, dim, how=…, skipna=…, closed=…, label=…, base=…, keep_attrs=…)
  • removed: method BaseDataObject.rolling(min_periods=…, center=…, **windows)
  • removed: method BaseDataObject.squeeze(dim=…, drop=…)
  • removed: method BaseDataObject.where(cond, other=…, drop=…)
  • changed: function get_squeeze_dims(xarray_obj, dim) → function get_squeeze_dims(xarray_obj, dim, axis=…)
  • added: class DataWithCoords(SupportsArithmetic, AttrAccessMixin)
  • added: function contains_cftime_datetimes(var)
  • added: function is_np_datetime_like(dtype)
  • added: method DataWithCoords.assign_attrs(*args, **kwargs)
  • added: method DataWithCoords.assign_coords(**kwargs)
  • added: method DataWithCoords.close()
  • added: method DataWithCoords.get_index(key)
  • added: method DataWithCoords.groupby(group, squeeze=…)
  • added: method DataWithCoords.groupby_bins(group, bins, right=…, labels=…, precision=…, include_lowest=…, squeeze=…)
  • added: method DataWithCoords.isin(test_elements)
  • added: method DataWithCoords.pipe(func, *args, **kwargs)
  • added: method DataWithCoords.resample(freq=…, dim=…, how=…, skipna=…, closed=…, label=…, base=…, keep_attrs=…, **indexer)
  • added: method DataWithCoords.rolling(dim=…, min_periods=…, center=…, **dim_kwargs)
  • added: method DataWithCoords.squeeze(dim=…, drop=…, axis=…)
  • added: method DataWithCoords.where(cond, other=…, drop=…)
  • added: function assert_and_return_exact_match(all_keys)
  • added: function dot(*arrays, **kwargs)
  • added: function where(cond, x, y)
  • added: function assert_coordinate_consistent(obj, coords)
  • added: function remap_label_indexers(obj, indexers=…, method=…, tolerance=…, **indexers_kwargs)
  • added: function gradient(f, *varargs, **kwargs)
  • added: function isin(element, test_elements, assume_unique=…, invert=…)
  • added: function validate_axis(axis, ndim)
  • added: variable AxisError
  • added: variable gradient
  • added: function dask_rolling_wrapper(moving_func, a, window, min_count=…, axis=…)
  • added: function rolling_window(a, axis, window, center, fill_value)
  • added: variable overlap
  • added: variable trim_internal
  • changed: class DataArray(AbstractArray, BaseDataObject) → class DataArray(AbstractArray, DataWithCoords)
  • changed: method DataArray.compute() → method DataArray.compute(**kwargs)
  • changed: method DataArray.copy(deep=…) → method DataArray.copy(deep=…, data=…)
  • changed: method DataArray.dot(other) → method DataArray.dot(other, dims=…)
  • changed: method DataArray.isel(drop=…, **indexers) → method DataArray.isel(indexers=…, drop=…, **indexers_kwargs)
  • changed: method DataArray.load() → method DataArray.load(**kwargs)
  • changed: method DataArray.persist() → method DataArray.persist(**kwargs)
  • changed: method DataArray.reindex(method=…, tolerance=…, copy=…, **indexers) → method DataArray.reindex(indexers=…, method=…, tolerance=…, copy=…, **indexers_kwargs)
  • changed: method DataArray.rename(new_name_or_name_dict) → method DataArray.rename(new_name_or_name_dict=…, **names)
  • changed: method DataArray.reorder_levels(inplace=…, **dim_order) → method DataArray.reorder_levels(dim_order=…, inplace=…, **dim_order_kwargs)
  • changed: method DataArray.roll(**shifts) → method DataArray.roll(shifts=…, roll_coords=…, **shifts_kwargs)
  • changed: method DataArray.sel(method=…, tolerance=…, drop=…, **indexers) → method DataArray.sel(indexers=…, method=…, tolerance=…, drop=…, **indexers_kwargs)
  • changed: method DataArray.set_index(append=…, inplace=…, **indexes) → method DataArray.set_index(indexes=…, append=…, inplace=…, **indexes_kwargs)
  • changed: method DataArray.shift(**shifts) → method DataArray.shift(shifts=…, **shifts_kwargs)
  • changed: method DataArray.stack(**dimensions) → method DataArray.stack(dimensions=…, **dimensions_kwargs)
  • changed: method DataArray.unstack(dim) → method DataArray.unstack(dim=…)
  • added: method DataArray.bfill(dim, limit=…)
  • added: method DataArray.differentiate(coord, edge_order=…, datetime_unit=…)
  • added: method DataArray.ffill(dim, limit=…)
  • added: method DataArray.interp(coords=…, method=…, assume_sorted=…, kwargs=…, **coords_kwargs)
  • added: method DataArray.interp_like(other, method=…, assume_sorted=…, kwargs=…)
  • added: method DataArray.interpolate_na(dim=…, method=…, limit=…, use_coordinate=…, **kwargs)
  • added: method DataArray.rank(dim, pct=…, keep_attrs=…)
  • added: method DataArray.to_iris()
  • added: static method DataArray.from_iris(cube)
  • changed: class Dataset(Mapping, ImplementsDatasetReduce, BaseDataObject, formatting.ReprMixin) → class Dataset(Mapping, ImplementsDatasetReduce, DataWithCoords, formatting.ReprMixin)
  • changed: method Dataset.assign(**kwargs) → method Dataset.assign(variables=…, **variables_kwargs)
  • changed: method Dataset.compute() → method Dataset.compute(**kwargs)
  • changed: method Dataset.copy(deep=…) → method Dataset.copy(deep=…, data=…)
  • changed: method Dataset.dump_to_store(store, encoder=…, sync=…, encoding=…, unlimited_dims=…) → method Dataset.dump_to_store(store, encoder=…, sync=…, encoding=…, unlimited_dims=…, compute=…)
  • changed: method Dataset.isel(drop=…, **indexers) → method Dataset.isel(indexers=…, drop=…, **indexers_kwargs)
  • changed: method Dataset.load() → method Dataset.load(**kwargs)
  • changed: method Dataset.persist() → method Dataset.persist(**kwargs)
  • changed: method Dataset.reindex(indexers=…, method=…, tolerance=…, copy=…, **kw_indexers) → method Dataset.reindex(indexers=…, method=…, tolerance=…, copy=…, **indexers_kwargs)
  • changed: method Dataset.rename(name_dict, inplace=…) → method Dataset.rename(name_dict=…, inplace=…, **names)
  • changed: method Dataset.reorder_levels(inplace=…, **dim_order) → method Dataset.reorder_levels(dim_order=…, inplace=…, **dim_order_kwargs)
  • changed: method Dataset.roll(**shifts) → method Dataset.roll(shifts=…, roll_coords=…, **shifts_kwargs)
  • changed: method Dataset.sel(method=…, tolerance=…, drop=…, **indexers) → method Dataset.sel(indexers=…, method=…, tolerance=…, drop=…, **indexers_kwargs)
  • changed: method Dataset.set_index(append=…, inplace=…, **indexes) → method Dataset.set_index(indexes=…, append=…, inplace=…, **indexes_kwargs)
  • changed: method Dataset.shift(**shifts) → method Dataset.shift(shifts=…, **shifts_kwargs)
  • changed: method Dataset.stack(**dimensions) → method Dataset.stack(dimensions=…, **dimensions_kwargs)
  • changed: method Dataset.to_netcdf(path=…, mode=…, format=…, group=…, engine=…, encoding=…, unlimited_dims=…) → method Dataset.to_netcdf(path=…, mode=…, format=…, group=…, engine=…, encoding=…, unlimited_dims=…, compute=…)
  • changed: method Dataset.unstack(dim) → method Dataset.unstack(dim=…)
  • added: method Dataset.bfill(dim, limit=…)
  • added: method Dataset.differentiate(coord, edge_order=…, datetime_unit=…)
  • added: method Dataset.ffill(dim, limit=…)
  • added: method Dataset.interp(coords=…, method=…, assume_sorted=…, kwargs=…, **coords_kwargs)
  • added: method Dataset.interp_like(other, method=…, assume_sorted=…, kwargs=…)
  • added: method Dataset.interpolate_na(dim=…, method=…, limit=…, use_coordinate=…, **kwargs)
  • added: method Dataset.rank(dim, pct=…, keep_attrs=…)
  • added: method Dataset.to_dask_dataframe(dim_order=…, set_index=…)
  • added: method Dataset.to_zarr(store=…, mode=…, synchronizer=…, group=…, encoding=…, compute=…)
  • added: class AlwaysGreaterThan(object)
  • added: class AlwaysLessThan(object)
  • added: function get_fill_value(dtype)
  • added: function get_neg_infinity(dtype)
  • added: function get_pos_infinity(dtype)
  • added: function is_datetime_like(dtype)
  • added: function maybe_promote(dtype)
  • added: function result_type(*arrays_and_dtypes)
  • added: variable INF
  • added: variable NA
  • added: variable NAT_TYPES
  • added: variable NINF
  • added: variable PROMOTE_TO_OBJECT
  • removed: variable bn
  • removed: variable concatenate
  • removed: variable cumprod
  • removed: variable cumsum
  • removed: variable has_bottleneck
  • removed: variable has_dask
  • removed: variable insert
  • removed: variable stack
  • removed: variable where
  • added: function as_shared_dtype(scalars_or_arrays)
  • added: function concatenate(arrays, axis=…)
  • added: function cumprod(array, axis=…, **kwargs)
  • added: function cumsum(array, axis=…, **kwargs)
  • added: function fillna(data, other)
  • added: function gradient(x, coord, axis, edge_order)
  • added: function rolling_window(array, axis, window, center, fill_value)
  • added: function stack(arrays, axis=…)
  • added: function where(condition, x, y)
  • added: variable cumprod_1d
  • added: variable cumsum_1d
  • added: variable dask_array
  • added: variable dask_array_compat
  • added: variable einsum
  • added: variable isin
  • added: variable masked_invalid
  • removed: function summarize_var(name, var, col_width)
  • changed: function first_n_items(x, n_desired) → function first_n_items(array, n_desired)
  • changed: function format_array_flat(items_ndarray, max_width) → function format_array_flat(array, max_width)
  • changed: function last_item(x) → function last_item(array)
  • added: function last_n_items(array, n_desired)
  • added: function short_dask_repr(array, show_dtype=…)
  • added: function summarize_datavar(name, var, col_width)
  • added: function summarize_variable(name, var, col_width, show_values=…, marker=…, max_width=…)
  • changed: class GroupBy(object) → class GroupBy(SupportsArithmetic)
  • changed: method GroupBy.where(cond) → method GroupBy.where(cond, other=…)
  • removed: class LazilyIndexedArray(utils.NDArrayMixin)
  • removed: constructor LazilyIndexedArray(array, key=…)
  • removed: function canonicalize_indexer(key, ndim)
  • removed: function get_indexer(index, labels, method=…, tolerance=…)
  • removed: function orthogonal_indexer(key, shape)
  • removed: function orthogonally_indexable(array)
  • removed: property LazilyIndexedArray.shape
  • changed: class CopyOnWriteArray(utils.NDArrayMixin) → class CopyOnWriteArray(ExplicitlyIndexedNDArrayMixin)
  • changed: class DaskIndexingAdapter(utils.NDArrayMixin) → class DaskIndexingAdapter(ExplicitlyIndexedNDArrayMixin)
  • changed: class MemoryCachedArray(utils.NDArrayMixin) → class MemoryCachedArray(ExplicitlyIndexedNDArrayMixin)
  • changed: class NumpyIndexingAdapter(utils.NDArrayMixin) → class NumpyIndexingAdapter(ExplicitlyIndexedNDArrayMixin)
  • changed: class PandasIndexAdapter(utils.NDArrayMixin) → class PandasIndexAdapter(ExplicitlyIndexedNDArrayMixin)
  • added: class BasicIndexer(ExplicitIndexer)
  • added: class ExplicitIndexer(object)
  • added: class ExplicitlyIndexed(object)
  • added: class ExplicitlyIndexedNDArrayMixin(utils.NDArrayMixin, ExplicitlyIndexed)
  • added: class ImplicitToExplicitIndexingAdapter(utils.NDArrayMixin)
  • added: class IndexingSupport(object)
  • added: class LazilyOuterIndexedArray(ExplicitlyIndexedNDArrayMixin)
  • added: class LazilyVectorizedIndexedArray(ExplicitlyIndexedNDArrayMixin)
  • added: class OuterIndexer(ExplicitIndexer)
  • added: class VectorizedIndexer(ExplicitIndexer)
  • added: constructor BasicIndexer(key)
  • added: constructor ExplicitIndexer(key)
  • added: constructor ImplicitToExplicitIndexingAdapter(array, indexer_cls=…)
  • added: constructor LazilyOuterIndexedArray(array, key=…)
  • added: constructor LazilyVectorizedIndexedArray(array, key)
  • added: constructor OuterIndexer(key)
  • added: constructor VectorizedIndexer(key)
  • added: field IndexingSupport.BASIC
  • added: field IndexingSupport.OUTER
  • added: field IndexingSupport.OUTER_1VECTOR
  • added: field IndexingSupport.VECTORIZED
  • added: function as_indexable(array)
  • added: function as_integer_or_none(value)
  • added: function as_integer_slice(value)
  • added: function create_mask(indexer, shape, chunks_hint=…)
  • added: function decompose_indexer(indexer, shape, indexing_support)
  • added: function explicit_indexing_adapter(key, shape, indexing_support, raw_indexing_method)
  • added: function get_indexer_nd(index, labels, method=…, tolerance=…)
  • added: function posify_mask_indexer(indexer)
  • added: method CopyOnWriteArray.transpose(order)
  • added: method DaskIndexingAdapter.transpose(order)
  • added: method LazilyOuterIndexedArray.transpose(order)
  • added: method LazilyVectorizedIndexedArray.transpose(order)
  • added: method MemoryCachedArray.transpose(order)
  • added: method NumpyIndexingAdapter.transpose(order)
  • added: method PandasIndexAdapter.transpose(order)
  • added: property ExplicitIndexer.tuple
  • added: property LazilyOuterIndexedArray.shape
  • added: property LazilyVectorizedIndexedArray.shape
  • added: function assert_valid_explicit_coords(variables, dims, explicit_coords)
  • added: function extract_indexes(coords)
  • added: class BaseInterpolator(object)
  • added: class NumpyInterpolator(BaseInterpolator)
  • added: class ScipyInterpolator(BaseInterpolator)
  • added: class SplineInterpolator(BaseInterpolator)
  • added: constructor BaseInterpolator(xi, yi, method=…, **kwargs)
  • added: constructor NumpyInterpolator(xi, yi, method=…, fill_value=…, **kwargs)
  • added: constructor ScipyInterpolator(xi, yi, method=…, fill_value=…, assume_sorted=…, copy=…, bounds_error=…, **kwargs)
  • added: constructor SplineInterpolator(xi, yi, method=…, fill_value=…, order=…, **kwargs)
  • added: field BaseInterpolator.call_kwargs
  • added: field BaseInterpolator.cons_kwargs
  • added: field BaseInterpolator.f
  • added: field BaseInterpolator.method
  • added: function bfill(arr, dim=…, limit=…)
  • added: function ffill(arr, dim=…, limit=…)
  • added: function func_interpolate_na(interpolator, x, y, **kwargs)
  • added: function get_clean_interp_index(arr, dim, use_coordinate=…, **kwargs)
  • added: function interp(var, indexes_coords, method, **kwargs)
  • added: function interp_func(var, x, new_x, method, kwargs)
  • added: function interp_na(self, dim=…, use_coordinate=…, method=…, limit=…, **kwargs)
  • added: function nanargmax(a, axis=…)
  • added: function nanargmin(a, axis=…)
  • added: function nancumprod(a, axis=…, dtype=…, out=…)
  • added: function nancumsum(a, axis=…, dtype=…, out=…)
  • added: function nanmax(a, axis=…, out=…)
  • added: function nanmean(a, axis=…, dtype=…, out=…)
  • added: function nanmedian(a, axis=…, out=…)
  • added: function nanmin(a, axis=…, out=…)
  • added: function nanprod(a, axis=…, dtype=…, out=…, min_count=…)
  • added: function nanstd(a, axis=…, dtype=…, out=…)
  • added: function nansum(a, axis=…, dtype=…, out=…, min_count=…)
  • added: function nanvar(a, axis=…, dtype=…, out=…, ddof=…)
  • added: variable dask_array
  • removed: function broadcast_to(array, shape, subok=…)
  • removed: function nancumprod(a, axis=…, dtype=…, out=…)
  • removed: function nancumsum(a, axis=…, dtype=…, out=…)
  • removed: function nanprod(a, axis=…, dtype=…, out=…, keepdims=…)
  • removed: function stack(arrays, axis=…)
  • added: function gradient(f, *varargs, **kwargs)
  • added: function isin(element, test_elements, assume_unique=…, invert=…)
  • added: function normalize_axis_tuple(axes, N)
  • added: variable gradient
  • added: class NumpyVIndexAdapter(object)
  • added: constructor NumpyVIndexAdapter(array)
  • added: function rolling_window(a, axis, window, center, fill_value)
  • added: variable bn
  • added: variable nancumprod
  • added: variable nancumsum
  • added: variable nanmax
  • added: variable nanmean
  • added: variable nanmedian
  • added: variable nanmin
  • added: variable nanprod
  • added: variable nanstd
  • added: variable nanvar
  • added: function rolling_count(rolling)
  • added: function where_method(self, cond, other=…)
  • added: variable native_int_types
  • added: variable path_type
  • added: class DataArrayResample(DataArrayGroupBy, Resample)
  • added: class DatasetResample(DatasetGroupBy, Resample)
  • added: class Resample(object)
  • added: constructor DataArrayResample(*args, **kwargs)
  • added: constructor DatasetResample(*args, **kwargs)
  • added: field Resample.bfill
  • added: field Resample.ffill
  • added: method DataArrayResample.apply(func, shortcut=…, **kwargs)
  • added: method DatasetResample.apply(func, **kwargs)
  • added: method DatasetResample.reduce(func, dim=…, keep_attrs=…, **kwargs)
  • added: method Resample.asfreq()
  • added: method Resample.backfill()
  • added: method Resample.interpolate(kind=…)
  • added: method Resample.nearest()
  • added: method Resample.pad()
  • added: variable RESAMPLE_DIM
  • removed: property DataArrayRolling.windows
  • changed: constructor DataArrayRolling(obj, min_periods=…, center=…, **windows) → constructor DataArrayRolling(obj, windows, min_periods=…, center=…)
  • changed: constructor DatasetRolling(obj, min_periods=…, center=…, **windows) → constructor DatasetRolling(obj, windows, min_periods=…, center=…)
  • changed: constructor Rolling(obj, min_periods=…, center=…, **windows) → constructor Rolling(obj, windows, min_periods=…, center=…)
  • added: method DataArrayRolling.construct(window_dim, stride=…, fill_value=…)
  • added: method DatasetRolling.construct(window_dim, stride=…, fill_value=…)
  • removed: class DunderArrayMixin(object)
  • removed: function combine_pos_and_kw_args(pos_kwargs, kw_kwargs, func_name)
  • changed: class NDArrayMixin(NdimSizeLenMixin, DunderArrayMixin) → class NDArrayMixin(NdimSizeLenMixin)
  • added: class HiddenKeyDict(MutableMapping)
  • added: class OrderedSet(MutableSet)
  • added: class ReprObject(object)
  • added: constructor HiddenKeyDict(data, hidden_keys)
  • added: constructor OrderedSet(values=…)
  • added: constructor ReprObject(value)
  • added: function either_dict_or_kwargs(pos_kwargs, kw_kwargs, func_name)
  • added: function to_numeric(array, offset=…, datetime_unit=…, dtype=…)
  • added: method OrderedSet.add(value)
  • added: method OrderedSet.discard(value)
  • added: method OrderedSet.update(values)
  • changed: class Variable(common.AbstractArray, utils.NdimSizeLenMixin) → class Variable(common.AbstractArray, arithmetic.SupportsArithmetic, utils.NdimSizeLenMixin)
  • changed: method IndexVariable.copy(deep=…) → method IndexVariable.copy(deep=…, data=…)
  • changed: method Variable.compute() → method Variable.compute(**kwargs)
  • changed: method Variable.copy(deep=…) → method Variable.copy(deep=…, data=…)
  • changed: method Variable.isel(**indexers) → method Variable.isel(indexers=…, drop=…, **indexers_kwargs)
  • changed: method Variable.load() → method Variable.load(**kwargs)
  • changed: method Variable.roll(**shifts) → method Variable.roll(shifts=…, **shifts_kwargs)
  • changed: method Variable.shift(**shifts) → method Variable.shift(shifts=…, **shifts_kwargs)
  • changed: method Variable.stack(**dimensions) → method Variable.stack(dimensions=…, **dimensions_kwargs)
  • changed: method Variable.unstack(**dimensions) → method Variable.unstack(dimensions=…, **dimensions_kwargs)
  • changed: method Variable.where(cond) → method Variable.where(cond, other=…)
  • added: class MissingDimensionsError(ValueError)
  • added: method Variable.pad_with_fill_value(pad_widths=…, fill_value=…, **pad_widths_kwargs)
  • added: method Variable.rank(dim, pct=…)
  • added: method Variable.rolling_window(dim, window, window_dim, center=…, fill_value=…)
  • added: variable BASIC_INDEXING_TYPES
  • added: variable NON_NUMPY_SUPPORTED_ARRAY_TYPES
  • added: method FacetGrid.add_legend(**kwargs)
  • added: method FacetGrid.map_dataarray_line(x=…, y=…, hue=…, **kwargs)
  • changed: function plot(darray, row=…, col=…, col_wrap=…, ax=…, rtol=…, subplot_kws=…, **kwargs) → function plot(darray, row=…, col=…, col_wrap=…, ax=…, hue=…, rtol=…, subplot_kws=…, **kwargs)
  • added: function import_matplotlib_pyplot()
  • added: function import_seaborn()
  • added: function label_from_attrs(da)
  • added: function register_pandas_datetime_converter_if_needed()
  • added: variable ROBUST_PERCENTILE
  • added: function get_sys_info()
  • added: function main()
  • added: function show_versions(as_json=…)
  • removed: variable short_version
  • removed: variable version