python-xarray/python-xarray.spec
Sebastian Wagner 548007d024 - update to version 2023.12.0:
- This release brings new `hypothesis <https://hypothesis.works/>`_ strategies for testing, significantly faster rolling aggregations as well as:
``ffill`` and ``bfill`` with ``numbagg``, a new :py:meth:`Dataset.eval` method, and improvements to
 - reading and writing Zarr arrays (including a new ``"a-"`` mode).:
 - Thanks to our 16 contributors:
 - Anderson Banihirwe, Ben Mares, Carl Andersson, Deepak Cherian, Doug Latornell, Gregorio L. Trevisan, Illviljan, Jens Hedegaard Nielsen, Justus Magin, Mathias Hauser, Max Jones, Maximilian Roos, Michael Niklas, Patrick Hoefler, Ryan Abernathey, Tom Nicholas:
 - New Features:
  - Added hypothesis strategies for generating :py:class:`xarray.Variable` objects containing arbitrary data, useful for parametrizing downstream tests.
    Accessible under :py:mod:`testing.strategies`, and documented in a new page on testing in the User Guide.
    (:issue:`6911`, :pull:`8404`)
    By `Tom Nicholas <https://github.com/TomNicholas>`_.
  - :py:meth:`rolling` uses `numbagg <https://github.com/numbagg/numbagg>`_ for
    most of its computations by default. Numbagg is up to 5x faster than bottleneck
    where parallelization is possible. Where parallelization isn't possible — for
    example a 1D array — it's about the same speed as bottleneck, and 2-5x faster
    than pandas' default functions. (:pull:`8493`). numbagg is an optional
    dependency, so requires installing separately.
    By `Maximilian Roos <https://github.com/max-sixty>`_.
  - Use a concise format when plotting datetime arrays. (:pull:`8449`).
    By `Jimmy Westling <https://github.com/illviljan>`_.
  - Avoid overwriting unchanged existing coordinate variables when appending with :py:meth:`Dataset.to_zarr` by setting ``mode='a-'``.
    By `Ryan Abernathey <https://github.com/rabernat>`_ and `Deepak Cherian <https://github.com/dcherian>`_.
  - :py:meth:`~xarray.DataArray.rank` now operates on dask-backed arrays, assuming
    the core dim has exactly one chunk. (:pull:`8475`).
    By `Maximilian Roos <https://github.com/max-sixty>`_.
  - Add a :py:meth:`Dataset.eval` method, similar to the pandas' method of the
    same name. (:pull:`7163`). This is currently marked as experimental and
    doesn't yet support the ``numexpr`` engine.
  - :py:meth:`Dataset.drop_vars` & :py:meth:`DataArray.drop_vars` allow passing a
    callable, similar to :py:meth:`Dataset.where` & :py:meth:`Dataset.sortby` & others.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-xarray?expand=0&rev=84
2023-12-13 18:22:40 +00:00

129 lines
4.4 KiB
RPMSpec

#
# spec file for package python-xarray
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?sle15_python_module_pythons}
Name: python-xarray
Version: 2023.12.0
Release: 0
Summary: N-D labeled arrays and datasets in Python
License: Apache-2.0
URL: https://github.com/pydata/xarray
Source: https://files.pythonhosted.org/packages/source/x/xarray/xarray-%{version}.tar.gz
# PATCH-FEATURE-UPSTREAM local_dataset.patch gh#pydata/xarray#5377 mcepl@suse.com
# fix xr.tutorial.open_dataset to work with the preloaded cache.
Patch0: local_dataset.patch
# PATCH-FIX-UPSTREAM xarray-pr8139-pandas-fill_value.patch gh#pydata/xarray#8125, gh#pydata/xarray#8139
#Patch1: https://github.com/pydata/xarray/pull/8139.patch#/xarray-pr8139-pandas-fill_value.patch
BuildRequires: %{python_module base >= 3.9}
BuildRequires: %{python_module numpy-devel >= 1.22}
BuildRequires: %{python_module packaging >= 21.3}
BuildRequires: %{python_module pandas >= 1.4}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-numpy >= 1.22
Requires: python-packaging >= 21.3
Requires: python-pandas >= 1.4
Provides: python-xray = %{version}
Obsoletes: python-xray < %{version}
BuildArch: noarch
# SECTION extras accel
Recommends: python-scipy
Recommends: python-bottleneck
Recommends: python-flox
Recommends: python-numbagg
# /SECTION
# SECTION extras parallalel
Suggests: python-dask-complete
# /SECTION
# SECTION extras viz
Suggests: python-matplotlib
Suggests: python-seaborn
Suggests: python-nc-time-axis
#/SECTION
# SECTION extras io
Suggests: python-netCDF4
Suggests: python-h5netcdf
Suggests: (python-pydap if python-base < 3.10)
Suggests: python-zarr
Suggests: python-fsspec
Suggests: python-cftime
Suggests: python-rasterio
Suggests: python-cfgrib
Suggests: python-pooch
#/SECTION
# SECTION tests
BuildRequires: %{python_module Bottleneck}
BuildRequires: %{python_module dask-dataframe}
BuildRequires: %{python_module dask-diagnostics}
BuildRequires: %{python_module h5netcdf}
BuildRequires: %{python_module matplotlib}
BuildRequires: %{python_module netCDF4}
BuildRequires: %{python_module pooch}
BuildRequires: %{python_module pytest-xdist}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module scipy}
BuildRequires: %{python_module zarr}
# /SECTION
%python_subpackages
%description
xarray (formerly xray) is a python-pandas-like and pandas-compatible
toolkit for analytics on multi-dimensional arrays. It provides
N-dimensional variants of the python-pandas labeled data structures,
rather than the tabular data that pandas uses.
The Common Data Model for self-describing scientific data is used.
The dataset is an in-memory representation of a netCDF file.
%prep
%autosetup -p1 -n xarray-%{version}
chmod -x xarray/util/print_versions.py
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# obs file open race conditions?
donttest="(test_open_mfdataset_manyfiles and (h5netcdf or netCDF4))"
if [ $(getconf LONG_BIT) -eq 32 ]; then
# https://github.com/pydata/xarray/issues/5341
# https://github.com/pydata/xarray/issues/5375
# still precision problems in 2022.11.0
donttest="$donttest or (test_interpolate_chunk_advanced and linear)"
# tests for 64bit types
donttest="$donttest or TestZarrDictStore or TestZarrDirectoryStore or TestZarrWriteEmpty"
fi
%pytest -n auto -rsEf -k "not ($donttest)" xarray
%files %{python_files}
%doc README.md
%license LICENSE licenses/
%{python_sitelib}/xarray
%{python_sitelib}/xarray-%{version}.dist-info
%changelog