Skip to main content

GWInSpect

Gravitational Wave Inflationary Spectra

PyPI version License Python


GWInSpect is a lightweight, research-grade Python package that computes:

  • The present-epoch spectral energy density of first-order inflationary gravitational waves, $\Omega_{\rm GW}(f) $, produced by a given (user-defined) post-inflationary expansion history.
  • Verifies whether the BBN constraint on (integrated) gravitational wave energy density is satisfied.

📦 Installation

Install GWInSpect by running any one of the following commands in your terminal.

1. ✅ From PyPI (Recommended)

pip install gwinspect

2. 🧪 From GitHub

pip install git+https://github.com/athul104/GWInSpect.git

3. 🛠️ Cloning repo (to make an editable copy of the package in your local system)

git clone https://github.com/athul104/GWInSpect.git
cd GWInSpect
pip install -e .

📋 Requirements

The following necessary libraries will be automatically installed when you install GWInSpect.

  • Python 3.9 or later
  • numpy >= 1.21
  • scipy >= 1.9
  • mpmath >= 1.2.0

📓 Tutorial Notebook

The package includes a tutorial notebook under examples/tutorial_gwinspect.ipynb

🧱 Package Structure

Each module is independently documented and demonstrated in the tutorial notebook.

  • spectrum.py

    • compute_omega_gw
      Computes $\Omega_{\rm GW}(f)$ for a user defined post-inflationary history of the Universe consisting of a sequence of pre-hot Big Bang epochs, each with a constant equation of state.
  • constraints.py

    • check_bbn
      Computes BBN constraint integral piecewise for the user defined sequence of post-inflationary epochs.
  • cosmo_tools.py Utilities for cosmological parameter conversions:

    • temp_of_E Convert temperature to energy scale
    • energy_of_T Convert energy scale to temperature
    • freq_of_T Convert temperature to present-day frequency of gravitational waves
    • compute_efolds Compute the duration of each epoch in terms of number of $e$-folds
  • thermo.py

    • Functions to compute $g_{*}(T), g_{s}(T)$ from fitting functions given in K. Saikawa and S. Shirai arXiv:1803.01038.
    • Key functions: g_star and g_s
    • Users can also load the pre-computed data of [temperature $T$, $g_{*}(T)$, $g_{s}(T)$, energy($T$)] stored in src\gwinspect\data\eff_rel_dof.txt using load_eff_rel_dof()
  • constants.py

    • Contains constants: reduced Planck mass m_P, present CMB temperature T0, scalar amplitude A_S, Present radiation density parameter omega_rad0, BBN temperature T_bbn, matter-radiation equality temperature T_eq
    • Users can also redefine the values of this conatant using set_constants

📚 Citation

This package accompanies the paper:

Swagat S. Mishra & Athul K. Soman (2025)
Morphological Zoo of Inflationary Gravitational Wave Spectra imprinted by a Sequence of Post-Inflationary Epochs
arXiv:2510.25672

If you use GWInSpect in academic work, please cite:

@article{Mishra:2025nnu,
    author = "Mishra, Swagat S. and Soman, Athul K.",
    title = "{Morphological Zoo of Inflationary Gravitational Wave Spectra imprinted by a Sequence of Post-Inflationary Epochs}",
    eprint = "2510.25672",
    archivePrefix = "arXiv",
    primaryClass = "astro-ph.CO",
    month = "10",
    year = "2025"
}

🛠 License

GPL-3.0-or-later
©️ GWInSpect authors (2025)

🙋 Feedback

Thank you for your interest in GWInSpect 💜.
Please report issues or suggestions at: github.com/athul104/GWInSpect/issues


Metadata

Release files for gwinspect 1.0.0

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

Source distribution (sdist)

Source distribution for gwinspect 1.0.0
File Size Uploaded
gwinspect-1.0.0.tar.gz 1.1 MB Details

Built distribution (wheel)

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

Total release size: 2.3 MB

Release files / gwinspect-1.0.0.tar.gz

Download URL gwinspect-1.0.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
155de740290811d717ea364e822331fe5e98b9460b191c50e9a3152dd5c62781
BLAKE2b-256 checksum
How to use checksums
90e1b86d7b9989813144439231c26308528325df0e658979943af93087b0da56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / gwinspect-1.0.0-py3-none-any.whl

Download URL gwinspect-1.0.0-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
80542f5f8b1e857c0a174bdacb70252a74a0229cc4b137f670e9242045d09e03
BLAKE2b-256 checksum
How to use checksums
ec30af0c6804e05366a75a93874ffabb990baa85af37c6f6aca3081a5ed9bc5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.0.0 This release

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