Skip to main content

MCMC tools for astrophysics

Project description

VegasAfterglow (under construction, stay tuned!)

VegasAfterglow Logo

C++ Version PyPI version Build Status License Platform Python Version Documentation

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 in seconds to minutes. 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.



Table of Contents


Features

Shock Dynamics

  • Forward and Reverse Shock Modeling: Simulates both shocks with arbitrary magnetization levels.
  • Relativistic and Non-Relativistic Regimes: Accurately models shock evolution across all velocity regimes.
  • 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 high-energy IC cooling and emission.


Performance Highlights

VegasAfterglow delivers exceptional computational performance through deep optimization of its core algorithms:

  • Ultra-fast Light Curve Computation: Generates a 100-point single-frequency light curve (forward shock & synchrotron only) in approximately 0.9 milliseconds on an Apple M2 chip with a single core.

  • Rapid MCMC Exploration: Enables parameter estimation with 10,000 MCMC steps for 8 parameters on 20 data points across multi-wavelength light curves and spectra on an 8-core Apple M2 chip in:

    • ~20 seconds for on-axis structured jet scenarios
    • ~2 minutes for off-axis modeling scenarios

This level of performance is achieved through optimized algorithm implementation and efficient memory access patterns, facilitating comprehensive Bayesian inference on standard laptop hardware in seconds to minutes rather than hours or days. The accelerated convergence speed enables rapid iteration through different physical models and makes VegasAfterglow suitable for both detailed analysis of individual GRB events and large-scale population studies.



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 is the recommended method for most users. VegasAfterglow requires Python 3.7 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 the static library:
make lib
  1. (Optional) 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

We provide basic example scripts (script/quick.ipynb and script/mcmc.ipynb) that demonstrate how to set up and run afterglow simulations. This section shows how to calculate light curves and spectra for a simple GRB afterglow model without the need for observational data and perform MCMC parameter fitting with observational data. The notebook can be run using either Jupyter Notebook or VSCode with the Jupyter extension.

To avoid conflicts when updating the repository in the future, make a copy of the example notebook in the same directory and work with the copy instead of the original.

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.

Model Setup (click to expand/collapse)

First, let's set up the physical components of our afterglow model, including the environment, jet, observer, and radiation parameters:

import numpy as np
import matplotlib.pyplot as plt
from VegasAfterglow import ISM, TophatJet, Observer, Radiation, Model

# 1. Define the circumburst environment (constant density ISM)
medium = ISM(n_ism=1) #in cgs unit

# 2. Configure the jet structure (top-hat with opening angle, energy, and Lorentz factor)
jet = TophatJet(theta_c=0.1, E_iso=1e52, Gamma0=300) #in cgs unit

# 3. Set observer parameters (distance, redshift, viewing angle)
obs = Observer(lumi_dist=1e26, z=0.1, theta_obs=0) #in cgs unit

# 4. Define radiation microphysics parameters
rad = Radiation(eps_e=1e-1, eps_B=1e-3, p=2.3)

# 5. Combine all components into a complete afterglow model
model = Model(jet=jet, medium=medium, observer=obs, forward_rad=rad)
Light Curve Calculation (click to expand/collapse)

Now, let's compute and plot multi-wavelength light curves to see how the afterglow evolves over time:

# 1. Create logarithmic time array from 10² to 10⁸ seconds (100s to ~3yrs)
times = np.logspace(2, 8, 200)  

# 2. Define observing frequencies (radio, optical, X-ray bands in Hz)
bands = np.array([1e9, 1e14, 1e17])  

# 3. Calculate the afterglow emission at each time and frequency
results = model.specific_flux(times, bands)

# 4. Visualize the multi-wavelength light curves
plt.figure(figsize=(4.8, 3.6),dpi=200)

# 5. Plot each frequency band 
for i, nu in enumerate(bands):
    exp = int(np.floor(np.log10(nu)))
    base = nu / 10**exp
    plt.loglog(times, results['syn'][i,:], label=fr'${base:.1f} \times 10^{{{exp}}}$ Hz')

