Skip to main content

BaySpec

Bayesian inference-based spectral fitting for high-energy astrophysical data.

PyPI Documentation BaySpec App on Hugging Face Spaces License GPL-3.0


BaySpec is a Python library for Bayesian inference on high-energy astrophysical spectra. It pairs MCMC and nested-sampling backends with multi-spectrum, multi-model fitting machinery, reads OGIP FITS data out of the box, and bridges to local, astromodels, and Xspec model libraries.

Features

  • Inference backends. Posterior sampling via MCMC (emcee) or nested sampling (MultiNest via pymultinest); maximum-likelihood fits via lmfit or iminuit for quick checks.
  • OGIP Type I & II FITS. Source and background PHA/PHA2 spectra, plus RMF, RSP/RSP2, and ARF/ARF2 responses — multi-extension archives are row-indexed so individual spectra plug in directly.
  • Multi-dimensional. Time-evolving spectra fit with time-involved physical models.
  • Multi-wavelength. Joint fitting across spectra at different wavelengths.
  • Multi-spectrum, multi-model. Simultaneously fit any number of (data, model) pairs; combine, freeze, or link parameters across pairs.
  • Pluggable model libraries. A local set plus optional astromodels and Xspec bridges. Register your own Python functions as new components.
  • Browser workbench (optional). BaySpec App is a FastAPI + HTMX front-end that exposes the same fitting machinery through a web UI.

Installation

BaySpec is available on PyPI:

pip install bayspec

Optional: MultiNest sampler

To enable MultiNest for nested sampling, follow the pymultinest install guide.

Optional: astromodels components

To pull components from astromodels, install astromodels in your Python environment.

Optional: Xspec components

To pull components from Xspec:

  1. Install HEASoft and Xspec v12.12.1+.
  2. After initialising the HEASoft environment, install xspec-models-cxc.

Note: bayspec currently supports only Additive and Multiplicative Xspec models.

BaySpec App

BaySpec App is the browser front-end for bayspec — a FastAPI + HTMX workbench that loads OGIP spectra, composes models, and runs inference without notebook glue. A public, hosted deployment runs on Hugging Face Spaces:

Open in Spaces

Documentation

Read the full documentation or browse the examples for typical workflows end to end.

Citation

If you use BaySpec in your research, please cite the software version used in your analysis. Citation metadata are provided in CITATION.cff, and a reusable BibTeX entry is available in CITATION.bib. For version 0.4.5:

Yang, J. (2026). BaySpec: Bayesian inference for high-energy astrophysical spectra (Version 0.4.5) [Computer software]. https://github.com/jyangch/bayspec/releases/tag/v0.4.5

@software{bayspec,
  author  = {Yang, Jun},
  title   = {{BaySpec}: Bayesian inference for high-energy astrophysical spectra},
  version = {0.4.5},
  year    = {2026},
  month   = oct,
  date    = {2026-10-11},
  url     = {https://github.com/jyangch/bayspec/releases/tag/v0.4.5}
}

Zenodo automatic archiving is enabled for this repository. A DOI for the first archive is pending; until it is available, use the version-specific release URL above. Once archived, cite the DOI for the version used in your analysis.

License

BaySpec is distributed under the GPL-3.0 license.

Metadata

Release files for bayspec 0.4.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bayspec 0.4.5
File Size Uploaded
bayspec-0.4.5.tar.gz 984.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bayspec 0.4.5
File Interpreter ABI Platform
bayspec-0.4.5-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / bayspec-0.4.5.tar.gz

Download URL bayspec-0.4.5.tar.gz
Size 984.8 kB
Tags Source
SHA-256 checksum
How to use checksums
924c6a0e5479a4ee225529c66c1aae26566aba32685692506f5f02d4ec14cdde
BLAKE2b-256 checksum
How to use checksums
cf20d3ce9b8d01803a4bb648db9d6411c6d20f50d44e3186e072209934b60a25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release files / bayspec-0.4.5-py3-none-any.whl

Download URL bayspec-0.4.5-py3-none-any.whl
Size 988.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c44fd1c3cfc902cc6c5ba5ca6a157304b643908798c8751726833e34ba23b93c
BLAKE2b-256 checksum
How to use checksums
f78ca4df623ecfbb3c099641255d2404b6e21f2dc67f10a0e6f40bc54ee0d8e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.4.5 This release

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.1.18

2 release files

0.1.16

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page