Jaxspec

Latest version: v0.2.2

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

Scan your dependencies

Page 2 of 3

0.1.1

This is our first release after the article acceptance.

- All the `numpyro`'s MCMC are now gathered within our `MCMCFitter` class, where the user can switch using the `sampler` parameter
- Priors can now be passed as a flat dictionary instead of the nested dictionary from `haiku`. We want it to be the main way to pass prior in the future releases.
- Changes in the inner workings of the fitter for future features.

0.1.0

That's it, we are now entering the **beta** release of `jaxspec`! You can expect bugs and changing APIs as always, but now, the project starts to be mature enough so that anyone can use it. You are welcome to give it a try!

**Full Changelog**: https://github.com/renecotyfanboy/jaxspec/compare/v0.0.8...v0.1.0

0.0.8

**New features**

- The best-fit model photon flux, energy flux and luminosity can be computed using the `FitResult` new methods
- Introduction of `NestedSamplingFitter` which is still in beta status
- Large data tables and others are now downloaded at runtime using the `pooch` package

**Breaking changes**

- Prior distribution must now be passed when *building* the fitter object instead of using the `.fit` method
- `BayesianFitter` is renamed to `NUTSFitter`

**Full Changelog**: https://github.com/renecotyfanboy/jaxspec/compare/v0.0.7...v0.0.8

0.0.7

**New features**

- Users can now compute the photon flux, energy flux and luminosity using the related methods from the `FitResult` class. These values can be registered so that comparison with the model parameters can be shown in the corner plots.
- A subset of parameters can be plotted in the `FitResult.plot_corner` by passing the `columns` parameter, which should be the list of parameters to display
- The `cstat` is accessible using `FitResult.c_stat`
- The `plot_ppc` has been slightly reworked, more upgrades to come in the future

0.0.6

Major bugfixes related to the import of APEC tables. `jaxspec` should now automatically release for each new vX.X.X tag

0.0.5

The 0.0.5 release of `jaxspec` is out ! Many code refactoring and internal cleaning is happening, but there are also new features, including a direct fit method for your spectral models.

New features
- `jaxspec.fit` module now includes `BayesianFitter` and `MinimizationFitter` classes to perform either MCMC or direct minimization to find the best set of parameters. Note that `MinimizationFitter` is faster but more likely to fall in local minima.
- Both `BayesianFitter` and `MinimizationFitter` can fit the same model using multiple `ObsConfiguration` at once to obtain stronger constraints. Either pass a `list[ObsConfiguration]` or a `dict[str, ObsConfiguration]` to achieve this.
- Fit results are now plotable with any unit you want! `FitResult.plot_ppc` haw two new kwargs : `x_unit` and `y_type`. `x_unit` argument can be any unit of length, frequency, or energy and the plot will adapt. `y_type` can be any of "counts", "countrate", "photon_flux", "photon_flux_density" and will plot the equivalent curve.
- `fakeit` and `fakeit_for_multiple_parameters` can specify `sparsify_matrix = True` for large RMF.
- `jaxspec.util.abundances` now contains two tables. `abundance_table` contains the most used abundance tables in astrophysics, and `element_table` contains various data about elements, imported from the `mendeleev`package.
- `jaxspec` is now tested against the [HEACIT dataset](https://github.com/HEACIT/curated-test-data) to ensure that it is performant at reading the many types of instrument and observation files produced by the OGIP standard.
Breaking changes
- `ChainResult` is renamed to `FitResult`
- `ChainResult.chain` is renamed to `FitResult.to_chain`
- `ChainResult.sample` has been split to `FitResult.samples_haiku` for a two level dictionary of posterior samples, e.g. `samples['powerlaw_1']['alpha']`, and to `FitResult.samples_flat` for a one level dictionary of posterior samples, e.g. `samples['powerlaw_1_alpha']`.
- `BayesianModel` is renamed to `BayesianFitter`.
- `Instrument.from_ogip_file` now takes arf_path as a kwarg since some instruments use a single .rmf file to carry both the redistribution matrix and effective area. `Instrument.from_ogip_file("data/PN.rmf","data/PN.arf")` should be changed to `Instrument.from_ogip_file("data/PN.rmf", arf_path="data/PN.arf")`. Even if the first syntax should work, be carefull to check that you did not intervert .arf and .rmf.

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.