Sherpa

Latest version: v4.17.0

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

Scan your dependencies

Page 3 of 7

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.

4.12.2

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

This release of Sherpa serves as the baseline release of Sherpa for CIAO 4.13. It contains numerous enhancements and fixes including items which are stand alone sherpa specific. Notable highlights include:

* plotting improvements
* improved support for matplotlib (linestyle changes in matplotlib 3.3, support of alpha channels)
* overplot support for plot_fit_* plt_bkg_fit_*
* updates to histograms, residual plots
* data I/O and data handling
* several bug fixes to handling of the PHA, ARF, RMF files
* modeling
* support for regrid models in the binary expressions
* improvements and bug fixes to background treatment in spectral models
* improvements in the flux calculations and resampling
* added the Voigt model
* documentation changes
* improvements to Sherpa display in IPython/Jupyter notebooks
* updates to the content of the docstrings for generation of ahelp files

Details
-------

Testing and infrastructure fixes are not shown.

483 - An initial release of simultaneous fit on multicores (slower for most…
Distributes the evaluations of the multiple independent data sets using the
multi-cores built-in the user's workstation. The current default setting for this
PR is to evaluate the multiple independent data sets sequentially since the
overhead for distributing the workload across multi-cores is high if the evaluation
of the data sets is not time consuming.

631 - Add HTML representations of common classes for IPython display (fix 345)
An initial version of HTML display support for Sherpa objects for users of
IPython/Jupyter notebooks.

634 - Added invitation for native software citation
Adds a citation method to the sherpa module and updates CITATION to refer to this
new functionality

693 - Address matplotlib linestyle removal in Matplotlib version 3.3
Matplotlib version 3.3 now requires you to split out the drawstyle and linestyle
arguments. This set of PRs changes the code so that the two arguments are now set:
linestyle defaults to solid and drawstyle to default for plots and step-mid for
histograms. This appears to replicate the old version, and should be backwards
compatible (drawstyle is supported in Matplotlib 2.2.5 and 1.5.3)

709 - Residual-style plots ignore the ylog setting (fi586)
Residual, ratio, and delchi plots always use a linear scale for the y axis, no
matter what the ylog setting is.

740 - resample_data: when the error range on a bin includes -1 and no-longer restrict
sampling to +/-1 sigma
Fixes resample_data/ReSampleData so that it correctly handles bins where the range
of data values (i.e. low to high limit) includes the value -1.

741 - Fix issue 638, guess needs to update fwhm/sigma bounds
Adds support for guessing the fwhm or sigma parameters of the Gauss2D,
NormGauss2D, and SigmaGauss2D models

750 - Add xspec convolution api
Adds support for XSPEC convolution-style models - this link is valid for XSPEC
12.10.1 documentation

765 - Add docs for setting up all dependencies of the source build with conda
Adds documentation on how to use conda to install source build dependencies

766 - No error for no-ops in `ungroup` and friends
Removes DataErrs when ungrouping a dataset that is not grouped or unsubtracting
a dataset that was not subtracted

770 - Replace EmissionVoigt/AbsorptionVoigt models by Voigt model (fix 597)
Replaces the EmissionVoigt and AbsorptionVoigt models with a single model,
Voigt1D. The EmissionVoigt and AbsorptionVoigt models will error out when an
instance is created, pointing users to Voigt1D (as the parameter definitions
have changed).

772 - Add XSPEC 12.11.0 support (HEAsoft 6.27)
Adds support for XSPEC 12.11.0 (released March 31 2020)

782 - Add a pyproject.toml file
Adds a pyproject.toml file to the top level (PEP 518) to document build
requirements

789 - fix issue 788, fit using moncar with verbose=1 and/or numcores!=1
Fixes NameError in moncar when verbose setting >0

791 - Fix ignore/notice error-ing out when all bins have been set bad 790
Allow notice and ignore to be called on a dataset which has no "good" bins
after ignore_bad has been called

793 - Accept masked arrays for Data XXX creation
Allows use the mask of numpy arrays when initializing DataXXX

803 - Updates to sampling of energy and photon fluxes: bug fixes and calculate
unabsorbed components
Fixes and improvements to the energy_flux and photon_flux set of commands:
sample_energy_flux, sample_photon_flux, plot_energy_flux, plot_photon_flux,
get_energy_flux_hist, and get_photon_flux_hist

811 - Remove all __future__ imports
Removes __future__ imports that were in place when sherpa supported python 2

812 - Add unsubtract and ungroup to datastack
Adds corresponding unsubtract and ungroup methods to match subtract and group

815 - fix typo in rst docs
Fixes a typo in the rst docs

821 - Add hyperlink to similarly named SHERPA package
Documentation update to include a link to thethe similarly named package "SHERPA"
for hyperparameter tuning of machine learning models

842 - Fix scaling of staterror when reading PHA file with rate instead of counts
Fixes scaling of STAT_ERR when reading a PHA spectra with a RATES column instead of
COUNTS

845 - xspec table models: add out-of-bound check to avoid segfault
Adds explicit out of bounds checks to avoid segv when calling an Xspec table model

851 - Updates to the Read-The-Docs build environment
Update the Read-The-Docs configuration to the latest version (2), and switch to a
cleaner build (using conda) for the documentation. The minimum Sphinx requirement is
now 1.8 (updated from 1.3).

856 - Support setting the id value in load_pha with pha2 files (fix 666)
Updates load_pha to set the data ids of PHA2 datasets to: id to id + nfiles - 1
(when id is an integer), or "{}1".format(id) to "{}{}".format(id, nfiles) when id
is a string.

858 - Minor documentation improvements to ReadTheDocs
Adds minor updates to the convolution, regrid, and model evaluation sections of
the ReadTheDocs documentation

859 - Clean up of the XSPEC interface code
Internal changes to the XSPEC interface code, which reduces the amount of similar
(sometimes identical) code. There is no change to the behavior of the XSPEC models.

865 - Minor documentation fixes
Several documentation fixes: XSPEC parameter names, avoiding confusion over links on
references (Sphinx pages), and adding some basic documentation to the
sherpa.astro.background module

866 - Add parameter-clipping strategy to routines that generate samples (fix 846)
The addition of the clip parameter lets users control how parameter values are
clipped before use in sample_energy_flux, sample_photon_flux, plot_energy_flux,
plot_photon_flux, get_energy_flux_hist, and get_photon_flux_hist.

868 - Add delete_pileup_model (fix 441), list_pileup_model_ids, list_psf_ids functions,
fix list_models (fix 749)
Add the delete_pileup_model() function to allow a pileup model to be removed from
a fit (issue 441), and list_psf_ids() and list_pileup_model_ids() routines to list
those datasets with an associated PSF or pileup model. The list_models() routine
no-longer returns an iterator but a list when given an option (issue 749).

871 - Add MacOS LDFLAGS warning to devdocs
Copies the warning about setting PYTHON_LDFLAGS from the install page to the
developer docs

884 - Move logic from ui layer to DataPHA class: background responses (fix 879, 880)
Moves the logic for adding a background response, if one doesn't exist, from the UI
layer to the DataPHA class to clear up several edge cases

888 - Support vector backscales and bugfix for background modeling
Supports fitting backgrounds to PHA datasets which have a variable BACKSCAL array
(rather than a scalar), which can come from combining spectra (e.g. the CIAO contrib
script combine_spectra) or from the data extraction process. In doing so a number of
routines related to the scaling of background-to-source aperture data have seen
adjustments to behavior and some enhanced functionality (such as
sherpa.astro.ui.get_bkg_scale and the sherpa.astro.data.DataPHA.get_background_scale
method).

4.12.1

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

This release of Sherpa supports a patch for CIAO 4.12. This release is driven by fixes that were deemed necessary to warrant a patch to sherpa in the CIAO 4.12 release. The changes include issues which had the potential of impacting users by either stopping an analysis session or providing incorrect or potentially confusing results, particularly in the area of grating analysis and multiple datasets. Additionally, this patch includes several fixes and improvements such as initial support for Python 3.8.

This version of Sherpa has been tested with Python 3.5, 3.6, and 3.7. There has been limited python 3.8 testing as well.

Details
-------

Testing and infrastructure fixes have been omitted

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.