def add_note(plt):
    plt.annotate('jet break',xy=(3e4, 1e-26), xytext=(3e3, 5e-28), arrowprops=dict(arrowstyle='->'))
    plt.annotate(r'$\nu_m=\nu_a$',xy=(6e5, 3e-25), xytext=(7.5e4, 5e-24), arrowprops=dict(arrowstyle='->'))
    plt.annotate(r'$\nu=\nu_a$',xy=(1.5e6, 4e-25), xytext=(7.5e5, 5e-24), arrowprops=dict(arrowstyle='->'))

add_note(plt)   
plt.xlabel('Time (s)')
plt.ylabel('Flux Density (erg/cm²/s/Hz)')
plt.legend()
plt.title('Light Curves')
plt.savefig('assets/quick-lc.png',dpi=300)
Afterglow Light Curves

Running the light curve script will produce this figure showing the afterglow evolution across different frequencies.

Spectrum Analysis (click to expand/collapse)

We can also examine how the broadband spectrum evolves at different times after the burst:

# 1. Define broad frequency range (10⁵ to 10²² Hz) 
frequencies = np.logspace(5, 22, 200)  

# 2. Select specific time epochs for spectral snapshots 
epochs = np.array([1e2, 1e3, 1e4, 1e5 ,1e6, 1e7, 1e8])

# 3. Calculate spectra at each epoch
results = model.spectra(frequencies, epochs)


# 4. Plot broadband spectra at each epoch
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['syn'][i,:], color=colors[i], label=fr'${base:.1f} \times 10^{{{exp}}}$ s')

# 5. Add vertical lines marking the bands from the light curve plot
for i, band in enumerate(bands):
    exp = int(np.floor(np.log10(band)))
    base = band / 10**exp
    plt.axvline(band,ls='--',color='C'+str(i))

plt.xlabel('frequency (Hz)')
plt.ylabel('flux density (erg/cm²/s/Hz)')
plt.legend(ncol=2)
plt.title('Synchrotron Spectra')
plt.savefig('assets/quick-spec.png',dpi=300)
Broadband Spectra

The spectral analysis code will generate this visualization showing spectra at different times, with vertical lines indicating the frequencies calculated in the light curve example.

These examples demonstrate the core functionality of VegasAfterglow for modeling GRB afterglows. The code is designed to be highly efficient, allowing for rapid exploration of parameter space and comparison with observational data.

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. Preparing Data and Configuring the Model (click to expand/collapse)
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import corner
from VegasAfterglow import ObsData, Setups, Fitter, ParamDef, Scale

VegasAfterglow provides flexible options for loading observational data through the ObsData class. You can add light curves (specific flux vs. time) and spectra (specific flux vs. frequency) in multiple ways.

# Create an instance to store observational data
data = ObsData()

# Method 1: Add data directly from lists or numpy arrays

# For light curves
t_data = [1e3, 2e3, 5e3, 1e4, 2e4]  # Time in seconds
flux_data = [1e-26, 8e-27, 5e-27, 3e-27, 2e-27]  # Specific flux in erg/cm²/s/Hz
flux_err = [1e-28, 8e-28, 5e-28, 3e-28, 2e-28]  # Specific flux error in erg/cm²/s/Hz
data.add_light_curve(nu_cgs=4.84e14, t_cgs=t_data, Fnu_cgs=flux_data, Fnu_err=flux_err)

# For spectra
nu_data = [...]  # Frequencies in Hz
spectrum_data = [...] # Specific flux values in erg/cm²/s/Hz
spectrum_err = [...]   # Specific flux errors in erg/cm²/s/Hz
data.add_spectrum(t_cgs=3000, nu_cgs=nu_data, Fnu_cgs=spectrum_data, Fnu_err=spectrum_err)
# Method 2: Load from CSV files

data = ObsData()
# Define your bands and files
bands = [2.4e17, 4.84e14, 1.4e14]  # Example: X-ray, optical R-band
lc_files = ["data/ep.csv", "data/r.csv", "data/vt-r.csv"]

# Load light curves from files
for nu, fname in zip(bands, lc_files):
    df = pd.read_csv(fname)
    data.add_light_curve(nu_cgs=nu, t_cgs=df["t"], Fnu_cgs=df["Fv_obs"], Fnu_err=df["Fv_err"])

