Sherpa

Latest version: v4.16.0

Safety actively analyzes 629004 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 6

4.15.1

=============

This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* further improvements to filtering/grouping including reporting a filter change in the UI
* fake_pha can be called with a list of ARF/RMF names
* added linewidth option for line and histogram plots
* documentation changes:
* fixed broken URLs
* improved documentation for templates, plot_pvalue
* added documentation testing with doctestplus
* Infrastructure changes:
* dropped support for Python 3.8
* experimental support of Python 3.11
* supported versions of Xspec are 12.12.0 - 12.13.0
* bug fixes:
* various updates to notice/ignore and group/ungroup code
* fixed issue with show_bkg
* fixed issue when binning values into a 1D histogram
* fixed cache errors with the TableModel class

Details
-------

1396 - XSPEC minimum version is now 12.10.1
Bump the minimum-supported version of XSPEC from 12.9.0 to 12.10.1.
(superseded by 1609)

1472 - tests: remove work-around for 1334 from 1336
Remove a test work around for our CI tests failing (issue 1334)

1486 - Improve filtering/grouping behavior
Changing the grouping array of a PHA dataset (with set_grouping from the UI layer
or by setting the grouping attribute of a DataPHA object) will now re-create the
filter, to fix 1160.
It is suggested that the filter expression (e.g. as returned by the get_filter
routine for uses of the UI layer) is checked to ensure the result is still sensible.

1502 - Cleanup template code
Improve the documentation and testing of the template-model code. There is no
significant change in behavior, but some use cases will generate more-appropriate
errors than they used to.

1591 - Document params and return values for root finding functions
Add docstrings for root finding functions

1607 - Fix an issue when binning values into a 1D histogram
Fix a problem when binning data into a histogram (issue 1605).

1609 - XSPEC minimum version is now 12.12.0
Bump the minimum supported XSPEC version to version 12.12.0.

1611 - Post 4.15.0 updates
Add the 4.15.0 DOI to the README.md.

1613 - Allow testing of the documentation
Adds the ability to run doctests in py and rst files. Those tests will run
automatically, if doctestplus is installed (not on CI in the current setup) and
the file is not explicitly blacklisted for doctestplus.

1621 - Fix a cache error with TableModel
Fix cache errors with the TableModel class (1622), add validation of input
values, and minor additions to the documentation.

4.15.0

=============

This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* Improved validation of arguments when creating Data objects:
* arrays sent to Data objects are now converted to ndarrays
* the independent axis is now made read-only
* the size of a data object is now fixed.
* Filter setting with notice/ignore are reported to the screen for the users of the UI layer.
* Increased test coverage for plotting
* documentation changes:
* updated readthedocs to use pip and pytest instead of setup.py
* several updates to documentation, including updates to fake_pha, calc_ftest, calc_mlr
* Infrastructure changes:
* Drop support for Python 3.7
* Updates to start creating Python 3.10 Conda packages.
* Use Numpy 1.20 for Python 3.8/3.9 and Numpy 1.21 for Python 3.10.
* Moves toward PEP-517 with some distutils cleanup and more configuration moved from setup.py to setup.cfg
* Various improvements to the GitHub Actions and GitLab workflows
* bug fixes:
* Ensure chi2xspecvar errors match XSPEC when 0 counts are present during background subtraction
* Remove model instances from the global symbol table when clean is called
* Addresses new warnings in the tests for Matplotlib 3.6.0 and AstroPy 5.1
* Minor copy and paste error in fake_pha docstring
* Test issues in test_fake_pha.py due to randomness

Details
-------

1329 - Build updates (move towards PEP-517 support)
Move the Sherpa build system towards a more static configuration (PEP 517)

1412 - XSPEC: initialize XSPEC library at load time
Simplify how and when the XSPEC model library is initialized. Fixes 1388

1477 - Add data validation
Improve the validation of arguments when creating Data objects- Arrays sent to
Data objects are now converted to ndarrays, the independent axis is now made
read-only, the size of a data object is now fixed.

1504 - CI: rework setup
Update the GitHub workflows for Continuous Integration to better take advantage
of the workflow language.

1505 - RTD use pip/pytest rather than setup.py for install/develop/test
Change the RTD documentation to use pip and pytest rather than setup.py when
building and testing Sherpa

1507 - tests: ensure DS9 window is closed after the tests
Ensure that any DS9 process started by the Sherpa tests is closed when the tests
are finished.

1510 - Tests: improve test coverage of plot code
Improve the testing coverage for several plot routines.

1513 - Minor UI tweaks
Added validation to the set_xlog/ylog/xlinear/ylinear and updated save_model,
save_source, save_resid, and save_delchi commands from sherpa.ui to not error
out if not given an explicit identifier.

