Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-scipy for openSUSE:Factory checked in at 2024-04-30 17:25:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-scipy (Old) and /work/SRC/openSUSE:Factory/.python-scipy.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-scipy" Tue Apr 30 17:25:49 2024 rev:70 rq:1170765 version:1.13.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-scipy/python-scipy.changes 2024-03-01 23:34:20.886730700 +0100 +++ /work/SRC/openSUSE:Factory/.python-scipy.new.1880/python-scipy.changes 2024-04-30 17:26:07.991494898 +0200 @@ -1,0 +2,138 @@ +Wed Apr 24 11:41:51 UTC 2024 - Ben Greiner <c...@bnavigator.de> + +- Skip another test out of numeric precision for 32-bit +- Fix HPC _version + +------------------------------------------------------------------- +Fri Apr 19 10:55:20 UTC 2024 - Ben Greiner <c...@bnavigator.de> + +- Update to 1.13.0 + ## Highlights of this release + * Support for NumPy 2.0.0. + * Interactive examples have been added to the documentation, + allowing users to run the examples locally on embedded + Jupyterlite notebooks in their browser. + * Preliminary 1D array support for the COO and DOK sparse + formats. + * Several scipy.stats functions have gained support for + additional axis, nan_policy, and keepdims arguments. + scipy.stats also has several performance and accuracy + improvements. + ## New features + * scipy.integrate improvements + * scipy.io improvements + * scipy.interpolate improvements + * scipy.signal improvements + * scipy.sparse improvements + * scipy.spatial improvements + * scipy.special improvements + * scipy.stats improvements + ## Deprecated features + * Complex dtypes in PchipInterpolator and Akima1DInterpolator + have been deprecated and will raise an error in SciPy 1.15.0. + If you are trying to use the real components of the passed + array, use np.real on y. + ## Other changes + * The second argument of scipy.stats.moment has been renamed to + order while maintaining backward compatibility. +- Release 1.12.0 + ## Highlights of this release + * Experimental support for the array API standard has been added + to part of scipy.special, and to all of scipy.fft and + scipy.cluster. There are likely to be bugs and early feedback + for usage with CuPy arrays, PyTorch tensors, and other array + API compatible libraries is appreciated. Use the + SCIPY_ARRAY_API environment variable for testing. + * A new class, ShortTimeFFT, provides a more versatile + implementation of the short-time Fourier transform (STFT), its + inverse (ISTFT) as well as the (cross-) spectrogram. It + utilizes an improved algorithm for calculating the ISTFT. + * Several new constructors have been added for sparse arrays, and + many operations now additionally support sparse arrays, further + facilitating the migration from sparse matrices. + * A large portion of the scipy.stats API now has improved support + for handling NaN values, masked arrays, and more fine-grained + shape-handling. The accuracy and performance of a number of + stats methods have been improved, and a number of new + statistical tests and distributions have been added. + ## New features + * scipy.cluster improvements + * scipy.fft improvements + * scipy.integrate improvements + * scipy.interpolate improvements + * scipy.linalg improvements + * scipy.ndimage improvements + * scipy.optimize improvements + * scipy.signal improvements + * scipy.sparse improvements + * scipy.spatial improvements + * scipy.special improvements + * scipy.stats improvements + ## Deprecated features + * Error messages have been made clearer for objects that donât + exist in the public namespace and warnings sharpened for + private attributes that are not supposed to be imported at all. + * scipy.signal.cmplx_sort has been deprecated and will be removed + in SciPy 1.15. A replacement you can use is provided in the + deprecation message. + * Values the argument initial of + scipy.integrate.cumulative_trapezoid other than 0 and None are + now deprecated. + * scipy.stats.rvs_ratio_uniforms is deprecated in favour of + scipy.stats.sampling.RatioUniforms + * scipy.integrate.quadrature and scipy.integrate.romberg have + been deprecated due to accuracy issues and interface + shortcomings. They will be removed in SciPy 1.15. Please use + scipy.integrate.quad instead. + * Coinciding with upcoming changes to function signatures (e.g. + removal of a deprecated keyword), we are deprecating positional + use of keyword arguments for the affected functions, which will + raise an error starting with SciPy 1.14. In some cases, this + has delayed the originally announced removal date, to give time + to respond to the second part of the deprecation. Affected + functions are: + - linalg.{eigh, eigvalsh, pinv} + - integrate.simpson + - signal.{firls, firwin, firwin2, remez} + - sparse.linalg.{bicg, bicgstab, cg, cgs, gcrotmk, gmres, + lgmres, minres, qmr, tfqmr} + - special.comb + - stats.kendalltau + * All wavelet functions have been deprecated, as PyWavelets + provides suitable implementations; affected functions are: + signal.{daub, qmf, cascade, morlet, morlet2, ricker, cwt} + * scipy.integrate.trapz, scipy.integrate.cumtrapz, and + scipy.integrate.simps have been deprecated in favour of + scipy.integrate.trapezoid, + scipy.integrate.cumulative_trapezoid, and + scipy.integrate.simpson respectively and will be removed in + SciPy 1.14. + * The tol argument of + scipy.sparse.linalg.{bcg,bicstab,cg,cgs,gcrotmk,gmres,lgmres, + minres,qmr,tfqmr} + is now deprecated in favour of rtol and will be removed in + SciPy 1.14. Furthermore, the default value of atol for these + functions is due to change to 0.0 in SciPy 1.14. + ## Expired Deprecations + * There is an ongoing effort to follow through on long-standing + deprecations. The following previously deprecated features are + affected: + * The centered keyword of scipy.stats.qmc.LatinHypercube has been + removed. Use scrambled=False instead of centered=True. + * scipy.stats.binom_test has been removed in favour of + scipy.stats.binomtest. + * In scipy.stats.iqr, the use of scale='raw' has been removed in + favour of scale=1. + * Functions from NumPyâs main namespace which were exposed in + SciPyâs main namespace, such as numpy.histogram exposed by + scipy.histogram, have been removed from SciPyâs main namespace. + Please use the functions directly from numpy. + ## Other changes + * The arguments used to compile and link SciPy are now available + via show_config. +- Drop 8c96a1f742335bca283aae418763aaba62c03378.patch (merged + upstream) +- Add scipy-pr20530-f2py_error.patch gh#scipy/scipy#20530, used to + find workaround for failing HPC build gh#scipy/scipy#20535 + +------------------------------------------------------------------- Old: ---- 8c96a1f742335bca283aae418763aaba62c03378.patch scipy-1.11.4.tar.gz New: ---- scipy-1.13.0.tar.gz scipy-pr20530-f2py_error.patch BETA DEBUG BEGIN: Old: via show_config. - Drop 8c96a1f742335bca283aae418763aaba62c03378.patch (merged upstream) BETA DEBUG END: BETA DEBUG BEGIN: New: upstream) - Add scipy-pr20530-f2py_error.patch gh#scipy/scipy#20530, used to find workaround for failing HPC build gh#scipy/scipy#20535 BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-scipy.spec ++++++ --- /var/tmp/diff_new_pack.MzXTu6/_old 2024-04-30 17:26:10.931601808 +0200 +++ /var/tmp/diff_new_pack.MzXTu6/_new 2024-04-30 17:26:10.935601953 +0200 @@ -1,5 +1,5 @@ # -# spec file +# spec file for package python-scipy # # Copyright (c) 2024 SUSE LLC # @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} %global flavor @BUILD_FLAVOR@%{nil} -%define _ver 1_11_4 +%define _ver 1_13_0 %define shortname scipy %define pname python-%{shortname} %define hpc_upcase_trans_hyph() %(echo %{**} | tr [a-z] [A-Z] | tr '-' '_') @@ -89,32 +89,35 @@ %endif %{hpc_modules_init openblas} %endif +# make sure the generators get called with the flavored python -- gh#scipy/scipy#20535 +%define pybuildgenerators tools/generate_f2pymod.py scipy/_build_utils/tempita.py # TODO explore debundling Boost for standard and hpc Name: %{package_name} -Version: 1.11.4 +Version: 1.13.0 Release: 0 Summary: Scientific Tools for Python License: BSD-3-Clause AND LGPL-2.0-or-later AND BSL-1.0 URL: https://www.scipy.org Source0: https://files.pythonhosted.org/packages/source/s/scipy/scipy-%{version}.tar.gz -# Create with pooch: `python3 scipy-%{version}/scipy/datasets/_download_all.py scipy-datasets/scipy-data; tar czf scipy-datasets.tar.gz scipy-datasets` +# Create with pooch: `python3 scipy-%%{version}/scipy/datasets/_download_all.py scipy-datasets/scipy-data; tar czf scipy-datasets.tar.gz scipy-datasets` Source1: scipy-datasets.tar.gz -Patch1: 8c96a1f742335bca283aae418763aaba62c03378.patch -BuildRequires: %{python_module Cython >= 0.29.32} -BuildRequires: %{python_module devel >= 3.8} -BuildRequires: %{python_module meson-python >= 0.9.0} +# PATCH-FIX-UPSTREAM scipy-pr20530-f2py_error.patch -- gh#scipy/scipy#20530 +Patch0: scipy-pr20530-f2py_error.patch +BuildRequires: %{python_module Cython >= 3.0.8 with %python-Cython < 3.1} +BuildRequires: %{python_module devel >= 3.9} +BuildRequires: %{python_module meson-python >= 0.15.0 with %python-meson-python < 0.18} BuildRequires: %{python_module pip} -BuildRequires: %{python_module pybind11 >= 2.4.3} -BuildRequires: %{python_module pybind11-devel >= 2.4.3} -BuildRequires: %{python_module pythran >= 0.9.12} -BuildRequires: %{python_module wheel} +BuildRequires: %{python_module pybind11-devel >= 2.12 with %python-pybind11-devel < 2.13} +BuildRequires: %{python_module pythran >= 0.14 with %python-pythran < 0.16} BuildRequires: fdupes BuildRequires: meson >= 0.62.2 BuildRequires: pkg-config BuildRequires: python-rpm-macros >= 20220911 %if %{with test} +BuildRequires: %{python_module hypothesis} +BuildRequires: %{python_module matplotlib} BuildRequires: %{python_module pooch} BuildRequires: %{python_module pytest-timeout} BuildRequires: %{python_module pytest-xdist} @@ -123,7 +126,7 @@ BuildRequires: %{python_module threadpoolctl} %endif %if %{without hpc} -BuildRequires: %{python_module numpy-devel >= 1.18.5} +BuildRequires: %{python_module numpy-devel >= 1.18.5 with %python-numpy-devel < 2.3} %if 0%{?sle_version} && 0%{?sle_version} <= 150600 # The default gcc on SLE15 is gcc7 we need something newer BuildRequires: gcc10-c++ @@ -132,8 +135,7 @@ BuildRequires: gcc-c++ >= 8 BuildRequires: gcc-fortran >= 8 %endif -Requires: python-numpy >= 1.18.5 -Requires: python-pybind11 >= 2.4.3 +Requires: (python-numpy >= 1.22.4 with python-numpy < 2.3) Suggests: python-pooch %if %{with openblas} BuildRequires: openblas-devel @@ -166,6 +168,11 @@ sed -i '1{/env python/d}' scipy/sparse/linalg/_isolve/tests/test_gcrotmk.py chmod a-x scipy/stats/tests/test_distributions.py +# make sure the generators get called with the flavored python -- gh#scipy/scipy#20535 +for c in %pybuildgenerators; do + sed -E '1{s/^#!(.*)$/#!@MYFLAVORPYTHON@/}' $c > $c.flavorin +done + %ifarch i586 # Limit double floating point precision for x87, triggered by GCC 12. %global optflags %(echo "%{optflags} -ffloat-store") @@ -189,6 +196,10 @@ # makes sure that the cython and pythran commands from the correct flavor are in PATH %python_flavored_alternatives %{python_expand # +# make sure the generators get called with the flavored python -- gh#scipy/scipy#20535 +for c in %pybuildgenerators; do + sed '1{s|@MYFLAVORPYTHON@|%{__$python}|}' $c.flavorin > $c +done %if %{with hpc} py_ver=%{$python_version} %hpc_setup @@ -208,8 +219,7 @@ # https://github.com/scipy/scipy/issues/16310, delete in order to avoid rpmlint errors rm %{buildroot}%{p_python_sitearch_expand}/scipy/linalg/_blas_subroutines.h rm %{buildroot}%{p_python_sitearch_expand}/scipy/linalg/_lapack_subroutines.h -rm %{buildroot}%{p_python_sitearch_expand}/scipy/special/_ufuncs_cxx_defs.h -rm %{buildroot}%{p_python_sitearch_expand}/scipy/special/_ufuncs_defs.h +find %{buildroot}%{p_python_sitearch_expand}/scipy/special -name '*.h' -delete %fdupes %{buildroot}%{p_python_sitearch_expand} } @@ -309,6 +319,7 @@ # not enough precison on 32 bits if [ $(getconf LONG_BIT) -eq 32 ]; then donttest+=" or (TestCheby1 and test_basic)" + donttest+=" or test_extreme_entropy" fi mv scipy scipy.dont-import-me %pytest_arch --pyargs scipy -n auto -m "not (slow or xslow $mark32bit)" -k "not ($donttest)" ++++++ scipy-1.11.4.tar.gz -> scipy-1.13.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/python-scipy/scipy-1.11.4.tar.gz /work/SRC/openSUSE:Factory/.python-scipy.new.1880/scipy-1.13.0.tar.gz differ: char 5, line 1 ++++++ scipy-datasets.tar.gz ++++++ ++++++ scipy-pr20530-f2py_error.patch ++++++ >From 8dc60a00cfb428b530783d88b0aeb44a930ad3e0 Mon Sep 17 00:00:00 2001 From: Ben Greiner <c...@bnavigator.de> Date: Fri, 19 Apr 2024 15:35:22 +0200 Subject: [PATCH 1/2] BLD: Fix error message for f2py generation fail --- tools/generate_f2pymod.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/generate_f2pymod.py b/tools/generate_f2pymod.py index 5a8ba1389514..bb22fdb105cb 100644 --- a/tools/generate_f2pymod.py +++ b/tools/generate_f2pymod.py @@ -290,9 +290,9 @@ def main(): cwd=os.getcwd()) out, err = p.communicate() if not (p.returncode == 0): - raise RuntimeError(f"Writing {args.outfile} with f2py failed!\n" - f"{out}\n" - r"{err}") + raise RuntimeError(f"Writing {fname_pyf} with f2py failed!\n" + f"{out.decode()}\n" + f"{err.decode()}") if __name__ == "__main__": >From f7b532b4fbee2a2e54d9e357cf395c237a7ee894 Mon Sep 17 00:00:00 2001 From: Ralf Gommers <ralf.gomm...@gmail.com> Date: Fri, 19 Apr 2024 17:38:04 +0200 Subject: [PATCH 2/2] MAINT: tweak message a bit more, and fix style issue [skip ci] --- tools/generate_f2pymod.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/generate_f2pymod.py b/tools/generate_f2pymod.py index bb22fdb105cb..4b4ce105a011 100644 --- a/tools/generate_f2pymod.py +++ b/tools/generate_f2pymod.py @@ -290,9 +290,9 @@ def main(): cwd=os.getcwd()) out, err = p.communicate() if not (p.returncode == 0): - raise RuntimeError(f"Writing {fname_pyf} with f2py failed!\n" - f"{out.decode()}\n" - f"{err.decode()}") + raise RuntimeError(f"Processing {fname_pyf} with f2py failed!\n" + f"{out.decode()}\n" + f"{err.decode()}") if __name__ == "__main__":