Accepting request 1133227 from devel:languages:python:numeric
- Update to 4.16.0: * enhancements: + the grouping commands like group_counts and group_snr now default to only grouping within the noticed range of channels, which is a change in behaviour + new plotting backend: Users can now choose between matplotlib and bokeh (experimental) support use of arbitrary python functions when linking model parameters + updates to fake_pha, save_all, allowing to write out RMF/ARF files + get_plot_prefs and get_contour_prefs call to simplify access to the plot and contour preferences + implementation of RMFPlot and DataIMGPlot classes and associated UI functions (plot_rmf, get_rmf_plot) + update support for XSPEC to include version 12.13.1, allow XSPEC table models which include the ESCALE parameter, and provide experimental support for writing out XSPEC table models. * changes to use the NumPy random generator API * bug fixes: + PHA source plot Y axis scaling (#1825) + fix model display for grouped data (#1779, #1784) + Change in the ordering of operations when grouping background PHA datasets. (#1881) - Drop patch numpy125.patch and numpy125-CI.patch: Included upstream. - Skip a misbehaving test. OBS-URL: https://build.opensuse.org/request/show/1133227 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-sherpa?expand=0&rev=18
This commit is contained in:
commit
7fcc21ca5f
@ -1,96 +0,0 @@
|
|||||||
From 2aea86a2a596323e9c8e41275acbffa1e9a609a0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Doug Burke <dburke@cfa.harvard.edu>
|
|
||||||
Date: Mon, 17 Jul 2023 11:33:29 -0400
|
|
||||||
Subject: [PATCH 1/2] Silence test warnings if pytest-doctestplus is not
|
|
||||||
installed
|
|
||||||
|
|
||||||
I originally tried adding the warnings to sherpa/conftest.py but
|
|
||||||
this is happening in pytest itself, so I've taken advantage of
|
|
||||||
the general filter-warnings capability to hide thse messages.
|
|
||||||
|
|
||||||
Before this change, running pytest without pytest-doctestplus would
|
|
||||||
result in messages like
|
|
||||||
|
|
||||||
==================================================== warnings summary =====================================================
|
|
||||||
../../../lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373
|
|
||||||
/lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: doctest_norecursedirs
|
|
||||||
|
|
||||||
self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
|
|
||||||
|
|
||||||
../../../lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373
|
|
||||||
/lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: doctest_plus
|
|
||||||
|
|
||||||
self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
|
|
||||||
|
|
||||||
../../../lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373
|
|
||||||
/lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: doctest_plus_atol
|
|
||||||
|
|
||||||
self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
|
|
||||||
|
|
||||||
../../../lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373
|
|
||||||
/lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: doctest_subpackage_requires
|
|
||||||
|
|
||||||
self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
|
|
||||||
|
|
||||||
../../../lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373
|
|
||||||
/lagado2.real/local/anaconda/envs/sherpa-main/lib/python3.11/site-packages/_pytest/config/__init__.py:1373: PytestConfigWarning: Unknown config option: text_file_format
|
|
||||||
|
|
||||||
self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
|
|
||||||
|
|
||||||
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
|
|
||||||
================================================= short test summary info =================================================
|
|
||||||
---
|
|
||||||
pytest.ini | 4 ++++
|
|
||||||
1 file changed, 4 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/pytest.ini b/pytest.ini
|
|
||||||
index fde2ab8e0c..e2c4c4847e 100644
|
|
||||||
--- a/pytest.ini
|
|
||||||
+++ b/pytest.ini
|
|
||||||
@@ -2,6 +2,10 @@
|
|
||||||
addopts = -rs --ignore=setup.py --ignore=test_requirements.txt
|
|
||||||
norecursedirs = .git build dist tmp* .eggs
|
|
||||||
text_file_format = rst
|
|
||||||
+filterwarnings =
|
|
||||||
+ # Since we can runpytest without loading pytest-doctestplus, hide
|
|
||||||
+ # the warnings we get when this is done
|
|
||||||
+ ignore::pytest.PytestConfigWarning
|
|
||||||
doctest_plus = enabled
|
|
||||||
doctest_plus_atol = 1e-4
|
|
||||||
doctest_optionflags =
|
|
||||||
|
|
||||||
From 14e43a098ecb9a5068d2886f6d4680b9cd878404 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Doug Burke <dburke@cfa.harvard.edu>
|
|
||||||
Date: Mon, 17 Jul 2023 12:05:21 -0400
|
|
||||||
Subject: [PATCH 2/2] Tests: hide NumPy 1.25 ndim > 0 warnings (crates)
|
|
||||||
|
|
||||||
Although Sherpa has been updated to remove the deprecation
|
|
||||||
warnnng from NumPy 1.25:
|
|
||||||
|
|
||||||
Conversion of an array with ndim > 0 to a scalar is deprecated,
|
|
||||||
and will error in future. Ensure you extract a single element
|
|
||||||
from your array before performing this operation.
|
|
||||||
(Deprecated NumPy 1.25.)
|
|
||||||
|
|
||||||
it is still present in Crates (mid 2023), so hide the warning with
|
|
||||||
the assumption we can revert this commit by mid December 2023.
|
|
||||||
---
|
|
||||||
sherpa/conftest.py | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/sherpa/conftest.py b/sherpa/conftest.py
|
|
||||||
index 97979b4e4b..339f252a51 100644
|
|
||||||
--- a/sherpa/conftest.py
|
|
||||||
+++ b/sherpa/conftest.py
|
|
||||||
@@ -117,6 +117,11 @@ def pytest_collection_modifyitems(config, items):
|
|
||||||
r'np.asscalar\(a\) is deprecated since NumPy v1.16, use a.item\(\) instead',
|
|
||||||
r"Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working",
|
|
||||||
|
|
||||||
+ # NumPy 1.25 warnings that are raised by (mid-2023) crates code.
|
|
||||||
+ # Hopefully this can be removed by December 2023.
|
|
||||||
+ #
|
|
||||||
+ r"Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. \(Deprecated NumPy 1.25.\)",
|
|
||||||
+
|
|
||||||
],
|
|
||||||
UserWarning:
|
|
||||||
[
|
|
@ -1,89 +0,0 @@
|
|||||||
From 740fcd0da87d3aefa41aa3962cc8f1ddb7ab3cab Mon Sep 17 00:00:00 2001
|
|
||||||
From: Doug Burke <dburke@cfa.harvard.edu>
|
|
||||||
Date: Tue, 20 Jun 2023 15:31:55 -0400
|
|
||||||
Subject: [PATCH] NumPy 1.25 support
|
|
||||||
|
|
||||||
NumPy 1.25 deprecates converting a ndarray that is not a 0d value,
|
|
||||||
so for our cases this is
|
|
||||||
|
|
||||||
int(value)
|
|
||||||
info("message %g", value)
|
|
||||||
|
|
||||||
where value is a ndarray of length 1. The simple fix is to explictly
|
|
||||||
access the first element - so
|
|
||||||
|
|
||||||
answer = int(value[0])
|
|
||||||
info("message %g", value[0])
|
|
||||||
|
|
||||||
although for the int case (in the PSF convolution instrument code) I
|
|
||||||
have not looked through to determine if value is always guaranteed to
|
|
||||||
be a ndarray, so it is more like
|
|
||||||
|
|
||||||
if np.isscalar(value):
|
|
||||||
newval = value
|
|
||||||
else:
|
|
||||||
newval = value[0]
|
|
||||||
answer = int(newval)
|
|
||||||
---
|
|
||||||
sherpa/fit.py | 13 +++++++++----
|
|
||||||
sherpa/instrument.py | 12 ++++++++++--
|
|
||||||
2 files changed, 19 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
Index: sherpa-4.15.1/sherpa/fit.py
|
|
||||||
===================================================================
|
|
||||||
--- sherpa-4.15.1.orig/sherpa/fit.py
|
|
||||||
+++ sherpa-4.15.1/sherpa/fit.py
|
|
||||||
@@ -1258,8 +1258,13 @@ class Fit(NoNewAttributesAfterInit):
|
|
||||||
def get_par_name(ii):
|
|
||||||
return self.model.pars[self.thaw_indices[ii]].fullname
|
|
||||||
|
|
||||||
- # Call from a parameter estimation method, to report
|
|
||||||
- # that limits for a given parameter have been found
|
|
||||||
+ # Call from a parameter estimation method, to report that
|
|
||||||
+ # limits for a given parameter have been found At present (mid
|
|
||||||
+ # 2023) it looks like lower/upper are both single-element
|
|
||||||
+ # ndarrays, hence the need to convert to a scalar by accessing
|
|
||||||
+ # the first element (otherwise there's a deprecation warning
|
|
||||||
+ # from NumPy 1.25).
|
|
||||||
+ #
|
|
||||||
def report_progress(i, lower, upper):
|
|
||||||
if i < 0:
|
|
||||||
pass
|
|
||||||
@@ -1268,11 +1273,11 @@ class Fit(NoNewAttributesAfterInit):
|
|
||||||
if isnan(lower) or isinf(lower):
|
|
||||||
info("%s \tlower bound: -----" % name)
|
|
||||||
else:
|
|
||||||
- info("%s \tlower bound: %g" % (name, lower))
|
|
||||||
+ info("%s \tlower bound: %g" % (name, lower[0]))
|
|
||||||
if isnan(upper) or isinf(upper):
|
|
||||||
info("%s \tupper bound: -----" % name)
|
|
||||||
else:
|
|
||||||
- info("%s \tupper bound: %g" % (name, upper))
|
|
||||||
+ info("%s \tupper bound: %g" % (name, upper[0]))
|
|
||||||
|
|
||||||
# If starting fit statistic is chi-squared or C-stat,
|
|
||||||
# can calculate reduced fit statistic -- if it is
|
|
||||||
Index: sherpa-4.15.1/sherpa/instrument.py
|
|
||||||
===================================================================
|
|
||||||
--- sherpa-4.15.1.orig/sherpa/instrument.py
|
|
||||||
+++ sherpa-4.15.1/sherpa/instrument.py
|
|
||||||
@@ -357,9 +357,17 @@ class PSFKernel(Kernel):
|
|
||||||
# and Python 3.8 - causes a TypeError with the message
|
|
||||||
# "only integer scalar arrays can be converted to a scalar index"
|
|
||||||
# to be thrown here if sent directly to set_origin. So
|
|
||||||
- # we convert to a Python integer type.
|
|
||||||
+ # we convert to a Python integer type. In NumPy 1.25 it became
|
|
||||||
+ # a deprecation error to call int on an array with ndim > 0.
|
|
||||||
#
|
|
||||||
- origin = set_origin(kshape, int(brightPixel))
|
|
||||||
+ # assume there is only one element in brightPixel if not
|
|
||||||
+ # a scalar
|
|
||||||
+ #
|
|
||||||
+ if not numpy.isscalar(brightPixel):
|
|
||||||
+ loc = brightPixel[0]
|
|
||||||
+ else:
|
|
||||||
+ loc = brightPixel
|
|
||||||
+ origin = set_origin(kshape, int(loc))
|
|
||||||
|
|
||||||
if self.origin is None:
|
|
||||||
self.origin = origin
|
|
@ -1,3 +1,31 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Dec 15 03:54:30 UTC 2023 - Steve Kowalik <steven.kowalik@suse.com>
|
||||||
|
|
||||||
|
- Update to 4.16.0:
|
||||||
|
* enhancements:
|
||||||
|
+ the grouping commands like group_counts and group_snr now default to
|
||||||
|
only grouping within the noticed range of channels, which is a change
|
||||||
|
in behaviour
|
||||||
|
+ new plotting backend: Users can now choose between matplotlib and
|
||||||
|
bokeh (experimental) support use of arbitrary python functions when
|
||||||
|
linking model parameters
|
||||||
|
+ updates to fake_pha, save_all, allowing to write out RMF/ARF files
|
||||||
|
+ get_plot_prefs and get_contour_prefs call to simplify access to the
|
||||||
|
plot and contour preferences
|
||||||
|
+ implementation of RMFPlot and DataIMGPlot classes and associated UI
|
||||||
|
functions (plot_rmf, get_rmf_plot)
|
||||||
|
+ update support for XSPEC to include version 12.13.1, allow XSPEC
|
||||||
|
table models which include the ESCALE parameter, and provide
|
||||||
|
experimental support for writing out XSPEC table models.
|
||||||
|
* changes to use the NumPy random generator API
|
||||||
|
* bug fixes:
|
||||||
|
+ PHA source plot Y axis scaling (#1825)
|
||||||
|
+ fix model display for grouped data (#1779, #1784)
|
||||||
|
+ Change in the ordering of operations when grouping background PHA
|
||||||
|
datasets. (#1881)
|
||||||
|
- Drop patch numpy125.patch and numpy125-CI.patch: Included upstream.
|
||||||
|
- Skip a misbehaving test.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 7 12:24:59 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
Thu Sep 7 12:24:59 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
@ -17,17 +17,13 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: python-sherpa
|
Name: python-sherpa
|
||||||
Version: 4.15.1
|
Version: 4.16.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Modeling and fitting package for scientific data analysis
|
Summary: Modeling and fitting package for scientific data analysis
|
||||||
License: GPL-3.0-only
|
License: GPL-3.0-only
|
||||||
URL: https://github.com/sherpa/sherpa/
|
URL: https://github.com/sherpa/sherpa/
|
||||||
Source0: https://github.com/sherpa/sherpa/archive/%{version}.tar.gz#/sherpa-%{version}.tar.gz
|
Source0: https://github.com/sherpa/sherpa/archive/%{version}.tar.gz#/sherpa-%{version}.tar.gz
|
||||||
Source1: https://github.com/sherpa/sherpa-test-data/archive/refs/tags/%{version}.tar.gz#/sherpa-test-data-%{version}.tar.gz
|
Source1: https://github.com/sherpa/sherpa-test-data/archive/refs/tags/%{version}.tar.gz#/sherpa-test-data-%{version}.tar.gz
|
||||||
# PATCH-FIX-UPSTREAM https://github.com/sherpa/sherpa/pull/1807 NumPy 1.25 support
|
|
||||||
Patch: numpy125.patch
|
|
||||||
# PATCH-FIX-UPSTREAM https://github.com/sherpa/sherpa/pull/1819 CI: hide NumPy 1.25 array ndim>0 deprecation warnings
|
|
||||||
Patch: numpy125-CI.patch
|
|
||||||
BuildRequires: %{python_module devel >= 3.8}
|
BuildRequires: %{python_module devel >= 3.8}
|
||||||
BuildRequires: %{python_module numpy-devel >= 1.19}
|
BuildRequires: %{python_module numpy-devel >= 1.19}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
@ -105,6 +101,7 @@ donttest="test_save"
|
|||||||
donttest+=" or (test_regproj and sherpa.plot.dummy_backend)"
|
donttest+=" or (test_regproj and sherpa.plot.dummy_backend)"
|
||||||
donttest+=" or (test_fit_single and Chi2XspecVar)"
|
donttest+=" or (test_fit_single and Chi2XspecVar)"
|
||||||
%endif
|
%endif
|
||||||
|
donttest+=" or test_Griewank"
|
||||||
%pytest_arch %{?jobs:-n %jobs} --pyargs sherpa -k "not ($donttest)"
|
%pytest_arch %{?jobs:-n %jobs} --pyargs sherpa -k "not ($donttest)"
|
||||||
|
|
||||||
%post
|
%post
|
||||||
@ -121,7 +118,7 @@ donttest+=" or (test_fit_single and Chi2XspecVar)"
|
|||||||
%python_alternative %{_bindir}/sherpa_test
|
%python_alternative %{_bindir}/sherpa_test
|
||||||
%python_alternative %{_bindir}/sherpa_smoke
|
%python_alternative %{_bindir}/sherpa_smoke
|
||||||
%{python_sitearch}/sherpa
|
%{python_sitearch}/sherpa
|
||||||
%{python_sitearch}/sherpa-%{version}*-info
|
%{python_sitearch}/sherpa-%{version}.dist-info
|
||||||
%{python_sitearch}/stk.so
|
%{python_sitearch}/stk.so
|
||||||
%{python_sitearch}/group.so
|
%{python_sitearch}/group.so
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3b3c4b7ce8a03a2cf2c5f3d1f288a6f332885ca04c50b1a829d4a244281f3112
|
|
||||||
size 13362922
|
|
3
sherpa-4.16.0.tar.gz
Normal file
3
sherpa-4.16.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:95e665d87048a26e203785e6efbb9f44cf75cb6ea0c9ee853e3796b5a0c9444f
|
||||||
|
size 13686939
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a6b6335bd6ad84ff28a7fdc32b5cc45952c7aded193bc55154f4e208736c4126
|
|
||||||
size 134765085
|
|
3
sherpa-test-data-4.16.0.tar.gz
Normal file
3
sherpa-test-data-4.16.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:27d356af9d819ca0a5df9cca2ff8f29444629a33a9d5d347ed790a8d4596b7f5
|
||||||
|
size 137774612
|
Loading…
Reference in New Issue
Block a user