times = [3000] # Example: time in seconds
spec_files = ["data/ep-spec.csv"]

# Load spectra from files
for t, fname in zip(times, spec_files):
    df = pd.read_csv(fname)
    data.add_spectrum(t_cgs=t, nu_cgs=df["nu"], Fnu_cgs=df["Fv_obs"], Fnu_err=df["Fv_err"])

Note: The ObsData interface is designed to be flexible. You can mix and match different data sources, and add multiple light curves at different frequencies as well as multiple spectra at different times.

The Setups class defines the global properties and environment for your model. These settings remain fixed during the MCMC process.

cfg = Setups()

# Source properties
cfg.lumi_dist = 3.364e28    # Luminosity distance [cm]  
cfg.z = 1.58               # Redshift

# Physical model configuration
cfg.medium = "wind"        # Ambient medium: "wind", "ISM" (Interstellar Medium) or "user" (user-defined)
cfg.jet = "powerlaw"       # Jet structure: "powerlaw", "gaussian", "tophat" or "user" (user-defined)

These settings affect how the model is calculated but are not varied during the MCMC process.

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

The ParamDef class is used to define the parameters for MCMC exploration. Each parameter requires a name, initial value, prior range, and sampling scale:

mc_params = [
    ParamDef("E_iso",    1e52,  1e50,  1e54,  Scale.LOG),       # Isotropic energy [erg]
    ParamDef("Gamma0",     30,     5,  1000,  Scale.LOG),       # Lorentz factor at the core
    ParamDef("theta_c",   0.2,   0.0,   0.5,  Scale.LINEAR),    # Core half-opening angle [rad]
    ParamDef("theta_v",    0.,  None,  None,  Scale.FIXED),     # Viewing angle [rad]
    ParamDef("p",         2.5,     2,     3,  Scale.LINEAR),    # Shocked electron power law index
    ParamDef("eps_e",     0.1,  1e-2,   0.5,  Scale.LOG),       # Electron energy fraction
    ParamDef("eps_B",    1e-2,  1e-4,   0.5,  Scale.LOG),       # Magnetic field energy fraction
    ParamDef("A_star",   0.01,  1e-3,     1,  Scale.LOG),       # Wind parameter
    ParamDef("xi",        0.5,  1e-3,     1,  Scale.LOG),       # Electron acceleration fraction
]

Scale Types:

  • Scale.LOG: Sample in logarithmic space (log10) - ideal for parameters spanning multiple orders of magnitude
  • Scale.LINEAR: Sample in linear space - appropriate for parameters with narrower ranges
  • Scale.FIXED: Keep parameter fixed at the initial value - use for parameters you don't want to vary

Parameter Choices: The parameters you include depend on your model configuration:

  • For "wind" medium: use A_star parameter
  • For "ISM" medium: use n_ism parameter instead
  • Different jet structures may require different parameters

Initialize the Fitter class with your data and configuration, then run the MCMC process:

# Create the fitter object
fitter = Fitter(data, cfg)

# Run the MCMC fitting
result = fitter.fit(
    param_defs=mc_params,          # Parameter definitions
    total_steps=10000,             # Total number of MCMC steps
    burn_frac=0.3,                 # Fraction of steps to discard as burn-in
    thin=1                         # Thinning factor
)

The result object contains:

  • samples: The MCMC chain samples (posterior distribution)
  • labels: Parameter names
  • best_params: Maximum likelihood parameter values
3. Analyzing Results and Generating Predictions (click to expand/collapse)

Check the best-fit parameters and their uncertainties:

# Print best-fit parameters (maximum likelihood)
print("Best-fit parameters:")
for name, val in zip(result.labels, result.best_params):
    print(f"  {name}: {val:.4f}")

# Compute median and credible intervals
flat_chain = result.samples.reshape(-1, result.samples.shape[-1])
medians = np.median(flat_chain, axis=0)
lower = np.percentile(flat_chain, 16, axis=0)
upper = np.percentile(flat_chain, 84, axis=0)

print("\nParameter constraints (median and 68% credible intervals):")
for i, name in enumerate(result.labels):
    print(f"  {name}: {medians[i]:.4f} (+{upper[i]-medians[i]:.4f}, -{medians[i]-lower[i]:.4f})")