1516 - Consolidate plot and set_xlog handling
Use the same labels for the plot and set_xlog/set_ylog/set_xlinear/set_ylinear
functions. As a result, a number of names can no-longer be used as an identifier
for a dataset (bkg_chisqr, bkg_delchi, bkg_fit, bkg_model, bkg_ratio, bkg_resid,
bkg_source).

1519 - Use direct html links instead of using `[1]` and a reference section
This replaces the use of a "References" section with direct URL links in
particular in cases where the reference is just a plain old HTML website and
not a scholarly publication.

1523 - Ensure the region-lib code is re-generated when needed
Fix a build issue with clang where the region-library code caused an error
message

1529 - Add arguments to -i in sed calls in config script
Update sed command in config script for improved portability

1532 - Add plot related tests
Add more tests to cover corner case scenarios (mostly plotting related).

1534 - docs: fix calc_ftest/mlr documentation
Note that calc_ftest and calc_mlr can return an array or scalar value, depending
on the input.

1536 - Tests: add more tests of get_order_plot/plot_order
Add a test for multiple orders and plot_order.

1537 - Remove model instances from the global symbol table when clean is called
Ensure that models are removed when clean() is called.

1538 - Ensure chi2xspecvar errors match XSPEC when 0 counts are present during background subtraction
When using the chi2xspecvar statistic for estimating PHA errors, ensure that the
errors match those calculated by XSPEC when the background is subtracted and the
source or background group contains 0 counts

1540 - Tests: fix the random seed for a fake_pha test
Remove randomness from a test.

1547 - Fix CI failures from AstroPy 5.1 warning changes
Allow the macOS tests to run on CI with AstroPy 5.1.

1554 - Install New libxcb Dependencies for Qt
For Linux GitHub Actions, we now install libxcb dependencies required for
Conda's Qt package.

1555 - Bump the ci-pip-arch workflow to ubuntu-20.04
Update to use ubuntu 20 as GutHub Actions is deprecating ubuntu 18.04

1562 - report the change in the filter because of calls to notice and ignore
When a notice or ignore call - including the variants like notice_id and
ignore2d - then the change in the filter is reported to the screen (for users
of the ui layer).

1563 - Add Python 3.10 Conda Builds, Drop Python 3.7 and Numpy <1.20, Switch to Pip for Conda Builds
Drop official support for Python 3.7 and start creating Python 3.10 Conda
packages. Our Conda builds now use Numpy 1.20 for Python 3.8/3.9 and
Numpy 1.21 for Python 3.10.

1566 - GitLab: Add version info to deploy test, update test OS, and allow interrupt.
Updates to gitlab to support automated tests, save version info, set default to
interruptible to allow canceling pipelines, and switched to source conda instead
of adding it to the path

1567 - Fix minor copy and paste error in fake_pha docstring
Make UI layer fake_pha work for XMM/RGS by accepting input of arf=None when an
RMF file is given.

1569 - Minor changes to the fake_pha test added in 1567
Internal changes to the test added for fake_pha in 1567

1572 - Tests: fix a logical test error
Fix a logical error in a plotting test.

1574 - Avoid occasional test errors from Tcl_AsyncDelete
Switch the matplotlib tests to use the Agg backend to avoid possible
Tcl_AsyncDelete errors (issue 1509)

1578 - Gitlab: Reduce artifact retention period
reduces artifact retention from 2 weeks to 3 days due to new gitlab 5gb
restrictions

1579 - Add back --python removed in 1566
reinserts --python flag that was accidentally removed in 1566

1580 -add a versionchanged note for the fake_pha command
Update the documentation to note the change to fake_pha in 1567

1585 - Tests: work around matplotlib 3.6.0 warning
Allow the tests to pass when run with matplotlib version 3.6.0.

1589 - Set the language when building the documentation
Ensure the language setting is defined for recent versions of Sphinx

1594 - gitlab-ci: Set build num to 0 if not set
Set the default Sherpa build number to 0 in our GitLab workflow to know which
package to run deploy tests on for official release builds.

1600 - Change the histogram1d and 2d routines so that they do not sort the input arguments
Address some failures in histogram1d and histogram2d routines by making sure
they copy the input arguments before sorting them.

Caveats
-----------

* There are known issues (1602, 1605, 1606) in the histogram1d/histogram2d functions
leading to failures which were not fully addressed in this release (see the failed
case in the second histogram1d example). This is not the Sherpa core functionality
and numpy.histogram can be used if needed.

4.14.1

=============
This release of Sherpa includes various enhancements, documentation updates, bug fixes, and infrastructure changes.

* enhancements:
* various plotting backend improvements
* various i/o backend improvements
* data object class improvements
* basic support for Xspec 12.12.1
* beta support for python 3.10
* documentation changes:
* updated build with CIAO documentation
* Add a missing class (DataOgipResponse) to the documentation
* Improves the docstrings for DataPHA
* fixed typos in plot docs
* clean up readthedocs issues such as missing bullets
* Infrastructure changes:
* updates for compatibility with Clang 12.0
* updates to the regression tests
* bug fixes:
* Improve the FITS headers created when writing out a PHA file (to better match OGIP standards)
* addresses delete_model_component call failing if a key does not exist
* fixed issue with writing a PHA dataset as a table rather than a PHA file
* ensure FITS column access is case insensitive
* image handling and image coordinates

Details
-------

1030 - Update lev3fft test to use PHYSICAL not WCS
Update a 2D image test to use physical rather than WCS coordinates for the fit.

1185 - Simplify switching the astro.io backend
Add dummy_module, docs, and test case for switching the sherpa.astro.io backend.
io backend are now tried in a default order (crates, pyfits, dummy)

1191 - Make it easier to switch the plotting backend
Make is easier to switch the plotting backend (note that we currently only have on
backend implemented anyway)

1207 - Improve OGIP headers in PHA files
Improve the FITS headers created when writing out a PHA file (to better match OGIP
standards). Fixes 488 and 1209

1314 - test: add requires_data decorator
Add a needed decorator for a test. There's no functional change to the code.

1317 - Add requires group test decorators
Ensure the tests that require the group library are marked with the requires_group
decorator.

1318 - Adjust a test for python 3.10
Adjust a test so that it passes with Python 3.10

1326 - Write-up that environment variable in setup.cfg need to be expanded
Add a detail to developer docs about compiling in a conda ciao environment

1328 - Versioneer cleanup
Update the versioneer module we use from 0.14 to 0.21 (latest).

1331 - optmethods: remove Deprecation warning about invalid escape string
Remove a deprecation warning from sherpa.optmethods.optfcts and update some fake_pha
tests to each use a fixed random seed.

1332 - Add Instrument test
improved the psf tests, adding low-level tests of the tcdData class

1337 - Fix import statements
Change from using __import__ to importlib.import_module.

1338 - clean up some C/C++ code in the _psf.cc file
Minor clean up of C/C++ code

1339 - Add codecov.yml to fix path issue and update codecov uploader
Fix path parsing issue on codecov as well as updated for the new codecov uploader

1340 - Change how the sherpa config file is accessed
Support environments where the HOME environment variable is not set when accessing
the Sherpa configuration file.

1347 - Refactored array classes cause std::vector has non-virtual destructor
std::vector has non-virtual destructor so in this PR the refactored Array (1D and 2D)
classes no longer inherit from std::vector

1348 - Minor internal code cleanup tracking errors
Minor internal changes to how some errors are raised. There should be no
user-visible differences due to this changes.

1351 - Update the sherpa-test-data repo to the latest from main
updates that reference to the latest copy

1353 - Fix issue with delete_model_component
The delete_model_component call could fail in certain circumstances, so fix those
cases. Fixes 16

1355 - Minor cleanup of the I/O code
Minor internal clean-up of the I/O code. There should be no user-visible changes.

1359 - Improve writing out data objects as a table (fix 47)
Fix writing out of PHA datasets as a generic table (both ASCII and FITS formats).
Fixes 47

1360 - Add missing export statement to clang 12 note
Update documentation to be clearer on how to build on clang 12 and avoid compiler
error on implicit function declarations

1361 - Ensure FITS column access is case insensitive for the pyfits I/O backend (fix 143)
Allow FITS colummn access with the pyfits backend to be case insensitive. Fixes 143.

1365 - Simplify a test (fix 541)
Remove duplicated code in a test (fix 541).

1370 - Minor tweaks to handling of PHA settings
Improve the checking of the factor and rate settings of set_analysis and the
plot_fac attribute of the DataPHA class, and add a few tests that exercise some
corner cases of the DataPHA class.

1374 - Address aarch/ppc64le test failures
Update tests to that they pass on aarch64. Fixes 1372

1376 - Very-minor tweaks to docs/tests
Fix a minor test issue and an unused reference in the documentation.

1387 - minimize C++ code duplications (rebase)
Remove code duplication in the XSPEC module.

1399 - Allow conf/covar/proj to be used with XSPEC model parameters (regression)
Ensure that conf, covar, and proj can be called with an XSPEC model parameter.
Fixes 1397.

1401 - Modified region code to remove implicit prototype error
This change updates the extern region code in sherpa to resolve a missing prototype
which causes build issues with clang 12.0.

1403 - Updates to fix typos in the plot documentation
Update to fix a few typos in the plot documentation

1410 - Add script and docs for pre-commit hook to update copyright
Add example script for a git pre-commit hook that checks the copyright is up to date.

1411 - Add sphinx_rtd_theme to sphinx extensions and set min version
Our readthedocs pages have had some visual issues (in particular, bullets point
where missing from output) for a while. This fixes that by ensuring we are using
a recent version of the sphinx theme.

1413 - Add more editor/OS exclusions to .gitignore
Add a VSCode workspace summary files and MacOS directory preview files to .gitignore

1414 - Improve the handling of image coordinates
Address an error when converting between different coordinate systems for images.
Fixes 1380.

1415 - RTD fix missing and changed symbols
Update the ReadTheDocs build to cope with changes in 1191

1418 - Fix minor test issues
Address several minor test issues.

1419 - Keep .rc file backwards compatible
Default rc files will work in older version of sherpa as well.

1421 - Address usability issues with Data2DInt and DataIMGInt classes
Fix issues using the Data2DInt and DataIMGInt classes (1379).

1423 - fix a compiler bug on macOS
update to address compiler issue when compiling on macOS

1424 - rm primini stat method
This PR removes the primini iterative statistical method. Please see issue 1392
for details

1425 - Allow users to freeze models
Models can now be frozen or thawed, which just calls the requested on all the
parameters of the model (except for "alwaysfrozen" parameters which are skipped).
This is only relevant for users who are accessing the objects directly since the ui
versions of freeze and thaw already implemented this behavior. Fixes 1080.

1429 - Tests: fix up test problems shown by pytest 7.0.0
Fix up several tests so they can be run with pytest 7.0.0. Fixes 1428

1434 - Fix aarch64 test failures
Allow the tests to pass on aarch64 (numerical precision checks).

1435 - Minor clean up of the data code
Improves the docstrings for DataPHA, adds tests for several corner-cases, and makes
some minor code improvements to the code.

1440 - Minor clean up of the data routines
Address several minor code-style changes in the data handling (code and tests).

1441 - Clean up the data tests
Clean up of the data tests which were added as part of the data-class rework in 614.

1442 - Ensure channel and count fields for PHA are aliases of independent and dependent axes
Ensure that channel and the independent axis and counts and the dependent axis are
synonymous for the DataPHA class.1451 - Tests: ensure sherpa smoke tests are done
in a clean environment

1453 - Tests: mark those that require the group module
Note a number of tests that require the group module.

1454 - RTD: update copyright year and fix WCS library
Update the sphinx build instructions so that changes from PR 1414 will be documented
correctly on systems where the documentation is being built without first compiling
the code (such as read-the-docs).

1455 - RTD: update the build-from-CIAO documentation
Update the "build with CIAO" documentation to match the CIAO 4.14 conda instructions
and automate the process.

1458 - Improve several issues when building and testing Sherpa
Minor improvements to the build and test installation. The use of setuptools has
been restricted to match the current advice from NumPy (< 60, from
https://numpy.org/devdocs/reference/distutils_status_migration.html).

1461 - Minor grouping cleanup
Minor internal change to how the group routines work for PHA objects.

1462 - Docs: fix up documentation of ui.set_grouping
Fix the documentation for set_grouping to match the code.

1463 - rm a redundant call to calc_h
Removed a redundant call the the calc_h method in the class fdJac

1464 - RTD: include the DataOgipResponse class in the documentation
Add a missing class (DataOgipResponse) to the documentation.

1473 - Data test minor cleanup
Minor test clean-ups.

1474 - Add basic tests of data validation
Ensure we test a number of corner cases related to data validation.

1484 - Include ciao region patch
Allow the CXC Data Model library to be used to parse region files, if available.
This is primarily intended for building Sherpa as part of CIAO.

1485 - get_header_data is an official method of the astro.io backend
An internal change to make sure that the get_header_data routine is part of the
astro I/O backend API.

1490 - Basic support for XSPEC 12.12.1
Allow Sherpa to be built with XSPEC 12.12.1. It does not provide access to the three
new models - polconst, pollin, and polpow - added in this release of XSPEC.

4.14.0

=============
This release of Sherpa includes various documentation updates, bug fixes, enhancements, and infrastructure changes.

* enhancements:
* filtering and grouping area for binned (1D) spectral data has been improved
with changes to the default behavior and many bug fixes resulting in changes
to the statistics, degrees-of-freedom and energy flux in comparison to the
previous version for the same data with the same filter.
* updates to allow users to change the hard limits of XSPEC model parameters
* the sample_flux routine now returns correct information for the clip column
* documentation changes:
* improved PHA simulation documentation
* improved Filtering and grouping of PHA data documentation
* added sherpa.image module documentation
* added section on running tests to developer docs
* Infrastructure Changes:
* updates to support Apple ARM
* update to support Xspec version 12.12
* update fftw from version 3.3.8 to 3.3.9
* clean up of compiler and sphinx warnings
* changes to support gcc 9.3.0 in conda defaults
* updates to support python 3.9 including readline 8.1 upgrade, numpy minimum 1.19 (numpy 1.18 minimum for python 3.7/8)
* test infrastructure clean up and updates
* bug fixes:
* updates to fix several 'unable to parse region string: None' errors
* fix issue where save_all() of a loaded image with no region filter would fail on reload
* fixed issue with plot_model() being called before notice or ignore could lead to filters not getting applied
* fix to error out instead of crash when grouping data using an unsupported method

Details
-------

1031 - Update fwhm calculation
Update the estimation of FWHM for 1D profiles, and hence the guess method for
Gauss1D and related routines. The 2D models use the same routine so see these
changes.

1073 - Allow fake_pha to be called with an identifier of None
The fake_pha command now treats id=None as the default id. This addresses 1064.

1106 - The sample_flux routine now returns the correct information for the clip column
The sample_flux routine now returns correct information for the clip column
(that is, it matches the clipping done by this routine). There may be changes to
the reported error ranges because of this change.

1107 - Add some grating related keywords for _repr_html_ for ARF, RMF, PHA
Add keywords to the default output in the _repr_html_ for some X-ray classes.

1113 - XSPEC: support etable table models
Allow XSPEC ETABLE table model files to be read by load_xstable_model by
setting the etable parameter.

1118 - Improve test cases for source plots with PHA data
Add additional test cases for source plots with PHA data to check out
rarely-used combinations.

1127 - PHA filtering changes
Improve some corner cases for filtering PHA data, including fixing 921 (channel
bounds are integers, not half-integers).

1131 - Test: fix a test failure when XSPEC installed but no fits backend
Avoid running a test we know to fail for an uncommon combination of options.

1134 - This is a doc-string only update for load_multi_XXX
The previous example implied that a spectrum may contain both positive and
negative orders in the same spectrum. That can happen only after coadding -
and in that case one would co-add the arfs as well.

1135 - Added docstring and removed unused no-op class
Remove sherpa.astro.models.MultiResponseSumModel which did nothing and seems
to be unused (except in a test that explicitly skip this class).

1136 - Replace error message "too few columns" with a more generic word
Change the wording of an error message. Potentially breaking if someone tests
for the wording of the error message in their code, but certainly more correct.

1137 - Correct docstring for fake_pha
The old docstring claims that the background is just scaled and not simulated,
but there is definitely a call to poisson_noise for the background in the code.

1138 - Address NumPy 1.20 bool/int/float deprecation warnings
NumPy 1.20 notes that numpy.bool, numpy.int, and numpy.float will be removed
and users should just use bool, int, and float instead, so these symbols have
been changed. This is a follow on to 1092

1140 - Fix some remaining master/main renames
clean up references to master with main

1143 - add basic test and documentation for Integrate1D
Add basic testing of the integrate1d model class and improve its documentation.

1144 - A minor cleanup of estmethods
A minor cleanup of the sherpa.estmethods code.

1147 - Tests: support use of data directory being local, not absolute
Allow a test to pass when given a relative path for the test data directory.

1154 - Update docs on RTD builds
Update docs on how the docs are build in CI

1155 - Remove Meta class for fits hdu headers
Remove Meta class for header information that is used only rudimentary and
acts almost, but not quite, like a dict

1163 - XMM/RGS triggers a notice/ignore bug because channels are in reverse-energy order in RMF
Recent work on the ignore / notice logic in 1127 implicitly assumes that the
energy grid in PHA/ARF/RMF files is in increasing order, which does not hold
true for XMM/RGS data

1164 - Fix plots with wavelength general:visualization type:bug
For some data files, plots with a reversed grid (i.e. plots in wavelength) were
drawn with disjoint lines since 906.

1165 - Add a section on running the tests to the developer docs
Add a section on running the tests to the developer docs

1168 - Logging tweaks
Include the sherpa.utils.logging module in the documentation and update a test
to use the caplog feature of pytest (the code had been written to work with
python 2.7 version of unittest).

1170 - Update Python and particularly number versions in documentation
Updates to doc pages that list dangerously old numpy versions

1171- Improve the grouping/filtering tests
Add a number of tests for corner cases of filtering and grouping of PHA data.

1172 - Improve data pha docs
Improve the documentation of the filtering and grouping of PHA data.

1173 - Improve DataPha documentation
Minor improvements to the documentation of the DataPHA class.

1175 - Store UI contour plots in a dictionary, not directly
Change the internal storage handling of contour objects

1177 - minor rework of image handling for ui layer
Change the internal storage handling of image objects and improved testing

1178 - Define physical constant hc in fewer places
hc (as in "Planck constant * speed of light") is a physical constant that does
not depend on the DataPHA and thus it should not be defined as a class attribute.

1180 - Minor improvements to model/parameter documentation
Minor fixes and improvements to the documentation (both docstrings and RTD)
for the model- and parameter-related code.

1182 - Simulations with multiple responses
Enable simulations with multiple ARF/RMF present (e.g. LETG/HRC).

1183 - Check parameter link behavior
Minor tweaks to the parameter tests.

1184 - Better pha model component plotting (fix 1020)
The use of plot_model_component and get_model_component will now automatically
add the response for PHA data sets, if there is one. Model expressions which
contain a response will not be changed. Fixes 1020.

1187 - Conda GCC 9.3.0 update issue
update to support environment changes due to conda defaults updates for
gcc 9.3.0

1192 - Remove Python 3.6 and add Python 3.9
updates to switch python support to python 3.7-3.9

1194 - datastack: Improve show_stack and add _repr_html_ for stack
Improve datastack display (via show_stack and in the notebook) for datastacks.

1198 - XSPEC test cleanup
Very minor improvement to the XSPEC test suite.

1199 - Move the regrid code out into a separate method
Very minor code reorganization for the regrid code.

1203 - Update GitLab Conda recipe to numpy 1.19
updates gitlab conda recipe to python 1.19+ and adds run time pin

1204 - region lib updates for CIAO 4.14
updates to fold in changes to CIAO region lib for CIAO 4.14. Specifically,
fixes for SM-89: bug in pie shape (extent/inside logic), SL-243: region -
deprecate obsoleted Warning.

1205 - Remove the SherpaTestCase class
Remove the SherpaTestCase class from sherpa.utils.testing and switch the tests
that used it to use pytest functionality where appropriate.

1208 - Fix get_xerr for Data1DInt when all data is filtered
The get_xerr method of Data1DInt would fail if all bins had been ignored and
it now returns the empty list.

1215 - Restrict the values used in PHA notice/filter calls
Ensure that the low and high limits for notice and ignore calls for DataPHA
objects are sensible (hi >= lo and that for energy or wavelength filters they
are >= 0). When filtering DataPHA objects in channel units the lo and hi
arguments must be integers otherwise an error is raised.

1216 - filter improvements for DataPHA and Data1DInt
Energy and wavelength filters (with notice and ignore) for PHA data are now
treated as lo <= x < hi in all cases, and channel filters are lo <= x <= hi
(where the channel values must be integers). For Data1DInt cases the notice
and ignore filters are treated as lo <= x < hi. This changes address a number
of corner cases.
This can result in slightly different fit results because the data used in the
fit can be changed and hence changing the number of degrees of freedom (by one
or two depending on whether the first and last bins have been removed).

1218 - Update fftw from version 3.3.8 to 3.3.9
This change updates the version of the fftw module in sherpa's external
dependencies (extern) directory to utilize version 3.3.9 (www.fftw.org) instead
of the previous version 3.3.8

1219 - Fix filter expressions
Filter expressions for Data1DInt and DataPHA cases now report the start and end
value of each set of grouped data rather than use the end points. For PHA data
sets users now see the same ranges displayed whether the data is grouped or not.
The actual filter remains the same even if the filter expressions has changed
slightly.

1223 - XSPEC 12.12.0 support
Support the new additive and multiplicative models in XSPEC 12.12.0 - XSgrbjet,
XSwdem, XSvwdem, XSvvwdem are additive and XSzxipab is multiplicative - and
note the additional abundance tables that are available when running with XSPEC
12.12.0 (lpgp and lpgs).

1227 - Support AstroPy 4.3 for tests
The AstroPy FITS reader is less tolerant of invalid FITS files in AstroPy 4.3
which trips one of our tests. The test has been updated with a FITS file that
doesn't trigger the error case. There is no functional change in this commit.

1228 - Fix three parameter names for XSPEC models
Fix three XSPEC models which had some internal confusion over parameter names:
XSzkerrbb should have uses fcol but had instead used hd, and XSzashift and
XSzmshift used Redshift instead of Velocity. The old names have been kept as
aliases.

1230 - Update submodule to pick up submodule README
Updates submodule to pick up the submodule README

1231 - Remove __init__.py from tests directory
Clean up of a test directory. There is no functional change in this commit.

1236 - Remove compiler warnings
Avoid compiler warnings from clang, fixing 1232 and several other warnings.

1241 - to get sherpa to run Apple M1 (arm)
Initial support of sherpa for ARM build

1244 - Fix "unable to parse region string: None" errors (issue 1214)
In certain circumstances (such as plot_pvalue with an explicit 2D PSF
convolution operator read from a file) the code would fail with the error
unable to parse region string: None (issue 1214). This PR fixes this problem
and several minor related issues.

1246 - Image region filters are now specified correctly (Fix 1245)
Update the image filter code so that the region description matches what the
filter actually is: rather than use & to combine regions we now use | as it
is a logical or rather than logical and. This is mainly going to affect users
who: have used the output of get_filter() as input to calc_data_sum2d, have
very-complex spatial filters, or are restoring Sherpa sessions created by save
or save_all.

1247 - Allow save_all to work well with images with no filters (Fix 437)
Fix a problem with the output of the save_all command if an image had been
loaded but no region filter applied (fix 437): the output file would contain
a notice2d_id call with a filter of "" which would fail if you tried to load
the file back in. It now no-longer creates this line.

1248 - Docs: note that set_stat can be sent a stats object
Update the documentation for set_stat to note you can send in a stats object

1250 - Stop odd interaction between plot_model and PHA filters (Fix 1024)
plot_model(), if done before calling notice or ignore, could lead to strange
filters (e.g. filter not getting applied). This has been fixed. Fixes 1024

1253 - More numpy 1.20 warning fixes
Avoid warnings from NumPy 1.20 about using the deprecated np.int symbol.

1254 - FIX: 1235 change XSPEC chatter to 10 from 0
Change the default X-Spec chatter level from 0 to 10. This may result in screen
output the first time an XSPEC model is evaluated (e.g. from a plot_model or
fit call). There have been a number of cases where APEC models appeared to be
creating no output because of missing data files (due to old ~/.xspec/Xspec.init
settings) which would have been more obvious with this change. To get back to
the previous behavior users can call set_xschatter(0).

1259 - XSPEC parameter changes - you can change the hard limits of most XSPEC parameters
XSPEC model parameters now use the same limits for soft and hard (the hard
limit from the model.dat file). This is handled by the XSBaseParameter class
which is used for XSPEC table models. The XSParameter class, which extends this
and is used by most other parameters, allows the user to change the hard limits
of the model. This follows XSPEC, and allows using some models which are
documented as supporting a value outside the normal parameter range (normally
by setting the value to a negative value). Note that this is potentially
dangerous (it could crash the program) so should be used carefully. It is
strongly suggested that any parameter set to a value outside of the original
limits is also frozen.

1260 - Add a module to parse XSPEC model.dat and helper scripts 1260
Add support for parsing XSPEC model.dat files (useful for updating the XSPEC
module or if you want to use XSPEC local models).

1261 - update to match recent XSPEC model.dat settings
Update the XSPEC models to match the latest model.dat file (from HEASOFT 6.29 /
XSPEC 12.12.0). This primarily changes the hard limits of the models, but there
are some changes to the default parameter values as well, as well as some unit
changes, including adding and removing units.

1264 - Fix crash from grouping data using an unsupported method
It was possible to cause Sherpa to crash by passing an invalid function as the
groupfunc argument to apply_filter and apply_group. The code now errors out
instead. There are improvements to the documentation (docstring and RTD) for
PHA filtering and grouping.

1268 - Doc: switch default sphinx role
Multiply the number of working references on readthedocs, while at the same
time reduce verbosity in the docstrings.

1270 - Cleanup setup
Update the Python supported status in the package metadata (drop 3.5, add 3.8)
and bump the minimum version to 3.6.

1273 - crates backend strip preceding/trailing whitespace when determining ascii file colnames (Fix 1262)
This change modifies the crates backend ascii file handling to resolve issue
1262 where a test added in PR 1253 causes the tests to fail. This change may
potential result in behavior changes for crates use on ascii data files (see
caveat section for details).

1276 - Fix Inconsistent behavior in save_arrays when optional parameter ascii = True/False (Fixes issue 1251)
Updates the data I/O so that write_arrays behaves consistently whether writing
ascii or fits files via the pyfits backend.

1279 - rm the platform cause no longer need it
rm the platform module since it is not needed for ARM support

1281 - RTD: include parse_xspec_model_description
Fix a link on the Read The Docs pages from PR 1260

4.13.1

=============
This release of Sherpa includes various documentation updates, bug fixes, and infrastructure changes. The default branch in github has been migrated from master to main.

* documentation changes:
* updates to documentation for TableModel, Notice2D, cache support for evaluating models, and low level optimization code
* jupyter notebook uopdates
* Infrastructure Changes:
* the master branch has been migrated from master to main
* updates to support numpy 1.20
* updates to support astropy 4.2.1
* updates to support matplotlib 3.4
* test infrastructure clean up and updates
* bug fixes:
* fix an issue with cache evaluation on 1D models using integrated bins
* fix for aarch64 build issue
* fix to sherpa citation command
* fix to honor clearwindow setting for plot_source
* fix errors from save_data when the output file exists
* fix build issues using gcc 7.3 with -Werror=format-security compilation flag
* fix for reg_proj and reg_unc erroring out when the min or max arguments are tuples rather than lists

Details
-------

754 - sample_flux now returns statistic values for each row
The sample_flux command now returns a statistic value for each iteration,
even if those rows are not used in the reported flux distribution. Fixes 751.

769 - add basic cache tracking
Adds the cache_status and cache_clear methods to models for verifying the
cache behavior (this is only expected to be used in rare cases). The cache
code has seen documentation improvements.

946 - rework stats tests
Update the stats tests to use pytest.

960 - Fix model evaluation when changing the integrate setting (fix 958)
Fixes an issue with cache evaluation on 1D models using integrated bins and
the user has changed the integrate setting of the model.

978 - Use C99 def for INFINITY, NAN, isfinite and isnan to build on aarch64 (fix issue 970)
Use the math constants (IFINITIY, NAN) and funcs (isfinite, isnan, signbit)
from a C99 compliant compiler if the compiler option -std=c99 or greater is
used, otherwise use the quantities as defined by the library.

991 - lint changes
Applies a number of flake8-reported warnings to the code base (e.g. excessive
or missing spaces and new lines).

1000 - Improve sherpa.citation (fix 994 987)
Fixes the sherpa.citation() command with its default argument (issue 994) and
adds release 4.12.2 to the hard-coded list of releases. A typo in a warning
message was fixed (987).

1001 - Allow command-line arguments for sherpa_test
Allow command-line arguments to be passed to the sherpa_test script. This allows
running optional tests (e.g. the --runzenodo argument) and to configure the
pytest configuration (e.g. to run coverage checks with --cov sherpa).

1002 - Fix error with clobber=False for paging - issue 996
Fix an error with clobber=False when the output file exists for several paging
commands (e.g. show_data and sherpa.citation). Instead of getting a Sherpa IOErr
being raised a NameError was being raised.

1003 - Fix serialization of iter method data - issue 997
If set_iter_fit_method has been called with a value other than 'none' then the
output of save_all would be incorrect for the options for the iter-fit method.

1004- flake8 F811 - fix repeated test names
Clean up of several test files to fix repeated test names.

1005 - Add explicit get/set_datadir routines to sherpa.utils.testing
Internal changes to how the test data directory location is set and queried,
including removing direct support from SherpaTestCase. Added tests for some
of this functionality, and updated several test files to remove SherpaTestCase
or use the new datadir functionality.

1008 - rm warning msgs, fix issue 980
Fix the compiler warning messages, by defining kwlist to be static const then
use the C++ const_cast to remove the const to conform to PyArg_ParseTupleAnd
Keywords prototype

1012 - Tests: allow test_ui tests to be run with pytest-xdist
Allow the tests to be run with pytest-xdist.

1016 - Jupyter notebook representation not ideal if model components don't have unique names - issue: 1013
Fix an error in the HTML display of a model (used in the notebook) when two
model components have the same name.

1017 - reword remark on normalization of Lorentz function
Updated the comments pertaining to Lorentz function for clarity

1018 - Fix ShekelModifiedInit missing init par vals
This PR fixes the missing initial fitted parameter values for the
ShekelModifiedInit function. A fix for issue 1011

1028 - Update region lib code to correct build issues with gcc 7.3.0 compile
Corrects issue building with gcc 7.3.0+ compilers with the
-Werror=format-security compilation flag

1034 - Add contextmanager and docs on how to control the output level of sherpa
Sherpa uses logging for much of its output, this adds a docs and a context
manager for controlling the output level for a particular piece of code.

1039 - Add docs for basic.TableModel
Added missing documentation for TableModel class

1049 - CI: pip submodule test to report coverage
Report the coverage data from the pip CI run. This only changes the GitHub
Actions runs.

4.13.0

=============

This release of Sherpa coincides with the CIAO 4.13 release. The release contains a few minor documentation updates, a version number update to coincide with CIAO version 4.13.0, and infrastructure changes to migrate from Travis-CI to GitHub Actions for testing. No additional functionality has been introduced.

Details
-------

1043 - RTD: install more packages via pip
Install sphinx-astropy and ipykernel via pip instead of Conda for the Read the Docs
builds to avoid current indirect requirement conflicts.

1035 - Travis to GitHub Actions
Replaces the Travis test infrastructure with two GitHub Actions workflows.

1036 - Cleaned up several typos in the RELEASE_NOTES file
Updates the RELEASE_NOTES file to correct several typos.

1038 - Docs: note Python version and new build status
Updates the build status badge to track GitHub Actions rather than Travis-CI and
report the python versions as 3.6, 3.7, and 3.8.

Page 2 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.