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. It also exposes summary(), save(), and load() for inspecting and persisting fits — see below.

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

Inspect the top-K best fits:

print(result.summary())

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)

Persist the fit to disk and reload later (bilby-native HDF5 / JSON — interoperable with bilby.read_in_result(path)):

result.save("my_fit.h5")

# later session, no need to re-run the MCMC:
from VegasAfterglow import FitResult
result = FitResult.load("my_fit.h5")
print(result.summary())

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.4.tar.gz (37.5 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.4-cp314-cp314-win_arm64.whl (408.8 kB view details)

Uploaded CPython 3.14Windows ARM64

vegasafterglow-2.0.4-cp314-cp314-win_amd64.whl (423.9 kB view details)

Uploaded CPython 3.14Windows x86-64

vegasafterglow-2.0.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (743.6 kB view details)

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

vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_x86_64.whl (592.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_arm64.whl (512.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

vegasafterglow-2.0.4-cp313-cp313-win_arm64.whl (395.7 kB view details)

Uploaded CPython 3.13Windows ARM64

vegasafterglow-2.0.4-cp313-cp313-win_amd64.whl (411.9 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-2.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (743.6 kB view details)

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

vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_x86_64.whl (592.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_arm64.whl (511.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vegasafterglow-2.0.4-cp312-cp312-win_arm64.whl (395.8 kB view details)

Uploaded CPython 3.12Windows ARM64

vegasafterglow-2.0.4-cp312-cp312-win_amd64.whl (411.9 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-2.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (743.6 kB view details)

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

vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_x86_64.whl (592.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_arm64.whl (511.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vegasafterglow-2.0.4-cp311-cp311-win_arm64.whl (394.7 kB view details)

Uploaded CPython 3.11Windows ARM64

vegasafterglow-2.0.4-cp311-cp311-win_amd64.whl (410.8 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-2.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (744.1 kB view details)

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

vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_x86_64.whl (589.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_arm64.whl (510.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vegasafterglow-2.0.4-cp310-cp310-win_arm64.whl (393.3 kB view details)

Uploaded CPython 3.10Windows ARM64

vegasafterglow-2.0.4-cp310-cp310-win_amd64.whl (409.2 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-2.0.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (743.3 kB view details)

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

vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_x86_64.whl (587.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_arm64.whl (509.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vegasafterglow-2.0.4-cp39-cp39-win_arm64.whl (393.4 kB view details)

Uploaded CPython 3.9Windows ARM64

vegasafterglow-2.0.4-cp39-cp39-win_amd64.whl (409.2 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-2.0.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (743.5 kB view details)

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

vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_x86_64.whl (587.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_arm64.whl (509.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vegasafterglow-2.0.4-cp38-cp38-win_amd64.whl (409.2 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-2.0.4-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (742.9 kB view details)

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

vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_x86_64.whl (587.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ x86-64

vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_arm64.whl (509.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: vegasafterglow-2.0.4.tar.gz
  • Upload date:
  • Size: 37.5 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.4.tar.gz
Algorithm Hash digest
SHA256 a758820e6b38e6f1364e965c5d5c25b166801c9db794ca49294a48f6af48aeeb
MD5 7c91ee36a3ad6e260e11f2b8ef5bf1d3
BLAKE2b-256 590244a7c19f72034dcc7091e2213a18ebd032e7ed1a71bf02678d6d80e18cf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 a0390d9eb10a5d2226d6b6f23f7ac65b8fe4d8928c476587be09f36a448a0f4d
MD5 da90b6266cc447017af49f82670dcab0
BLAKE2b-256 cf4fe0d2144095704b79de0c9114359caeff15cbbc43e948742aeb50d3f9dd10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3b6e3b973bcf8ad63ff75e6520be2b50018898174085990f108621cd331fc811
MD5 4996c659e72dbfb38e925e5f06f34426
BLAKE2b-256 fd0fe40d91ca12394617db217f5a0759347160cced160d83ae0ba3e790a5558a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 936db9ed151112582673f4dc83b73e718a90e134ed904d88b78738541e29220b
MD5 de9cf2023b19caa0d4dfb33dc27dc4ab
BLAKE2b-256 b16960b69ed3ecccc4d3677a77092488f90b9ec535730e9ee77c103f5ad97033

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 0cc09d1da989b71685cd00727d6045ee42117974f32cd17206d9bfed5b2581fd
MD5 87b2a8dcc49c4cc3401f9150627110c8
BLAKE2b-256 5e669d0976e6fa26ff80d9c585669dbdd9d1ab8296b479811fee7dacb920a722

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8b37807abbe44a71866eaea45635c9aff0fb81fba7fa71300346130fade2b19
MD5 19a44d70be3d77793553a0fa1bc1feff
BLAKE2b-256 6923b9b76bb2c7ac08f1d1a1623dbd91f514c1f7103766242eed2de0e39f5681

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 3df3e86c2fcdd497523edf5dc043a22ed28b7ccd3229a5e4fae86e3e1056fbe3
MD5 2f2ee5ea480aebc13e62db2447046e5b
BLAKE2b-256 a04a36e35b53055f1ae89c9e5cd3bb626556880d2ddc086533ad0a9c3afb7e81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4655384ca7cb34902a960d7825b246d4deec82d9970d684b696fab4ffe69e045
MD5 d6cf35b9a5102e99d266c6055ea2f0c4
BLAKE2b-256 e45ae953b7687318c1119fdd4ab60f023a2301cb1783c080bc349222e76dcd1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ba12d6a647380045d22ebb4a95fa1346b70878c8b3cba2a0f921fa508ee58195
MD5 bf75b8496f8f0e7e5bd38a5a30d5bb86
BLAKE2b-256 8188a1e9e5386838d3d63a34590843a295723b1fe08dd266c960c1c5031c6505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 18cf0514216cea1bf22d455d0f8fac6bb28cbc7b884cb06f0d75dbfa119f4be1
MD5 c1a0dfc84ca3ec59399a49847f9ef048
BLAKE2b-256 bf3c44349321f06701b6327f9b75717419ad843430d2810183477838128d119f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee26e875b3b5f7fa9f5920f5f9dfe9305b3864f761fad50e221c7f9199d8c19c
MD5 03f32f6fcf037fa423e7c5cf6821fe9b
BLAKE2b-256 ea6b3ebdcb94ceec61955025a9bee16c45bc90e9b8fbb50d1e9812e303302af8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 d841603a9014b780858d2c59c39a3d5951b2413832a56d556719d5282387b72f
MD5 f27308650108160cb235ea5134f303f8
BLAKE2b-256 f82592eac496db625b3befc7afb41ceadac1e8244619a5f4a7b1de62d33eb14e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b6ef5dc3deaa10c08efdea44b26e23bf5eedb1dbb317e492e6fa323fdd153359
MD5 b8ed1870ae907b83688ced74e16290db
BLAKE2b-256 5b2623529594f98e8b47ae26e5345cd809004dd88a4cbf3a698ac33b373b3570

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 29184a8c5b9e8a550ab710d3da95a44c6dc0f4f2b9d907cd8b6df91e95434995
MD5 0b54125995be60f3c04b904d2a1dc890
BLAKE2b-256 551045bc68d46eca51102d53d677906403aad389a326a19c370af0315075eeae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ecc3ddfc5a0eaa84b0ca1a55988ce9ae0318b1bdb58d8762da8d0ca132a9f482
MD5 14a4c75f50850bbb2899b80459305bb4
BLAKE2b-256 2a3652392224e755bee3781a0bdc5ffae97958b52938cde6a018e0857215b9c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5a458e7dc3c6410a5a005a32952d08df64ccbd00b6f8713a8b75fd07aba4562
MD5 7511dbd95e18674b40cd4f53182f6d31
BLAKE2b-256 b9a63b1438a909e020e5fe6ae7f7fda55ad9715decc7f3b4f334035dc6395822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 a7cf02644dd2f8e362257063b2900122c3b2f34678dcea31918ae66288af8898
MD5 5fb560ad26c718498f2bd55b50694fc6
BLAKE2b-256 1442e0ad7dc43b403474b5f407cdb9d593a1e82acd7c410d61f0f1d6ddccecc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e8138ee31e1083c4e3dd8f776bf3943ac142d3eb3986efe99de505158b51f4a5
MD5 50d9a1cb1f7f99a3a27e34dd247f6b3b
BLAKE2b-256 990df90363d687ef211b1fc84a46229330c216bc2d51e2269026fb91d255e064

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88b419948dddbf45ccd9553f86fd1b653086d23cbd1ca2382f1e80e48ce367f1
MD5 88fff9f9ce7e81eee1b6bd55bccb6ccb
BLAKE2b-256 26ae1b83873f76fa685bbd99bedbda3f9bc9808c120884bd651005483dd7dd09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 fc78eebcc846527e489e7c7e22cebf9c6e23555fa3702c3547ce0a951084c171
MD5 34479b93bcfdb5e96b9bbda19cce94d5
BLAKE2b-256 e2ce83563728449b246f36d0c538dd6172c497839f0b4435f497ab6f30306042

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5103cb18fc3cd8bc20c0103cf68d4ed14d80ec43a0d613e4a58fc39a349f9cd2
MD5 0c8724c51998bcd70f0c9512c1e3b9ff
BLAKE2b-256 c9330eb3bb4be63897943633635aecafb319876d8bebdd1fde5b96b0793efccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 a328e5f6fa9e66f6c2e9c0c34ff44b7131e1059c6ce300b94d66e9f8077670f3
MD5 d53d7bead0b41b398a13faff5c8be274
BLAKE2b-256 83469fa6d59b23f2e66852a55ec8429873d2d59429db67dbf53a2a6efea14ab8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 823713c8cac5c89daaca5c6d40db269a45b1010445c5b2000d6460c1e3dae2d7
MD5 a75fb7791db5bc05272996fd9465ccd6
BLAKE2b-256 dc55f323d95ae483bc66fbc244ad003c4e30d8e771d2cd717d1788e0fd0c7591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 418cbfcf9e6012efc7da5ee8a5fd8859655cb4d9292f9eba87a4e3a855c750c8
MD5 4d872031b437f5dc612dc4b3109f6207
BLAKE2b-256 0230d2d1dd43318238b033e516f8fde638d0ebed1c4d9905204ec6544e74bca8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4050ccfb321a961d9332f191a01a90a7bbe46370f8962a91442af42e609a5dfd
MD5 6b109a7a3b2e19d07684a1373c428daf
BLAKE2b-256 ecb30e01ccebb19d13391588b362cf25aed5425deb27c7d23e8f9964249eb8c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 708ced20b8d11d3aac39605146dbaa153a4c2e60d5b406bff0e1c460aac7f989
MD5 4aa038bf2b2c79a083f106ec6e717dd1
BLAKE2b-256 6ea590d7551cb659ca50f4c52f2807cf2c7ab4fb25e05848bed3232c33cc1591

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 12649a533d7e544758b3bdeaa0b7f9a8b1cd3606f59664239a89a6c1b542db50
MD5 66b1eef2bc6c39d076eb02d13f3f1abc
BLAKE2b-256 3e32cd10027d226fc9beaa20aa255d590bddb92e9179bb02277b565808c1d2f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6e56cb5e611744ea02ed74e683644d4b93f9749ca90166943d4190f7ee4464f3
MD5 df7a4e89ceae4060b7ae3e0177d782d6
BLAKE2b-256 0521eb1dc64a104cf2b5b9236a3b44c9773ba097a85f6917ebee495432328fce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9faaf498f61db78bd4f8520aadaa88bcbba346f1f422f664b0c19eb2f1d3b4e0
MD5 46c53edf5816bb94e8031bb481374cd5
BLAKE2b-256 dcf5beeaa144800fcc9d12d2ef4b86118e3950e209d109d91068f6dee51f1c71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 30689df6826cf823e5576dc38b6609576f74a6ae04466254bd18c41b79109b51
MD5 2a07b212f099d7d3d40cf0383e02c7af
BLAKE2b-256 4be078325baadcee7218f33a4d444f4aeb23780965bef5b2dbf6cd18059c575c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 546561e7272283c8b76b53c5b630e3d2c431bc4d46439b1e5188675342eb10cb
MD5 671c33fb0dc02bdde6ffe341ae500e7f
BLAKE2b-256 2145e841b5b5506c29e5bf820a9294883ff5493513f71c0f6ba5f10891a0d174

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 44f3764ea23d89dfaa6ec2d4b443a9991c013b1c19b3fd6109625c9bcb55605e
MD5 afba88a5dc4d53f6ac5d7f416537bceb
BLAKE2b-256 ce14833d3e6f5f1a7b7a5aee487276921caa33856d9cc1791af5fa16569d539a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 343f6fd5058d0791f2829e974194c8ca88ffb599b4a8bffde87da485b8743423
MD5 092fb680a29ec623f5f35b4686df2fb3
BLAKE2b-256 8a2d3b87738555322fdb9358343b691d7116b1eca8bbf558d7a4dbf5f356617d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b75680597aada7cf53764c7c87b1a11e021d59ffc8e63723afac99235ed20acc
MD5 84adc4877e633cab1ed8cf4bcc21d1bb
BLAKE2b-256 e39b79709e55fef12317ba306871a890f85dbb80100580a44605d837ab79a88d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97a49f50fa0afd04c6b207a12a41ffbb6bb125f09e3e83a4f7e2ca30f156c715
MD5 86b20c4da96611b6fc8a4c4e95337566
BLAKE2b-256 41ce35d973af4dba25eec2485acf48208f6fcff402854e2bcc831a8c449762af

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