High-performance C++ framework with Python interface for modeling Gamma-Ray Burst (GRB) afterglows.
Project description
VegasAfterglow
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
- VegasAfterglow
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.
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:
- Clone this repository:
git clone https://github.com/YihanWangAstro/VegasAfterglow.git
- 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)
- Clone the repository (if not previously done):
git clone https://github.com/YihanWangAstro/VegasAfterglow.git
cd VegasAfterglow
- 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
vegasgencommand, 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')
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')
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 outputflux_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')
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/srimg.extent: angular extent in radians (pass toimshow(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)
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 + ISMvegas_gaussian- Gaussian jet + ISMvegas_powerlaw- Power-law jet + ISMvegas_two_component- Two-component jet + ISMvegas_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:
-
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
-
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
-
Email - For private questions or discussions:
- Contact the maintainers directly via email
- Yihan Wang: yihan.astro@gmail.com
- Bing Zhang: bing.zhang@unlv.edu
- Connery Chen: connery.chen@unlv.edu
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!
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}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a758820e6b38e6f1364e965c5d5c25b166801c9db794ca49294a48f6af48aeeb
|
|
| MD5 |
7c91ee36a3ad6e260e11f2b8ef5bf1d3
|
|
| BLAKE2b-256 |
590244a7c19f72034dcc7091e2213a18ebd032e7ed1a71bf02678d6d80e18cf9
|
File details
Details for the file vegasafterglow-2.0.4-cp314-cp314-win_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp314-cp314-win_arm64.whl
- Upload date:
- Size: 408.8 kB
- Tags: CPython 3.14, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0390d9eb10a5d2226d6b6f23f7ac65b8fe4d8928c476587be09f36a448a0f4d
|
|
| MD5 |
da90b6266cc447017af49f82670dcab0
|
|
| BLAKE2b-256 |
cf4fe0d2144095704b79de0c9114359caeff15cbbc43e948742aeb50d3f9dd10
|
File details
Details for the file vegasafterglow-2.0.4-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 423.9 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b6e3b973bcf8ad63ff75e6520be2b50018898174085990f108621cd331fc811
|
|
| MD5 |
4996c659e72dbfb38e925e5f06f34426
|
|
| BLAKE2b-256 |
fd0fe40d91ca12394617db217f5a0759347160cced160d83ae0ba3e790a5558a
|
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
- Download URL: vegasafterglow-2.0.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 743.6 kB
- Tags: CPython 3.14, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
936db9ed151112582673f4dc83b73e718a90e134ed904d88b78738541e29220b
|
|
| MD5 |
de9cf2023b19caa0d4dfb33dc27dc4ab
|
|
| BLAKE2b-256 |
b16960b69ed3ecccc4d3677a77092488f90b9ec535730e9ee77c103f5ad97033
|
File details
Details for the file vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_x86_64.whl
- Upload date:
- Size: 592.3 kB
- Tags: CPython 3.14, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cc09d1da989b71685cd00727d6045ee42117974f32cd17206d9bfed5b2581fd
|
|
| MD5 |
87b2a8dcc49c4cc3401f9150627110c8
|
|
| BLAKE2b-256 |
5e669d0976e6fa26ff80d9c585669dbdd9d1ab8296b479811fee7dacb920a722
|
File details
Details for the file vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 512.2 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8b37807abbe44a71866eaea45635c9aff0fb81fba7fa71300346130fade2b19
|
|
| MD5 |
19a44d70be3d77793553a0fa1bc1feff
|
|
| BLAKE2b-256 |
6923b9b76bb2c7ac08f1d1a1623dbd91f514c1f7103766242eed2de0e39f5681
|
File details
Details for the file vegasafterglow-2.0.4-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 395.7 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3df3e86c2fcdd497523edf5dc043a22ed28b7ccd3229a5e4fae86e3e1056fbe3
|
|
| MD5 |
2f2ee5ea480aebc13e62db2447046e5b
|
|
| BLAKE2b-256 |
a04a36e35b53055f1ae89c9e5cd3bb626556880d2ddc086533ad0a9c3afb7e81
|
File details
Details for the file vegasafterglow-2.0.4-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 411.9 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4655384ca7cb34902a960d7825b246d4deec82d9970d684b696fab4ffe69e045
|
|
| MD5 |
d6cf35b9a5102e99d266c6055ea2f0c4
|
|
| BLAKE2b-256 |
e45ae953b7687318c1119fdd4ab60f023a2301cb1783c080bc349222e76dcd1d
|
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
- Download URL: vegasafterglow-2.0.4-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 743.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba12d6a647380045d22ebb4a95fa1346b70878c8b3cba2a0f921fa508ee58195
|
|
| MD5 |
bf75b8496f8f0e7e5bd38a5a30d5bb86
|
|
| BLAKE2b-256 |
8188a1e9e5386838d3d63a34590843a295723b1fe08dd266c960c1c5031c6505
|
File details
Details for the file vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_x86_64.whl
- Upload date:
- Size: 592.1 kB
- Tags: CPython 3.13, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18cf0514216cea1bf22d455d0f8fac6bb28cbc7b884cb06f0d75dbfa119f4be1
|
|
| MD5 |
c1a0dfc84ca3ec59399a49847f9ef048
|
|
| BLAKE2b-256 |
bf3c44349321f06701b6327f9b75717419ad843430d2810183477838128d119f
|
File details
Details for the file vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 511.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee26e875b3b5f7fa9f5920f5f9dfe9305b3864f761fad50e221c7f9199d8c19c
|
|
| MD5 |
03f32f6fcf037fa423e7c5cf6821fe9b
|
|
| BLAKE2b-256 |
ea6b3ebdcb94ceec61955025a9bee16c45bc90e9b8fbb50d1e9812e303302af8
|
File details
Details for the file vegasafterglow-2.0.4-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 395.8 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d841603a9014b780858d2c59c39a3d5951b2413832a56d556719d5282387b72f
|
|
| MD5 |
f27308650108160cb235ea5134f303f8
|
|
| BLAKE2b-256 |
f82592eac496db625b3befc7afb41ceadac1e8244619a5f4a7b1de62d33eb14e
|
File details
Details for the file vegasafterglow-2.0.4-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 411.9 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6ef5dc3deaa10c08efdea44b26e23bf5eedb1dbb317e492e6fa323fdd153359
|
|
| MD5 |
b8ed1870ae907b83688ced74e16290db
|
|
| BLAKE2b-256 |
5b2623529594f98e8b47ae26e5345cd809004dd88a4cbf3a698ac33b373b3570
|
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
- Download URL: vegasafterglow-2.0.4-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 743.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29184a8c5b9e8a550ab710d3da95a44c6dc0f4f2b9d907cd8b6df91e95434995
|
|
| MD5 |
0b54125995be60f3c04b904d2a1dc890
|
|
| BLAKE2b-256 |
551045bc68d46eca51102d53d677906403aad389a326a19c370af0315075eeae
|
File details
Details for the file vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_x86_64.whl
- Upload date:
- Size: 592.0 kB
- Tags: CPython 3.12, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecc3ddfc5a0eaa84b0ca1a55988ce9ae0318b1bdb58d8762da8d0ca132a9f482
|
|
| MD5 |
14a4c75f50850bbb2899b80459305bb4
|
|
| BLAKE2b-256 |
2a3652392224e755bee3781a0bdc5ffae97958b52938cde6a018e0857215b9c3
|
File details
Details for the file vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 511.6 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5a458e7dc3c6410a5a005a32952d08df64ccbd00b6f8713a8b75fd07aba4562
|
|
| MD5 |
7511dbd95e18674b40cd4f53182f6d31
|
|
| BLAKE2b-256 |
b9a63b1438a909e020e5fe6ae7f7fda55ad9715decc7f3b4f334035dc6395822
|
File details
Details for the file vegasafterglow-2.0.4-cp311-cp311-win_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp311-cp311-win_arm64.whl
- Upload date:
- Size: 394.7 kB
- Tags: CPython 3.11, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7cf02644dd2f8e362257063b2900122c3b2f34678dcea31918ae66288af8898
|
|
| MD5 |
5fb560ad26c718498f2bd55b50694fc6
|
|
| BLAKE2b-256 |
1442e0ad7dc43b403474b5f407cdb9d593a1e82acd7c410d61f0f1d6ddccecc9
|
File details
Details for the file vegasafterglow-2.0.4-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 410.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8138ee31e1083c4e3dd8f776bf3943ac142d3eb3986efe99de505158b51f4a5
|
|
| MD5 |
50d9a1cb1f7f99a3a27e34dd247f6b3b
|
|
| BLAKE2b-256 |
990df90363d687ef211b1fc84a46229330c216bc2d51e2269026fb91d255e064
|
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
- Download URL: vegasafterglow-2.0.4-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 744.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88b419948dddbf45ccd9553f86fd1b653086d23cbd1ca2382f1e80e48ce367f1
|
|
| MD5 |
88fff9f9ce7e81eee1b6bd55bccb6ccb
|
|
| BLAKE2b-256 |
26ae1b83873f76fa685bbd99bedbda3f9bc9808c120884bd651005483dd7dd09
|
File details
Details for the file vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_x86_64.whl
- Upload date:
- Size: 589.0 kB
- Tags: CPython 3.11, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc78eebcc846527e489e7c7e22cebf9c6e23555fa3702c3547ce0a951084c171
|
|
| MD5 |
34479b93bcfdb5e96b9bbda19cce94d5
|
|
| BLAKE2b-256 |
e2ce83563728449b246f36d0c538dd6172c497839f0b4435f497ab6f30306042
|
File details
Details for the file vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 510.3 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5103cb18fc3cd8bc20c0103cf68d4ed14d80ec43a0d613e4a58fc39a349f9cd2
|
|
| MD5 |
0c8724c51998bcd70f0c9512c1e3b9ff
|
|
| BLAKE2b-256 |
c9330eb3bb4be63897943633635aecafb319876d8bebdd1fde5b96b0793efccc
|
File details
Details for the file vegasafterglow-2.0.4-cp310-cp310-win_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp310-cp310-win_arm64.whl
- Upload date:
- Size: 393.3 kB
- Tags: CPython 3.10, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a328e5f6fa9e66f6c2e9c0c34ff44b7131e1059c6ce300b94d66e9f8077670f3
|
|
| MD5 |
d53d7bead0b41b398a13faff5c8be274
|
|
| BLAKE2b-256 |
83469fa6d59b23f2e66852a55ec8429873d2d59429db67dbf53a2a6efea14ab8
|
File details
Details for the file vegasafterglow-2.0.4-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 409.2 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
823713c8cac5c89daaca5c6d40db269a45b1010445c5b2000d6460c1e3dae2d7
|
|
| MD5 |
a75fb7791db5bc05272996fd9465ccd6
|
|
| BLAKE2b-256 |
dc55f323d95ae483bc66fbc244ad003c4e30d8e771d2cd717d1788e0fd0c7591
|
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
- Download URL: vegasafterglow-2.0.4-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 743.3 kB
- Tags: CPython 3.10, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
418cbfcf9e6012efc7da5ee8a5fd8859655cb4d9292f9eba87a4e3a855c750c8
|
|
| MD5 |
4d872031b437f5dc612dc4b3109f6207
|
|
| BLAKE2b-256 |
0230d2d1dd43318238b033e516f8fde638d0ebed1c4d9905204ec6544e74bca8
|
File details
Details for the file vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_x86_64.whl
- Upload date:
- Size: 587.4 kB
- Tags: CPython 3.10, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4050ccfb321a961d9332f191a01a90a7bbe46370f8962a91442af42e609a5dfd
|
|
| MD5 |
6b109a7a3b2e19d07684a1373c428daf
|
|
| BLAKE2b-256 |
ecb30e01ccebb19d13391588b362cf25aed5425deb27c7d23e8f9964249eb8c6
|
File details
Details for the file vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 509.4 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
708ced20b8d11d3aac39605146dbaa153a4c2e60d5b406bff0e1c460aac7f989
|
|
| MD5 |
4aa038bf2b2c79a083f106ec6e717dd1
|
|
| BLAKE2b-256 |
6ea590d7551cb659ca50f4c52f2807cf2c7ab4fb25e05848bed3232c33cc1591
|
File details
Details for the file vegasafterglow-2.0.4-cp39-cp39-win_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp39-cp39-win_arm64.whl
- Upload date:
- Size: 393.4 kB
- Tags: CPython 3.9, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12649a533d7e544758b3bdeaa0b7f9a8b1cd3606f59664239a89a6c1b542db50
|
|
| MD5 |
66b1eef2bc6c39d076eb02d13f3f1abc
|
|
| BLAKE2b-256 |
3e32cd10027d226fc9beaa20aa255d590bddb92e9179bb02277b565808c1d2f9
|
File details
Details for the file vegasafterglow-2.0.4-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 409.2 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e56cb5e611744ea02ed74e683644d4b93f9749ca90166943d4190f7ee4464f3
|
|
| MD5 |
df7a4e89ceae4060b7ae3e0177d782d6
|
|
| BLAKE2b-256 |
0521eb1dc64a104cf2b5b9236a3b44c9773ba097a85f6917ebee495432328fce
|
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
- Download URL: vegasafterglow-2.0.4-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 743.5 kB
- Tags: CPython 3.9, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9faaf498f61db78bd4f8520aadaa88bcbba346f1f422f664b0c19eb2f1d3b4e0
|
|
| MD5 |
46c53edf5816bb94e8031bb481374cd5
|
|
| BLAKE2b-256 |
dcf5beeaa144800fcc9d12d2ef4b86118e3950e209d109d91068f6dee51f1c71
|
File details
Details for the file vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_x86_64.whl
- Upload date:
- Size: 587.6 kB
- Tags: CPython 3.9, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
30689df6826cf823e5576dc38b6609576f74a6ae04466254bd18c41b79109b51
|
|
| MD5 |
2a07b212f099d7d3d40cf0383e02c7af
|
|
| BLAKE2b-256 |
4be078325baadcee7218f33a4d444f4aeb23780965bef5b2dbf6cd18059c575c
|
File details
Details for the file vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 509.5 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
546561e7272283c8b76b53c5b630e3d2c431bc4d46439b1e5188675342eb10cb
|
|
| MD5 |
671c33fb0dc02bdde6ffe341ae500e7f
|
|
| BLAKE2b-256 |
2145e841b5b5506c29e5bf820a9294883ff5493513f71c0f6ba5f10891a0d174
|
File details
Details for the file vegasafterglow-2.0.4-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 409.2 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44f3764ea23d89dfaa6ec2d4b443a9991c013b1c19b3fd6109625c9bcb55605e
|
|
| MD5 |
afba88a5dc4d53f6ac5d7f416537bceb
|
|
| BLAKE2b-256 |
ce14833d3e6f5f1a7b7a5aee487276921caa33856d9cc1791af5fa16569d539a
|
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
- Download URL: vegasafterglow-2.0.4-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 742.9 kB
- Tags: CPython 3.8, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
343f6fd5058d0791f2829e974194c8ca88ffb599b4a8bffde87da485b8743423
|
|
| MD5 |
092fb680a29ec623f5f35b4686df2fb3
|
|
| BLAKE2b-256 |
8a2d3b87738555322fdb9358343b691d7116b1eca8bbf558d7a4dbf5f356617d
|
File details
Details for the file vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_x86_64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_x86_64.whl
- Upload date:
- Size: 587.2 kB
- Tags: CPython 3.8, macOS 11.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b75680597aada7cf53764c7c87b1a11e021d59ffc8e63723afac99235ed20acc
|
|
| MD5 |
84adc4877e633cab1ed8cf4bcc21d1bb
|
|
| BLAKE2b-256 |
e39b79709e55fef12317ba306871a890f85dbb80100580a44605d837ab79a88d
|
File details
Details for the file vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: vegasafterglow-2.0.4-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 509.2 kB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97a49f50fa0afd04c6b207a12a41ffbb6bb125f09e3e83a4f7e2ca30f156c715
|
|
| MD5 |
86b20c4da96611b6fc8a4c4e95337566
|
|
| BLAKE2b-256 |
41ce35d973af4dba25eec2485acf48208f6fcff402854e2bcc831a8c449762af
|