Path to this page:
Subject: CVS commit: pkgsrc/math/py-xarray
From: Adam Ciarcinski
Date: 2025-01-06 11:55:38
Message id: 20250106105538.6023CFC1D@cvs.NetBSD.org
Log Message:
py-xarray: updated to 2025.1.0
v.2025.01.0 (Jan 3, 2025)
This release brings much improved read performance with Zarr arrays (without \
consolidated metadata), better support for additional array types, as well as
bugfixes and performance improvements.
New Features
- Improve the error message raised when using chunked-array methods if no chunk \
manager is available or if the requested chunk manager is missing (:pull:`9676`)
- Better support wrapping additional array types (e.g. ``cupy`` or ``jax``) by \
calling generalized
duck array operations throughout more xarray methods. (:issue:`7848`, \
:pull:`9798`).
- Better performance for reading Zarr arrays in the ``ZarrStore`` class by \
caching the state of Zarr
storage and avoiding redundant IO operations. By default, ``ZarrStore`` stores \
a snapshot of names and metadata of the in-scope Zarr arrays; this cache
is then used when iterating over those Zarr arrays, which avoids IO operations \
and thereby reduces
latency. (:issue:`9853`, :pull:`9861`).
- Add ``unit`` - keyword argument to :py:func:`date_range` and ``microsecond`` \
parsing to
iso8601-parser (:pull:`9885`).
Breaking changes
- Methods including ``dropna``, ``rank``, ``idxmax``, ``idxmin`` require
non-dimension arguments to be passed as keyword arguments. The previous
behavior, which allowed ``.idxmax('foo', 'all')`` was too easily confused with
``'all'`` being a dimension. The updated equivalent is ``.idxmax('foo',
how='all')``. The previous behavior was deprecated in v2023.10.0.
Deprecations
- Finalize deprecation of ``closed`` parameters of :py:func:`cftime_range` and
:py:func:`date_range` (:pull:`9882`).
Performance
- Better preservation of chunksizes in :py:meth:`Dataset.idxmin` and \
:py:meth:`Dataset.idxmax` (:issue:`9425`, :pull:`9800`).
- Much better implementation of vectorized interpolation for dask arrays \
(:pull:`9881`).
Bug fixes
- Fix type annotations for ``get_axis_num``. (:issue:`9822`, :pull:`9827`).
- Fix unintended load on datasets when calling :py:meth:`DataArray.plot.scatter` \
(:pull:`9818`).
- Fix interpolation when non-numeric coordinate variables are present \
(:issue:`8099`, :issue:`9839`).
Internal Changes
- Move non-CF related ``ensure_dtype_not_object`` from conventions to backends \
(:pull:`9828`).
- Move handling of scalar datetimes into ``_possibly_convert_objects``
within ``as_compatible_data``. This is consistent with how lists of these objects
will be converted (:pull:`9900`).
- Move ISO-8601 parser from coding.cftimeindex to coding.times to make it \
available there (prevents circular import), add capability to parse negative \
and/or five-digit years (:pull:`9899`).
- Refactor of time coding to prepare for relaxing nanosecond restriction \
(:pull:`9906`).
Files: