- 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
129 lines
4.4 KiB
RPMSpec
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
|