Skip to main content

High-performance C++ framework with Python interface for modeling Gamma-Ray Burst (GRB) afterglows.

Project description

VegasAfterglow

VegasAfterglow Logo

C++ Version PyPI version Build Status License Platform Python Version Documentation Interactive Tool Validation Report

VegasAfterglow is a high-performance C++ framework with a user-friendly Python interface designed for the comprehensive modeling of Gamma-Ray Burst (GRB) afterglows. It achieves exceptional computational efficiency, enabling the generation of multi-wavelength light curves in milliseconds and facilitating robust Markov Chain Monte Carlo (MCMC) parameter inference. The framework incorporates advanced models for shock dynamics (both forward and reverse shocks), diverse radiation mechanisms (synchrotron with self-absorption, and inverse Compton scattering with Klein-Nishina corrections), and complex structured jet configurations.

Ecosystem & Integration

  • Advanced Inference: While VegasAfterglow includes a standalone fitter, its models are also integrated into Redback for more advanced Bayesian inference, model comparison, and multi-messenger analysis.
  • Community Tools: We also recommend checking out PyFRS, Jetsimpy, ASGARD as tool for afterglow modeling.


Table of Contents


Features

Shock Dynamics

  • Forward and Reverse Shock Modeling: Simulates both shocks via shock crossing dynamics with arbitrary magnetization levels and shell thicknesses.
  • Relativistic and Non-Relativistic Regimes: Accurately models shock evolution across all velocity regimes.
  • Adiabatic and Radiative Blast Waves: Supports smooth transition between adiabatic and radiative blast waves.
  • Ambient Medium: Supports uniform Interstellar Medium (ISM), stellar wind environments, and user-defined density profiles.
  • Energy and Mass Injection: Supports user-defined profiles for continuous energy and/or mass injection into the blast wave.

Jet Structure & Geometry

  • Structured Jet Profiles: Allows user-defined angular profiles for energy distribution, initial Lorentz factor, and magnetization.
  • Arbitrary Viewing Angles: Supports off-axis observers at any viewing angle relative to the jet axis.
  • Jet Spreading: Includes lateral expansion dynamics for realistic jet evolution (experimental).
  • Non-Axisymmetric Jets: Capable of modeling complex, non-axisymmetric jet structures.

Radiation Mechanisms

  • Synchrotron Radiation: Calculates synchrotron emission from shocked electrons.
  • Synchrotron Self-Absorption (SSA): Includes SSA effects, crucial at low frequencies.
  • Inverse Compton (IC) Scattering: Models IC processes, including:
    • Synchrotron Self-Compton (SSC) from both forward and reverse shocks.
    • Pairwise IC between forward and reverse shock electron and photon populations (experimental).
    • Includes Klein-Nishina corrections for accurate synchrotron and IC emission.


Performance Highlights

VegasAfterglow is designed for speed. A tophat synchrotron light curve completes in under 1 ms; even the most demanding case — a structured jet with full SSC off-axis — finishes in ~180 ms. This makes MCMC parameter estimation lightning fast on a laptop:

  • Tophat jet: 10,000 MCMC steps, 8 parameters, 15 data points for ~0.3 M samples ~15 s (Apple M2, 8 cores).
  • Structured jet: same setup ~1 minute.

The charts below benchmark single-core wall-clock time by stage across four jet profiles (Tophat, Gaussian, Power-law, Two-component), two media (ISM/Wind), and $\theta_v/\theta_c = 0, 1, 2, 4$, all at the default fiducial resolution — conservatively set to ensure convergence across a wide range of physical parameters. Cost scales with two factors: off-axis observers require a full 3D equal-arrival-time grid vs. 2D on-axis, and structured jets compute radiation independently at each $\theta$ vs. reusing one solution for tophat. Reverse shock adds a second shocked shell, roughly doubling the dynamics cost.

Synchrotron performance Reverse shock performance Full SSC performance

Architecture

VegasAfterglow Architecture

Installation

VegasAfterglow is available as a Python package with C++ source code also provided for direct use.

Python Installation

To install VegasAfterglow using pip:

pip install VegasAfterglow

This installs the core physics engine. To also install MCMC fitting support:

pip install VegasAfterglow[mcmc]

The interactive web tool is deployed across multiple global regions for low latency. If none of the servers provide a satisfactory experience from your location, you can run the interactive web tool locally for the best responsiveness (FastAPI + Next.js):

# terminal 1: backend
cd webtool/backend
python3 -m venv .venv
source .venv/bin/activate
pip install -e '../..[webtool]'
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

# terminal 2: frontend
cd webtool/frontend
cp .env.local.example .env.local
npm install
npm run dev

Open http://localhost:3000. Detailed local/deploy guide: webtool/README.md and webtool/DEPLOY.md.

The hosted Interactive Web Tool provides real-time parameter-tunable afterglow modeling, mobile-phone compatible layout, and observational data input/upload support.

VegasAfterglow requires Python 3.8 or higher.

Alternative: Install from Source (click to expand/collapse)

For cases where pip installation is not viable or when the development version is required:

  1. Clone this repository:
git clone https://github.com/YihanWangAstro/VegasAfterglow.git
  1. Navigate to the directory and install the Python package:
cd VegasAfterglow
pip install .

Standard development environments typically include the necessary prerequisites (C++20 compatible compiler). For build-related issues, refer to the prerequisites section in C++ Installation.

C++ Installation

For advanced users who need to compile and use the C++ library directly:

Instructions for C++ Installation (click to expand/collapse)
  1. Clone the repository (if not previously done):
git clone https://github.com/YihanWangAstro/VegasAfterglow.git
cd VegasAfterglow
  1. Compile and run tests:
make tests

Upon successful compilation, you can create custom C++ problem generators using the VegasAfterglow interfaces. For implementation details, refer to the Creating Custom Problem Generators with C++ section or examine the example problem generators in tests/demo/.

Build Prerequisites (click to expand for dependency information)

The following development tools are required:

  • C++20 compatible compiler:

    • Linux: GCC 10+ or Clang 13+
    • macOS: Apple Clang 13+ (with Xcode 13+) or GCC 10+ (via Homebrew)
    • Windows: MSVC 19.29+ (Visual Studio 2019 16.10+) or MinGW-w64 with GCC 10+
  • Build tools:

    • Make (GNU Make 4.0+ recommended)

Usage

Quick Start

VegasAfterglow can be used in three ways:

  • Interactive web tool — real-time, parameter-tunable afterglow modeling for light curves, spectra, and sky images, with mobile-phone compatible UI and observational data input/upload support (CSV/TXT/XLS/XLSX). No installation required.
  • Command line — generate light curves instantly with the vegasgen command, no code needed.
  • Python API — full programmatic control for custom analysis, MCMC fitting, and access to internal quantities.

Command-Line Tool (vegasgen)

# Default tophat jet, ISM, on-axis — just run it
vegasgen

# Gaussian jet at z=0.5 with plot output
vegasgen --jet gaussian --z 0.5 --plot

# Use filter names for frequencies, save to file
vegasgen --nu R J 1e18 -o lightcurve.csv

# Wind medium with SSC, save plot as PNG
vegasgen --medium wind --ssc --plot -o lightcurve.png

All parameters have sensible defaults. Run vegasgen --help for the full option list, or see the CLI documentation for detailed usage.

Python API

from VegasAfterglow import ISM, TophatJet, Observer, Radiation, Model
import numpy as np

model = Model(TophatJet(0.1, 1e52, 300), ISM(1), Observer(1e26, 0.1, 0), Radiation(0.1, 1e-3, 2.3))
result = model.flux_density_grid(np.logspace(2, 8, 100), [1e9, 1e14, 1e17])

See the detailed sections below and the example notebooks (script/quick.ipynb, script/details.ipynb, script/vegas-mcmc.ipynb) for Python usage including light curves, spectra, internal quantities, and MCMC fitting.

Light Curve & Spectrum Calculation

The example below walks through the main components needed to model a GRB afterglow, from setting up the physical parameters to producing light curves and spectra via script/quick.ipynb.

Model Setup (click to expand/collapse)
import numpy as np
import matplotlib.pyplot as plt
from VegasAfterglow import ISM, TophatJet, Observer, Radiation, Model

medium = ISM(n_ism=1)                                    # constant density ISM [cm^-3]
jet = TophatJet(theta_c=0.1, E_iso=1e52, Gamma0=300)    # top-hat jet [rad, erg, dimensionless]
obs = Observer(lumi_dist=1e26, z=0.1, theta_obs=0)      # observer [cm, dimensionless, rad]
rad = Radiation(eps_e=1e-1, eps_B=1e-3, p=2.3)          # microphysics

model = Model(jet=jet, medium=medium, observer=obs, fwd_rad=rad)
Light Curve Calculation (click to expand/collapse)

Compute and plot multi-wavelength light curves:

times = np.logspace(2, 8, 100)
bands = np.array([1e9, 1e14, 1e17])  # radio, optical, X-ray

# times must be in ascending order; frequencies can be in any order
results = model.flux_density_grid(times, bands)

plt.figure(figsize=(4.8, 3.6), dpi=200)
for i, nu in enumerate(bands):
    exp = int(np.floor(np.log10(nu)))
    base = nu / 10**exp
    plt.loglog(times, results.total[i,:], label=fr'${base:.1f} \times 10^{{{exp}}}$ Hz')

plt.xlabel('Time (s)')
plt.ylabel('Flux Density (erg/cm²/s/Hz)')
plt.legend()
plt.title('Light Curves')
Afterglow Light Curves
Spectrum Analysis (click to expand/collapse)

Broadband spectra at different epochs:

frequencies = np.logspace(5, 22, 100)
epochs = np.array([1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8])

# times must be in ascending order
results = model.flux_density_grid(epochs, frequencies)

plt.figure(figsize=(4.8, 3.6), dpi=200)
colors = plt.cm.viridis(np.linspace(0, 1, len(epochs)))
for i, t in enumerate(epochs):
    exp = int(np.floor(np.log10(t)))
    base = t / 10**exp
    plt.loglog(frequencies, results.total[:,i], color=colors[i], label=fr'${base:.1f} \times 10^{{{exp}}}$ s')

plt.xlabel('Frequency (Hz)')
plt.ylabel('Flux Density (erg/cm²/s/Hz)')
plt.legend(ncol=2)
plt.title('Synchrotron Spectra')
Broadband Spectra
Time-Frequency Pairs Calculation (click to expand/collapse)

For paired time-frequency points (t_i, nu_i) instead of a grid:

times = np.logspace(2, 8, 200)
frequencies = np.logspace(9, 17, 200)  # same length as times

results = model.flux_density(times, frequencies)  # times must be ascending

Three flux methods:

  • flux_density_grid(times, freqs): NxM grid output
  • flux_density(times, freqs): paired points (N output from N pairs)
  • flux_density_exposures(times, freqs, expo): paired with exposure-time averaging

All return a FluxDict with .total, .fwd (.sync, .ssc), and .rvs (.sync, .ssc).

Internal Quantities Evolution

The example below walks through how you can check the evolution of internal quantities under various reference frames via script/details.ipynb.

Model Setup (click to expand/collapse)
import numpy as np
import matplotlib.pyplot as plt
from VegasAfterglow import ISM, TophatJet, Observer, Radiation, Model

z = 0.1
medium = ISM(n_ism=1)
jet = TophatJet(theta_c=0.3, E_iso=1e52, Gamma0=100)
obs = Observer(lumi_dist=1e26, z=z, theta_obs=0.)
rad = Radiation(eps_e=1e-1, eps_B=1e-3, p=2.3)

model = Model(jet=jet, medium=medium, observer=obs, fwd_rad=rad, resolutions=(0.1, 0.25, 10))
Get the simulation quantities (click to expand/collapse)
details = model.details(t_min=1e0, t_max=1e8)

Returns a SimulationDetails object. All quantities are 3D numpy arrays with shape (n_phi, n_theta, n_time), where axis 0 is the azimuthal angle, axis 1 is the polar angle, and axis 2 is the time step. For example, details.fwd.Gamma[0, 0, :] gives the Lorentz factor time evolution along the jet symmetry axis. Access forward shock via details.fwd (reverse shock via details.rvs when enabled).

Category Attributes
Grid phi, theta, t_src (source frame), fwd.t_comv (comoving), fwd.t_obs (observer)
Dynamics Gamma, Gamma_th, r, theta, Doppler
Microphysics B_comv [G], N_p, N_e, I_nu_max [erg/cm²/s/Hz]
Electron Lorentz factors gamma_a, gamma_m, gamma_c, gamma_M
Characteristic frequencies nu_a, nu_m, nu_c, nu_M [Hz]
Spectra (callable) sync_spectrum, ssc_spectrum, Y_spectrum

See the documentation for full descriptions.

Checking the evolution of various parameters (click to expand/collapse)

Plot shock quantities across source, comoving, and observer frames:

attrs =['Gamma', 'B_comv', 'N_p','r','N_e','I_nu_max']
ylabels = [r'$\Gamma$', r'$B^\prime$ [G]', r'$N_p$', r'$r$ [cm]', r'$N_e$', r'$I_{\nu, \rm max}^\prime$ [erg/s/Hz]']

frames = ['t_src', 't_comv', 't_obs']
titles = ['source frame', 'comoving frame', 'observer frame']
colors = ['C0', 'C1', 'C2']
xlabels = [r'$t_{\rm src}$ [s]', r'$t^\prime$ [s]', r'$t_{\rm obs}$ [s]']
plt.figure(figsize= (4.2*len(frames), 3*len(attrs)))

# All 3D arrays have shape (n_phi, n_theta, n_time).
# Using [0, 0, :] extracts the time evolution at the first azimuthal and
# polar bin, i.e. along the jet symmetry axis.
for i, frame in enumerate(frames):
    for j, attr in enumerate(attrs):
        plt.subplot(len(attrs), len(frames) , j * len(frames) + i + 1)
        if j == 0:
            plt.title(titles[i])
        value = getattr(details.fwd, attr)
        if frame == 't_src':
            t = getattr(details, frame)
        else:
            t = getattr(details.fwd, frame)
        plt.loglog(t[0, 0, :], value[0, 0, :], color='k',lw=2.5)
        plt.loglog(t[0, 0, :], value[0, 0, :], color=colors[i])

        plt.xlabel(xlabels[i])
        plt.ylabel(ylabels[j])

plt.tight_layout()
plt.savefig('shock_quantities.png', dpi=300,bbox_inches='tight')
Shock evolution

See script/details.ipynb for additional plots including characteristic electron energies, synchrotron frequencies, Doppler factor maps, and equal arrival time surfaces.

Per-Cell Spectrum Evaluation (click to expand/collapse)

In addition to scalar quantities, details() provides callable spectrum accessors that let you evaluate the comoving-frame synchrotron, SSC, and Compton-Y spectra at arbitrary frequencies for each grid cell. To use SSC and Y spectrum, enable SSC in the radiation model:

rad = Radiation(eps_e=1e-1, eps_B=1e-3, p=2.3, ssc=True)
model = Model(jet=jet, medium=medium, observer=obs, fwd_rad=rad, resolutions=(0.1, 0.25, 10))
details = model.details(t_min=1e0, t_max=1e8)

nu_comv = np.logspace(8, 20, 200)  # comoving frame frequency [Hz]

# Synchrotron spectrum at cell (phi=0, theta=0, t=5)
I_syn = details.fwd.sync_spectrum[0, 0, 5](nu_comv)   # erg/s/Hz/cm²/sr

# SSC spectrum at the same cell (requires ssc=True)
I_ssc = details.fwd.ssc_spectrum[0, 0, 5](nu_comv)    # erg/s/Hz/cm²/sr

# Compton-Y parameter as a function of electron Lorentz factor
gamma = np.logspace(1, 8, 200)
Y = details.fwd.Y_spectrum[0, 0, 5](gamma)            # dimensionless

These callable accessors are also available on details.rvs when a reverse shock is configured. The sync_spectrum and Y_spectrum are always available; ssc_spectrum is None unless ssc=True.

Sky Image

Generate spatially resolved images of the afterglow at any observer time and frequency. See script/sky-image.ipynb for the full example.

Single Frame (click to expand/collapse)
from matplotlib.colors import LogNorm
from VegasAfterglow.units import uas

img = model.sky_image([1e6], nu_obs=1e9, fov=500 * uas, npixel=256)

fig, ax = plt.subplots(dpi=100)
im = ax.imshow(
    img.image[0].T,
    origin="lower",
    extent=img.extent / uas,
    cmap="inferno",
    norm=LogNorm(),
)
ax.set_xlabel(r"$\Delta x$ ($\mu$as)")
ax.set_ylabel(r"$\Delta y$ ($\mu$as)")
fig.colorbar(im, label=r"Surface brightness (erg/cm$^2$/s/Hz/sr)")

The return value is a SkyImage object with:

  • img.image: 3D array (n_frames, npixel, npixel) — surface brightness in erg/cm²/s/Hz/sr
  • img.extent: angular extent in radians (pass to imshow(extent=...))
  • img.pixel_solid_angle: pixel solid angle in sr
Multi-Frame Movie (click to expand/collapse)

Pass an array of observer times to generate an image sequence efficiently — dynamics are solved once, each frame only re-renders the sky projection:

times = np.logspace(4, 8, 60)
imgs = model.sky_image(times, nu_obs=1e9, fov=2000 * uas, npixel=128)
# imgs.image.shape == (60, 128, 128)
Sky Image Movie
Off-Axis Observer (click to expand/collapse)

For off-axis observers, the image centroid drifts across the sky (superluminal apparent motion):

model_offaxis = Model(
    jet=TophatJet(theta_c=0.1, E_iso=1e52, Gamma0=200),
    medium=ISM(n_ism=1),
    observer=Observer(lumi_dist=1e26, z=0.1, theta_obs=0.4),
    fwd_rad=Radiation(eps_e=1e-1, eps_B=1e-3, p=2.3),
)

times_oa = np.logspace(5, 8, 30)
imgs_oa = model_offaxis.sky_image(times_oa, nu_obs=1e9, fov=5000 * uas, npixel=128)

MCMC Parameter Fitting

We provide some example data files in the data folder. Remember to keep your copy in the same directory as the original to ensure all data paths work correctly.

1. Configuring the Model (click to expand/collapse)
# Requires: pip install VegasAfterglow[mcmc]
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import corner
from VegasAfterglow import Fitter, ParamDef, Scale

# Create the fitter with model configuration and add data
fitter = Fitter(
    z=1.58,
    lumi_dist=3.364e28,
    jet="powerlaw",
    medium="wind",
)

All model configuration is passed directly to the Fitter constructor as keyword arguments. Check the documentation for all available options.

2. Defining Parameters and Running MCMC (click to expand/collapse)

Define parameters with ParamDef(name, min, max, scale). Use Scale.log for parameters spanning orders of magnitude, Scale.linear for narrow ranges, and Scale.fixed to hold a parameter constant:

mc_params = [
    ParamDef("E_iso",      1e50,  1e54,  Scale.log),       # Isotropic energy [erg]
    ParamDef("Gamma0",        5,  1000,  Scale.log),       # Lorentz factor at the core
    ParamDef("theta_c",     0.0,   0.5,  Scale.linear),    # Core half-opening angle [rad]
    ParamDef("k_e",           2,     2,  Scale.fixed),     # Energy power law index
    ParamDef("k_g",           2,     2,  Scale.fixed),     # Lorentz factor power law index
    ParamDef("theta_v",     0.0,   0.0,  Scale.fixed),     # Viewing angle [rad]
    ParamDef("p",             2,     3,  Scale.linear),    # Shocked electron power law index
    ParamDef("eps_e",      1e-2,   0.5,  Scale.log),       # Electron energy fraction
    ParamDef("eps_B",      1e-4,   0.5,  Scale.log),       # Magnetic field energy fraction
    ParamDef("A_star",     1e-3,     1,  Scale.log),       # Wind parameter
    ParamDef("xi_e",       1e-3,     1,  Scale.log),       # Electron acceleration fraction
]

Add observational data and run the fit:

# Add light curves at specific frequencies (all quantities in CGS units)
t_data = [1e3, 2e3, 5e3, 1e4, 2e4]  # Time in seconds
flux_data = [1e-26, 8e-27, 5e-27, 3e-27, 2e-27]  # erg/cm²/s/Hz
flux_err = [1e-28, 8e-28, 5e-28, 3e-28, 2e-28]    # erg/cm²/s/Hz
fitter.add_flux_density(nu=4.84e14, t=t_data, f_nu=flux_data, err=flux_err)

# Load from CSV files
import pandas as pd
bands = [2.4e17, 4.84e14, 1.4e14]
lc_files = ["data/ep.csv", "data/r.csv", "data/vt-r.csv"]
for nu, fname in zip(bands, lc_files):
    df = pd.read_csv(fname)
    fitter.add_flux_density(nu=nu, t=df["t"], f_nu=df["Fv_obs"], err=df["Fv_err"])

