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:
RevisionActionfile
1.28modifypkgsrc/math/py-xarray/Makefile
1.14modifypkgsrc/math/py-xarray/PLIST
1.19modifypkgsrc/math/py-xarray/distinfo