Use the best-fit parameters to generate model predictions

# Define time and frequency ranges for predictions
t_out = np.logspace(2, 9, 150)
bands = [2.4e17, 4.84e14, 1.4e14] 

# Generate light curves with the best-fit model
lc_best = fitter.light_curves(result.best_params, t_out, bands)

nu_out = np.logspace(6, 20, 150)
times = [3000]
# Generate model spectra at the specified times using the best-fit parameters
spec_best = fitter.spectra(result.best_params, nu_out, times)

Now you can plot the best-fit model:

def draw_bestfit(t, lc_fit, nu, spec_fit):
    # Create figure with two subplots
    fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(4.5, 7.5))
    
    # Plot light curves
    shifts = [1, 1, 200]
    colors = ['blue', 'orange', 'green']
    
    for i in range(len(lc_files)):
        df = pd.read_csv(lc_files[i])
        ax1.errorbar(df["t"], df["Fv_obs"] * shifts[i], df["Fv_err"] * shifts[i], 
                    fmt='o', color=colors[i], label=lc_files[i])
        ax1.plot(t, np.array(lc_fit[i]) * shifts[i], color=colors[i], lw=1)

    # Plot spectra
    for i in range(len(spec_files)):
        df = pd.read_csv(spec_files[i])
        ax2.errorbar(df["nu"], df["Fv_obs"] * shifts[i], df["Fv_err"] * shifts[i], 
                    fmt='o', color=colors[i], label=spec_files[i])
        ax2.plot(nu, np.array(spec_fit[0]) * shifts[i], color=colors[i], lw=1)

    # Configure axes
    for ax, xlabel, ylabel in [(ax1, 't [s]', r'$F_\nu$ [erg/cm$^2$/s/Hz]'),
                              (ax2, r'$\nu$ [Hz]', r'$F_\nu$ [erg/cm$^2$/s/Hz]')]:
        ax.set_xscale('log'); ax.set_yscale('log')
        ax.set_xlabel(xlabel); ax.set_ylabel(ylabel)
        ax.legend()

    plt.tight_layout()

draw_bestfit(t_out, lc_best, nu_out, spec_best)

Corner plots are essential for visualizing parameter correlations and posterior distributions:

def plot_corner(flat_chain, labels, filename="corner_plot.png"):
    fig = corner.corner(
        flat_chain,
        labels=labels,
        quantiles=[0.16, 0.5, 0.84],  # For median and ±1σ
        show_titles=True,
        title_kwargs={"fontsize": 14},
        label_kwargs={"fontsize": 14},
        truths=np.median(flat_chain, axis=0),  # Show median values
        truth_color='red',
        bins=30,
        smooth=1,
        fill_contours=True,
        levels=[0.16, 0.5, 0.68],  # 1σ and 2σ contours
        color='k'
    )
    fig.savefig(filename, dpi=300, bbox_inches='tight')

# Create the corner plot
flat_chain = result.samples.reshape(-1, result.samples.shape[-1])
plot_corner(flat_chain, result.labels)

Documentation

Comprehensive documentation is available at Documentation including:

  • Installation Guide: Detailed instructions for setting up VegasAfterglow
  • Examples: Practical examples showing common use cases
  • Python API Reference: Complete documentation of the Python interface
  • C++ API Reference: Detailed documentation of C++ classes and functions
  • Contributing Guide: Information for developers who wish to contribute

The documentation is regularly updated with the latest features and improvements.


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

We value all contributions and aim to respond to issues promptly.


License

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

The BSD 3-Clause License is a permissive open source license that allows you to:

  • Freely use, modify, and distribute the software in source and binary forms
  • Use the software for commercial purposes
  • Integrate the software into proprietary applications

Requirements:

  • You must include the original copyright notice and the license text
  • You cannot use the names of the authors or contributors to endorse derived products
  • The license provides no warranty or liability protection

For the full license text, see the LICENSE file in the repository.


Citation

If you use VegasAfterglow in your research, please cite the relevant paper(s):

If you use specific modules or features that are described in other publications, please cite those as well according to standard academic practice.

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-0.1.5.tar.gz (12.6 MB view details)