# Add spectra at specific times
fitter.add_spectrum(t=3000, nu=nu_data, f_nu=spectrum_data, err=spectrum_err)

# Option 1: Nested sampling with dynesty (computes evidence, robust for multimodal posteriors)
result = fitter.fit(
    mc_params,
    resolution=(0.1, 0.25, 10),    # Grid resolution (phi, theta, t)
    sampler="dynesty",             # Nested sampling algorithm
    nlive=1000,                    # Number of live points
    walks=100,                     # Number of random walks per live point
    dlogz=0.5,                     # Stopping criterion (evidence tolerance)
    npool=8,                       # Number of parallel threads
    top_k=10,                      # Number of best-fit parameters to return
)

# Option 2: MCMC with emcee (faster, good for unimodal posteriors, not optimal for multimodal posteriors)
result = fitter.fit(
    mc_params,
    resolution=(0.1, 0.25, 10),    # Grid resolution (phi, theta, t)
    sampler="emcee",               # MCMC sampler
    nsteps=50000,                  # Number of steps per walker
    nburn=10000,                   # Burn-in steps to discard
    thin=1,                        # Save every nth sample
    npool=8,                       # Number of parallel threads
    top_k=10,                      # Number of best-fit parameters to return
)

The result object contains samples, labels, latex_labels, top_k_params, top_k_log_probs, and bilby_result.

3. Analyzing Results and Generating Predictions (click to expand/collapse)

Generate predictions with the best-fit parameters:

best_params = result.top_k_params[0]

t_out = np.logspace(2, 9, 150)
nu_out = np.logspace(16, 20, 150)

lc = fitter.flux_density_grid(best_params, t_out, bands)
spec = fitter.flux_density_grid(best_params, times, nu_out)

Corner plot:

flat_chain = result.samples.reshape(-1, result.samples.shape[-1])
corner.corner(flat_chain, labels=result.latex_labels, quantiles=[0.16, 0.5, 0.84], show_titles=True)

See script/vegas-mcmc.ipynb for a complete working example with data loading, fitting, and visualization.

Parameter Fitting with Redback

For parameter estimation and Bayesian inference, VegasAfterglow models are integrated into redback, which provides a unified interface for fitting all transient types.

Loading Data & Fitting: (click to expand/collapse)
import redback

# Multiple ways to load data:
GRB = 'GRB070809'

# Method 1: From Swift BAT+XRT (recommended for Swift GRBs)
redback.get_data.get_bat_xrt_afterglow_data_from_swift(grb=GRB, data_mode="flux")
afterglow = redback.afterglow.SGRB.from_swift_grb(name=GRB, data_mode='flux')

# Method 2: From open access catalogs
afterglow = redback.afterglow.Afterglow.from_open_access_catalogue(
    GRB, data_mode='flux_density'
)

# Method 3: From your own data files
import pandas as pd
data = pd.read_csv('my_grb_data.csv')
afterglow = redback.transient.Afterglow(
    name=GRB,
    data_mode='flux_density',
    time=data['time'].values,
    flux_density=data['flux'].values,
    flux_density_err=data['flux_err'].values,
    frequency=data['frequency'].values
)

# Fit with VegasAfterglow tophat model
result = redback.fit_model(
    transient=afterglow,
    model='vegas_tophat',  # VegasAfterglow tophat jet model
    sampler='dynesty',
    nlive=1000
)

result.plot_corner()
result.plot_lightcurve()
result.plot_residuals()

Available VegasAfterglow models in redback:

  • vegas_tophat - Tophat jet + ISM
  • vegas_gaussian - Gaussian jet + ISM
  • vegas_powerlaw - Power-law jet + ISM
  • vegas_two_component - Two-component jet + ISM
  • vegas_tophat_wind - Tophat jet + Wind medium
  • ... and more

Why use the Redback interface?

  • Data Management: Seamlessly load data from Swift, Fermi, BATSE, or custom files. Supports flux, flux_density, magnitude, and luminosity.
  • Advanced Statistics: Access multiple samplers (dynesty, emcee, ultranest), parallel sampling, and Bayesian model comparison.
  • Visualization: Generate publication-ready corner plots and multi-band light curves automatically.

For complete documentation on the API, visit the redback documentation.


Validation & Testing

The validation suite includes benchmark tests (resolution convergence, performance timing) and regression tests (shock dynamics scaling laws, characteristic frequency evolution, spectral power-law indices across Blandford-McKee and Sedov-Taylor phases). The default fiducial resolution (0.1, 0.25, 10) achieves < 5% mean error for most configurations.

See the Validation Report (PDF) for full results. To run locally:

pip install -e ".[test]" --config-settings=cmake.define.AFTERGLOW_PROFILE=ON
python validation/run_validation.py --all        # full suite (timing + convergence + regression)
python validation/run_validation.py --all --fast  # fast mode: skip convergence scans

Powered by Claude Code


Documentation

Full documentation — installation, examples, MCMC fitting guide, parameter reference, Python/C++ API, and troubleshooting — is available at Documentation.

For a history of changes and new features, see the Changelog.


Contributing

If you encounter any issues, have questions about the code, or want to request new features:

  1. GitHub Issues - The most straightforward and fastest way to get help:

    • Open an issue at Issues
    • You can report bugs, suggest features, or ask questions
    • This allows other users to see the problem/solution as well
    • Can be done anonymously if preferred
  2. Pull Requests - If you've implemented a fix or feature:

    • Fork the repository
    • Create a branch for your changes
    • Submit a pull request with your changes
  3. Email - For private questions or discussions:

We value all contributions and aim to respond to issues promptly. All communications are extremely welcome!


License

VegasAfterglow is released under the BSD-3-Clause License.


Acknowledgments & Citation

We would like to thank the contributors who helped improve VegasAfterglow. Special thanks to Weihua Lei, Shaoyu Fu, Liang-Jun Chen, Iris Yin, Cuiyuan Dai, Binbin Zhang and Nikhil Sarin for their invaluable work as beta testers, providing feedback and helping with bug fixes during development. We also thank the broader community for their suggestions and support.

If you find VegasAfterglow useful, please consider giving us a star — it helps others discover the project!

Star this repo

If you use VegasAfterglow in your research, we would be grateful if you could cite:

Wang, Y., Chen, C., & Zhang, B. (2026). VegasAfterglow: A high-performance framework for gamma-ray burst afterglows. Journal of High Energy Astrophysics, 50, 100490. ADS

@ARTICLE{2026JHEAp..5000490W,
       author = {{Wang}, Yihan and {Chen}, Connery and {Zhang}, Bing},
        title = "{VegasAfterglow: A high-performance framework for gamma-ray burst afterglows}",
      journal = {Journal of High Energy Astrophysics},
     keywords = {Gamma-ray bursts, Shocks, Relativistic jets, Computational methods, Open source software, High Energy Astrophysical Phenomena},
         year = 2026,
        month = feb,
       volume = {50},
          eid = {100490},
        pages = {100490},
          doi = {10.1016/j.jheap.2025.100490},
archivePrefix = {arXiv},
       eprint = {2507.10829},
 primaryClass = {astro-ph.HE},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2026JHEAp..5000490W},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Zhang, B. (2018). The Physics of Gamma-Ray Bursts. Cambridge University Press. ADS

@book{Zhang2018,
  author    = {Zhang, Bing},
  title     = {{The Physics of Gamma-Ray Bursts}},
  publisher = {Cambridge University Press},
  year      = {2018},
  doi       = {10.1017/9781139226530}
}

Contribution Overview

