forked from pool/python-sherpa
- 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/package/show/devel:languages:python:numeric/python-sherpa?expand=0&rev=33
This commit is contained in:
parent
d49bf1d729
commit
f50f69dd2d
@ -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>
|
||||
|
||||
|
@ -17,17 +17,13 @@
|
||||
|
||||
|
||||
Name: python-sherpa
|
||||
Version: 4.15.1
|
||||
Version: 4.16.0
|
||||
Release: 0
|
||||
Summary: Modeling and fitting package for scientific data analysis
|
||||
License: GPL-3.0-only
|
||||
URL: https://github.com/sherpa/sherpa/
|
||||
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
|
||||
# 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 numpy-devel >= 1.19}
|
||||
BuildRequires: %{python_module pip}
|
||||
@ -105,6 +101,7 @@ donttest="test_save"
|
||||
donttest+=" or (test_regproj and sherpa.plot.dummy_backend)"
|
||||
donttest+=" or (test_fit_single and Chi2XspecVar)"
|
||||
%endif
|
||||
donttest+=" or test_Griewank"
|
||||
%pytest_arch %{?jobs:-n %jobs} --pyargs sherpa -k "not ($donttest)"
|
||||
|
||||
%post
|
||||
@ -121,7 +118,7 @@ donttest+=" or (test_fit_single and Chi2XspecVar)"
|
||||
%python_alternative %{_bindir}/sherpa_test
|
||||
%python_alternative %{_bindir}/sherpa_smoke
|
||||
%{python_sitearch}/sherpa
|
||||
%{python_sitearch}/sherpa-%{version}*-info
|
||||
%{python_sitearch}/sherpa-%{version}.dist-info
|
||||
%{python_sitearch}/stk.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