Uploaded Source

Built Distributions

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

vegasafterglow-0.1.5-cp313-cp313-win_arm64.whl (176.4 kB view details)

Uploaded CPython 3.13Windows ARM64

vegasafterglow-0.1.5-cp313-cp313-win_amd64.whl (216.5 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-0.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp313-cp313-macosx_11_0_arm64.whl (177.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vegasafterglow-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl (201.2 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

vegasafterglow-0.1.5-cp312-cp312-win_arm64.whl (176.3 kB view details)

Uploaded CPython 3.12Windows ARM64

vegasafterglow-0.1.5-cp312-cp312-win_amd64.whl (216.5 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-0.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp312-cp312-macosx_11_0_arm64.whl (177.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vegasafterglow-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl (201.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

vegasafterglow-0.1.5-cp311-cp311-win_arm64.whl (177.9 kB view details)

Uploaded CPython 3.11Windows ARM64

vegasafterglow-0.1.5-cp311-cp311-win_amd64.whl (214.6 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (241.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp311-cp311-macosx_11_0_arm64.whl (178.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vegasafterglow-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl (201.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

vegasafterglow-0.1.5-cp310-cp310-win_arm64.whl (177.3 kB view details)

Uploaded CPython 3.10Windows ARM64

vegasafterglow-0.1.5-cp310-cp310-win_amd64.whl (213.6 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp310-cp310-macosx_11_0_arm64.whl (176.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vegasafterglow-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl (200.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

vegasafterglow-0.1.5-cp39-cp39-win_arm64.whl (175.3 kB view details)

Uploaded CPython 3.9Windows ARM64

vegasafterglow-0.1.5-cp39-cp39-win_amd64.whl (211.7 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-0.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp39-cp39-macosx_11_0_arm64.whl (176.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vegasafterglow-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl (200.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vegasafterglow-0.1.5-cp38-cp38-win_amd64.whl (213.5 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-0.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp38-cp38-macosx_11_0_arm64.whl (176.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

vegasafterglow-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl (199.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vegasafterglow-0.1.5-cp37-cp37m-win_amd64.whl (213.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

vegasafterglow-0.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (240.4 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.5-cp37-cp37m-macosx_10_9_x86_64.whl (198.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for vegasafterglow-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d7b8d7bc3de5bf7664998e95b93ccc97a98bff30cffa8a385eb6e3b0dc76a4fa
MD5 8572fe17c65c96f5ffabd1bed2be0ed6
BLAKE2b-256 be1a257d619d83c9c5b3837a1cf3c26a8f1e6b88b226da055eb0ac175d83a29f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 04351711c6e047494431b1be3ffd3a92bf7d7c0b15e9e56294d35553e68ef8f4
MD5 2059c69bcd1de0be659459b89f458cfe
BLAKE2b-256 2c0d20e9f68174e1d410bfdc80053a5642ae8c2e24b265321434065b2bdb1577

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d15c4ec1da55259069215862cbdf3652449e8de955f670c5d4148e3cf105e886
MD5 9219b9cb1f98642ee3d47fd3436efd64
BLAKE2b-256 46ff8b9f90376e69d319e779a2163909c877c93989cfded91f49e89d966ff189

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d34a6f68b538d6daa326a85e4c8dc34c8f33a85e2fba23241f1e20f80551e82
MD5 f69231a9ddfdfb8878b2efe9137b9f2a
BLAKE2b-256 e88fa5d2bfff678d93f1f3840a7fed28c8e1cef0e160f203fa187bfb3506495b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dbd49bf3eb906a679c9af10d0baf8b836f14cc2cfa4010ab87f7cdd233fe1b48
MD5 62f962735086e869576a05fdc3d6b5fd
BLAKE2b-256 35bb042b6a81f2c0de54c1abbb960a1f52816716dfa89be441db9ff3c23ea695

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 32306711435d487d8ac6eb262fa1c110daa3a48f117cc220f0f856b19ba1259b
MD5 4cec6e4bfdba7212e44c8706534a0f68
BLAKE2b-256 99a469ba27daaacdbd23d990f8942036a4dea516d516ce5c0e1e9edceb7e0a56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 ce034f29a25f0f9731100946cc1af2529c1e64e0a38d1f467e1c78ab32ab1f98
MD5 8540c8247e27bdb865e3fba17b438030
BLAKE2b-256 c16c8466665b98861481b051a6daa6f45ddb288637938dd8412d8defd557b6ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c586fa07bb4ffc0b7a0d84fb95197898ca5bba5b4d01204aef9d7013768903bb
MD5 211bc4745730cd9bea6c17e819d27471
BLAKE2b-256 811ef9575986825f60d761dea41d9d5273dd0c3834eed52d9e6451964e6813ba

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3c9ef1eec50811523309e2437464c0b705fe2836232b5b0c8742da678ccd845
MD5 8e653143e89c5654aa0e7f0578f0f3a5
BLAKE2b-256 40c3aec93f2584cf8530b1cc426186b38eab6d7ecd90845dedd26092e5734459

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 148a9d6e3d59ccea7003572d307b671c87ad7587013956301e45d552e697d35c
MD5 71039d730be8e44cff11f8ddf12a42ae
BLAKE2b-256 7a52cda0bfd5718559614174d73c2e9525fb1f3a7689eae9f0a491ee72e502f5

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5de2e82e53513686fcfb799f479d92718e931dccc60f4006fafdc703ccf0f5ca
MD5 bcb842c56c98435132cedffe0ef938bd
BLAKE2b-256 50b8cb0b1e053deb7f613dddfd99374d93e86a8d5e8339e5d629c2a157a032d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 d205d81197df1a4654140380fba919b713793cb94cf1bb533f5009b7d1f82278
MD5 684b9a82216f51d4fc0df6bca3ca6bd8
BLAKE2b-256 bc90d45d3abcb0a08a645dc7534ac3931e2c6a25df5fa4959bfd60f36f0f465e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 63cabc70d0b211827bc4a5bf5d6b275a3b8b952a7d114c7dbe1c056a1a18e4b8
MD5 4d2a786f3b6ab26e225504d0a08bce03
BLAKE2b-256 ebb48e370d048d7bcd4bc12c458cfd0efef166b8761fca8f59e4fcd3d45c90e9

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e451938e7da61f9c91382a6699021067d227f4a2e6e442ab93296d683278f4a0
MD5 90705ffe1011decf4cc271d5bbdcec54
BLAKE2b-256 bfeb1d830c37760fb6dd37471481236555ec8ea2653b4455a166c1abac7ff7a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf213e8af1e8493e56d40c8aefb41f15864f2b729d19d9b58f85f703882e9bdf
MD5 9fa1a7d01db492fd98c57be2f3ec00ba
BLAKE2b-256 a04e052ef8ca0e0bd1e55fd9ecce31d9ef593569be7518e698d6878622303a3f

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9cf6197e50ba3dcd854c26ca790f226bbdf278e6d7c3127915d508ecbdbbb3ea
MD5 d1371c1ebaa608d2adae7e0208c76f74
BLAKE2b-256 784b295f944f2d0ee17aeaa8f94e59bf1d32cd6d2c35d8aa168119ad54db4796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 7637629a64842db60213c94b599835274c52b4f18b65fddd511d903f02c50428
MD5 66aed43c69fbbd0fad8ff598224ef2e1
BLAKE2b-256 5c7be1464f842a16987b0b5834d6d28ca098db7e35db64549e633ff5feed6637

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 04a3e0d7d368b28e43039fac719c26ca031714c980ba75324f6cb8c03420e46a
MD5 799d67b9c022650b27a77b7425e393e0
BLAKE2b-256 e76b18cd1ecf889cb2462038e20b372e53e148369f3d22ff06e802886769163e

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 74c1938e37b75188646b6ce2abd1b53e995a395729a706489525c38f821f1e60
MD5 72e7b552b03f015a7e285a2eba754663
BLAKE2b-256 1641687af5194870d3e8d2cf21f390672148b93db72fb5fb2af2b483f0cbbef9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d99d11de2e3705cae88b5943047d113fdaae47f043eb2d67dd447af34d5096f2
MD5 80f13e099f8a3ed6726b0e1152380292
BLAKE2b-256 30814a2824ce75fb40c1a42c4146cdb50fa11d3592f07c504bac90d31112d8ad

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7c97ad061f5d39c9b548ec02149253f591604d496d96a1595a0fb1daaa30c6af
MD5 05df55ed8dda985fbb8efaf0afd2c8d4
BLAKE2b-256 bfd145c1f26f1d9330f73d8a5bca20b09a661b639fc6398cd3aa40d3f4aab021

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 e4fbed671d02494e2220eb59dd3d82fcd8bd985699c6a84586a85fe84505c5de
MD5 2216faadce32d27a29c12ba55469a9dd
BLAKE2b-256 532fd93859b0d4233f23603b2a25007c00c187b227b535399b95f8a6957e47c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 56a5f8342676ba0389885b6acb567a8b751c06310620a5a45c1f61317adf9c0f
MD5 9cf25fd332c2bccaf40945ce67b7979e
BLAKE2b-256 d8e61880e1a84a4504c9e70079f5317f052b9c4dbdc20961ee60fc55a178d69a

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f3835f7218d28def65178b8cd76bd6f12c0c7b263d9a4529f2e4768cf7feb23
MD5 3a93e4aedccaaa9fd66af76cb2ba7d6d
BLAKE2b-256 438c1bcadc364d9966d138bef42275caadc9eb42d58e707f8c2e71faa70789a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92cc84b883ac196f93b4ba0a1849c0a034971fbc9ae0c2f28386f3cf8758c036
MD5 623fe926a8f2b24b470fc0508d26af1c
BLAKE2b-256 aea12577af575cea92724ca8f2517b89b4a2b34b3dc73cbac42523d66bd440a2

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8b1e4766c077d6c66a07072f3e9b5f8713ea49f9710e30593487238cbd5d1d2e
MD5 13918279001530a811cff04a94bb2c77
BLAKE2b-256 94d7888a20c2e0954f0dda01315c890c058bb01a87f90cdd50cc995bdd55c502

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ee5e74b40c4415134fb6de37eda6590023e146b988115a8b81e3803378104c6a
MD5 30e481f34b71616003c9619c410a522e
BLAKE2b-256 90e41545ae40ab9b999d9bab593aac1f12b8352f5127b4b73b95ad82ab0c1048

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc338a887300d2631d714bde9b1ba20521406a5dd371e94641a3ecba278ba688
MD5 77100680808b5c6013858aa7c733c65a
BLAKE2b-256 6b52dc04caa2716f8f7cb1ca644b3fa19dee2fd02b3911aba27fac89a7574b79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0e72db65d4af2782c2a9a8e88de9e28d2953d2008762397114904db454300a0c
MD5 40a24d528e95aa66056e5428bec9fc97
BLAKE2b-256 004513d2793e101daba1fed38f52dba28afe5263dabf34cf7f7ab4da9bbd8889

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 afaa4a09715d549689238adb01cf9cda2084ece98bccf2ef38b4d321e5e90c77
MD5 c2b81a538d3b6dbfcb3f4b67c1bc2b8d
BLAKE2b-256 02c7a1b58948422471975889f3cfcd7283b232b6cf368715535aec522a3507e2

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 539ad68c917132b24e7b33860931ba730a47d7b92d49a143d30a8a556be9c212
MD5 bd2cf83600a72c2ad89078c7affbf780
BLAKE2b-256 82154dd989d34511701b4bab60c00f772514f830038f081049b9ca06a0361373

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1905b10e5a87aa1c07795b2d536c6c278f0165fa475a20b01a50aa7699cc480
MD5 34d7cc09d0fcee53ddc68052d4b330bf
BLAKE2b-256 0ba09fd254e1875f9c0e3ebfa64cd56ce5d9d73c54af0ffae4278aa273fd50a4

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.5-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c181d36a1d4830c1c1590fb5094d93dc72b4c4627bcc052929a7aa4de9996ecd
MD5 b0a965cca6bf42d988caeb7de9e95409
BLAKE2b-256 8a0942f51dc6c6d7d6c2c012c513d83aa8a17603caf313234ab078b5b508b90a

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