The University of Hong Kong University of Wisconsin-Madison Nevada Center for Astrophysics

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vegasafterglow-2.0.2.tar.gz (36.0 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

vegasafterglow-2.0.2-cp314-cp314-win_arm64.whl (392.4 kB view details)

Uploaded CPython 3.14Windows ARM64

vegasafterglow-2.0.2-cp314-cp314-win_amd64.whl (408.4 kB view details)

Uploaded CPython 3.14Windows x86-64

vegasafterglow-2.0.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (721.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp314-cp314-macosx_11_0_x86_64.whl (572.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp314-cp314-macosx_11_0_arm64.whl (494.7 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

vegasafterglow-2.0.2-cp313-cp313-win_arm64.whl (379.9 kB view details)

Uploaded CPython 3.13Windows ARM64

vegasafterglow-2.0.2-cp313-cp313-win_amd64.whl (397.1 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (720.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp313-cp313-macosx_11_0_x86_64.whl (571.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp313-cp313-macosx_11_0_arm64.whl (494.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vegasafterglow-2.0.2-cp312-cp312-win_arm64.whl (379.9 kB view details)

Uploaded CPython 3.12Windows ARM64

vegasafterglow-2.0.2-cp312-cp312-win_amd64.whl (397.0 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (720.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl (571.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp312-cp312-macosx_11_0_arm64.whl (494.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vegasafterglow-2.0.2-cp311-cp311-win_arm64.whl (378.6 kB view details)

Uploaded CPython 3.11Windows ARM64

vegasafterglow-2.0.2-cp311-cp311-win_amd64.whl (395.4 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-2.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (716.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl (568.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp311-cp311-macosx_11_0_arm64.whl (492.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vegasafterglow-2.0.2-cp310-cp310-win_arm64.whl (377.1 kB view details)

Uploaded CPython 3.10Windows ARM64

vegasafterglow-2.0.2-cp310-cp310-win_amd64.whl (393.8 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (718.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl (567.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp310-cp310-macosx_11_0_arm64.whl (491.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vegasafterglow-2.0.2-cp39-cp39-win_arm64.whl (377.1 kB view details)

Uploaded CPython 3.9Windows ARM64

vegasafterglow-2.0.2-cp39-cp39-win_amd64.whl (393.9 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (719.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl (567.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp39-cp39-macosx_11_0_arm64.whl (491.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vegasafterglow-2.0.2-cp38-cp38-win_amd64.whl (393.8 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-2.0.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (718.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

vegasafterglow-2.0.2-cp38-cp38-macosx_11_0_x86_64.whl (567.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ x86-64

vegasafterglow-2.0.2-cp38-cp38-macosx_11_0_arm64.whl (491.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file vegasafterglow-2.0.2.tar.gz.

File metadata

  • Download URL: vegasafterglow-2.0.2.tar.gz
  • Upload date:
  • Size: 36.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vegasafterglow-2.0.2.tar.gz
Algorithm Hash digest
SHA256 a60ce439e8a65f4245c714ecd79c05121166b4497c4044840d68bc0f7ecd8867
MD5 df2c271be46c700d4ad5c315f11053cf
BLAKE2b-256 9a84b47c21b7968fe8f182c2a763e524b875cdb39d816df216fa42bd9a13b09a

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 8d129839a2e5e86de2b2681f996318c02ab1872268c32f4c76ccad3da2da9138
MD5 8ff2a841cb979f14d6907bdd86bdfd96
BLAKE2b-256 c5f922fb7a0932358951ad871ad14ab915150be9da32982a4349988f1a19ed5d

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6552acf5b9cd0c328c0e9f80bb3cf26f6466fb87eac9f9707a244e9869928cf1
MD5 f7d9970f4ef15771589357a29a45fc54
BLAKE2b-256 7a97f8848d0641f0653f34c67915083d50c80947d53b1c393b26ae675723443a

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5d42c0d2c84faf6b77241d017d6c04f58ba50c683dc843ef24871d4d80f24358
MD5 53998e1d8dfc85e18814f504600034b7
BLAKE2b-256 aa2da6a9017c7000359ad07f7aff3a4fd95765c68346ba813c445eaf3a7b0b73

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp314-cp314-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp314-cp314-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 111f1241010e9af889dd5aaac78f3decea377d7c5749eea79e1b5d59025b63a5
MD5 c71d500a472689501d29549688409bbe
BLAKE2b-256 74890256eb9759c7a2fc50e6170f14a866f56deaa74260701aa123bccfb0567e

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40fe3a6dfab737dc4ed608246f275b3ae7beb0326ef15c10dc5d46a69ba284d1
MD5 e6dc822ea3c05a04c2503097fe575521
BLAKE2b-256 df0e508879e2f353d785d1691b98d7d478bd6f02977fba6c2583bd98d47cad96

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 e731baa20d9c6967debb0f40d42174b2090e0a4f9676653a57de5f59ae5f0db2
MD5 10525015649e20326fcf1b549f20da1f
BLAKE2b-256 a41ed3b7d9c41229111fc41c08f06afe62032f063312e6b041908981276ffe51

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e2486961b9e7b1cce13fe2913a183745b9a331a26d2d43c43afab25a8bf48de7
MD5 cb4e860fcb055732fa2ea31a315976eb
BLAKE2b-256 8ccd4188a8001192f1c3d04fc6aaefaa7063ddf57db855f8c376af3cba53cfb2

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7cb033fed620a4fbbe553b5c2e2fb50c616a92a97ab8ad15f07fb7bc815ff3a6
MD5 83ffcd2049b2435a5775fd4072703520
BLAKE2b-256 29a7720b07425de06924d2c6ef6a95e408e543255a374527085fda1f75a0e9c2

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 119b3437528198f6522d3c32b2a495f98e89ad06976bd42477960c014c368f94
MD5 a98516f14e67af12a264cd0d65d1653d
BLAKE2b-256 e67c2d8cd3f7265bc7fff7caeae80dda4b750b05bc71fa0df8836a04b67f8aa9

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b5914e744f271f796671e828fa6d1c50515d4b86c9155a5fdab42305c7b5000
MD5 a822c70bb57b37d0950e19bbfc0fd4a2
BLAKE2b-256 e19af707cae3116a61d30889309dd30cbc3e6954adeb69951b257394c6981ff9

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 b867739970afbf891b9ac493f69d1eacfb208b49efe243c614c2f50df9b17353
MD5 a5319a6b6d654d749ee5658633d4fa02
BLAKE2b-256 ef1edf472157ddf7fcee97b6ce915815ceca3c3c4dbd946a7ca73be178d92bd3

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 30cecbe39e609df8678c835226125efefa584cc79ac0481322af7084c2de92bc
MD5 3e971e0fb4de8714725cc9cbf4eae186
BLAKE2b-256 d40d2aa0340b1446f9ea221979b56de2e61bcbe66dc82baf5132fdd7e1bd3463

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 de94737468ffcf9aa6adfbb6eaad578cb1a6fa713184879d83c802dc2a8f6255
MD5 f08182ad84231da061d52cab5be96dbb
BLAKE2b-256 8345664da1fae1e0a1582bfd62f7dcc2c81bd73d6d29e99bc4b9ac21ea71230e

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c0c17fab74ba4f2d93ededccf23754d651dfe4787ca1db6b407a0ea714dea849
MD5 b1b4fcfee08378fec50aafe7a981c497
BLAKE2b-256 516960f7620d5734e4a8aa2f1c098eb61d40b5132e6874f56df7bc78909ac6ee

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 121332506b30f3af2b071d0fea4a324576fd9f9dd25e1741f827e5bed3af8bf6
MD5 0f15c3bc31cfc2c354c90b9782eafd90
BLAKE2b-256 ca604e334d3f6ff3308352cd9beb4bcc214bdb9eb04cf08cd0d489440c2296c2

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 b063527b3b3ccb192508f5d0fe853a90c89590066e6894fa557203535313863a
MD5 561c99ac8ac6e2379a3cff7e585243b6
BLAKE2b-256 c09bd30c2568608400e453f0626ea9d4ed200c23dde66d9659df539d4516783a

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f15bb86b9c4b4ff1e4ce4f8f3e264a5e04b3cf41ac1071745fcad179c388e8f2
MD5 c8a16645db4d30eff02ed3d3402d4b99
BLAKE2b-256 77b3bc35339d646e01a1fa62acbb32e2aeaa62e3492e2014354fff72df39bf1c

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dbf0039c3a41b1c81610490b39d36635bfbd5bf07175868e65a546d06c0c928b
MD5 c2b4c695a3c15abe7b0ed56a19173804
BLAKE2b-256 3c8f22d66e314690f97508cc0cceb1a023ab3cc8092aeffb9dad6b64b2ead46d

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ccb90cfc2d0a19d646fa85203ced08669297c5b275ea5e87c2cd4ba66a7d0e4d
MD5 8365b558812fc6ede76adaf584521f73
BLAKE2b-256 11ea26a0852b84f6a4cef459d7980b18cee7532c41ece7a886768f08e81a9f66

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a04e568e2835dff8f598d322bbf486d8691d1d499c5430e6730bfea62678a8ec
MD5 3920c6b67634511f1231ba8d5722a0db
BLAKE2b-256 c002540c04f111d558a0ef15efa217e52e3896303cfee74d1247546b7fd81328

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 a1de23f7ef0e78696cc6690ab282a213a287dd4d94c50453d801233536fda3b2
MD5 1a4adada8c026351166bbb1cb0e63c76
BLAKE2b-256 edda18d34d81b80ab0897327054878ae7313a22e8cd62b868e465bf703af47e4

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 df483beadb2851c0eb96fad02d6d50bcd2bb690d181eab517f676d2121726aeb
MD5 8bdfa2687aa9bfe5f1bdbbd194f07ec5
BLAKE2b-256 9bb0153c94e96d4e22ebc32eb8be6e6e3ee8dce2acc5ce214b4ab5d17985cac5

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 60f210c78b0f7ebb4457b27b268583291112b9315056238749d30ce0a20ad3ef
MD5 40c9cb16ebb1b7af7cae1f6bb2495602
BLAKE2b-256 77fc8cbeaff8a61ce4f42bccc218550db9aae879bff9935f0094d7ccdea02466

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7b13812e0b85cf0f17a1b9bb031d84c9fc514c5a0968c34573e369f2fcf65274
MD5 6d94f4ec72ca1fd61dd2a27fa22ec4e1
BLAKE2b-256 72c8626e3839568fb8786cb864d437dac30d37ef119f42a23eef27e482e1cd9d

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b710ad7f092c422b7356ef10c7489d24ccb1b96554ebd3ed4fc5cd7d75428e3
MD5 65c82cae3a1fe548d6607051db37b78e
BLAKE2b-256 741099f6c57bf08a6acf02b4b5f85058bd22e4c38a317d384ce63e96239dec38

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp39-cp39-win_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 afa023afeeabdce88b88b7ff9e4183e669c4bdd9a712ba619b2ea69438b9e9de
MD5 bb430911633c26e9e6b3760cdec823b7
BLAKE2b-256 80119c5ea32bd8428ad90b0254f27fe0c354bd2e8f5cd87f79d0dde1d177bda9

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ac9333149c92f70d7778184734897c7dde2560d9ee0a27f0bfc0a9acbb9b765b
MD5 4c22bba89a1ab8e9f69e9ba87d8bdfe7
BLAKE2b-256 ac0d00f4118837b8c3156cd07f4e7af5ddc7ebab3b5dc63267528c2f8da45ece

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e60b5c9a885737391f3b0187ff8710b31c210f883bf13da75962c4ab41ae203
MD5 26edec15953668d450566b3508d13406
BLAKE2b-256 cbb4deb840e9495e11ead20086966d8d72c1a90b371fd1af68f55269e914bdf1

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 98e3fa8f68578365688ed86cafae662d6c15f84b93982bd3391f045ace104dd8
MD5 88d573e89cb0a84e5323c7dc07385394
BLAKE2b-256 e3259ee5f040aca4602d0bfe66d86ea72af0015f0f1959b2cbcc5b8c386a867f

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b0dcbab3a93331f91cfd7747a3e4a2c68d02b3f70524f6ef68ef4d2b4bc20ee
MD5 66a8a935876acc2efe1f0fced76641eb
BLAKE2b-256 4739423cffc17bea8fa444e221bbdc0b68f845b40b428c1b5e67838b538c6e55

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0c2ba26dc265105b75ab76d68cbaa30e232690aa3b358fb4ce7c3eeff81addcb
MD5 d9dfdc19994f02d1139e7f4163f2b7e8
BLAKE2b-256 4e08d0fe621a86e56c45e5387a86dc3579fcf2efc7c4bd6e08c6910ac39f1a14

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24a24cec20c1dc4e03cc281883983f9453c89faa00dddbd15c196ef10ac0a2e4
MD5 65c8efc08fa38e3d12bd6b588cfed707
BLAKE2b-256 a9bba6501ce400fd31903d36a26b0f557322fe4ce083b4bf858eef5693810d64

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7c1d67e1b57e09760c489c1325a8d7c6ad0b6672427b5d83461fa2bea2b8e7c6
MD5 044ae8a0a69cd3e2cf86fa8c0d50c1c4
BLAKE2b-256 e4170c425597b259f4f123cc76e07b688f88faf778bc56e82660333f3ee6ade2

See more details on using hashes here.

File details

Details for the file vegasafterglow-2.0.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vegasafterglow-2.0.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d1b50b5d0a2cbbb48986afd652270972525f7cab16f3ddc1f5f7279969dccf4
MD5 a93cd9939ab14efa5724fd594911340e
BLAKE2b-256 4c41cab0040ad53ed2006ff1207967df65e826c600cc587d0a0ac6d717fe8baf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page