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 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 Wave: Supports smooth transition between adiabatic and radiative blast wave.
  • 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 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) from a structured jet viewed off-axis in approximately 1 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

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, 100)  

# 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=(8e5, 2e-25), xytext=(7.5e4, 5e-24), arrowprops=dict(arrowstyle='->'))
    plt.annotate(r'$\nu=\nu_a$',xy=(4e6, 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('quick-lc.png',dpi=300,bbox_inches='tight')
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, 100)  

# 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.specific_flux(epochs, frequencies)

# 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('quick-spec.png',dpi=300,bbox_inches='tight')
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, prior range, and sampling scale:

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("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",         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 (NOT officially released).


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.


Acknowledgments & Citation

We would like to thank the contributors who helped improve VegasAfterglow. Special thanks to Weihua Lei, Shaoyu Fu, Iris Yin, Cuiyuan Dai and Binbin Zhang 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 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.9.tar.gz (11.9 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.9-cp313-cp313-win_arm64.whl (181.0 kB view details)

Uploaded CPython 3.13Windows ARM64

vegasafterglow-0.1.9-cp313-cp313-win_amd64.whl (209.8 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-0.1.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (224.8 kB view details)

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

vegasafterglow-0.1.9-cp313-cp313-macosx_11_0_arm64.whl (183.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vegasafterglow-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl (203.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

vegasafterglow-0.1.9-cp312-cp312-win_arm64.whl (181.0 kB view details)

Uploaded CPython 3.12Windows ARM64

vegasafterglow-0.1.9-cp312-cp312-win_amd64.whl (209.8 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-0.1.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (225.0 kB view details)

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

vegasafterglow-0.1.9-cp312-cp312-macosx_11_0_arm64.whl (183.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vegasafterglow-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl (203.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

vegasafterglow-0.1.9-cp311-cp311-win_arm64.whl (182.6 kB view details)

Uploaded CPython 3.11Windows ARM64

vegasafterglow-0.1.9-cp311-cp311-win_amd64.whl (207.7 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-0.1.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (221.3 kB view details)

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

vegasafterglow-0.1.9-cp311-cp311-macosx_11_0_arm64.whl (183.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vegasafterglow-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl (203.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

vegasafterglow-0.1.9-cp310-cp310-win_arm64.whl (181.9 kB view details)

Uploaded CPython 3.10Windows ARM64

vegasafterglow-0.1.9-cp310-cp310-win_amd64.whl (206.6 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-0.1.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (220.2 kB view details)

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

vegasafterglow-0.1.9-cp310-cp310-macosx_11_0_arm64.whl (182.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vegasafterglow-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl (202.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

vegasafterglow-0.1.9-cp39-cp39-win_arm64.whl (180.1 kB view details)

Uploaded CPython 3.9Windows ARM64

vegasafterglow-0.1.9-cp39-cp39-win_amd64.whl (204.7 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-0.1.9-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (220.3 kB view details)

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

vegasafterglow-0.1.9-cp39-cp39-macosx_11_0_arm64.whl (182.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vegasafterglow-0.1.9-cp39-cp39-macosx_10_9_x86_64.whl (202.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vegasafterglow-0.1.9-cp38-cp38-win_amd64.whl (206.4 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-0.1.9-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (220.0 kB view details)

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

vegasafterglow-0.1.9-cp38-cp38-macosx_11_0_arm64.whl (181.8 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

vegasafterglow-0.1.9-cp38-cp38-macosx_10_9_x86_64.whl (201.8 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: vegasafterglow-0.1.9.tar.gz
  • Upload date:
  • Size: 11.9 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.9.tar.gz
Algorithm Hash digest
SHA256 058838f4ed2fe787c17fe5674573d859fe96a16a3caecef9879f7d42bfb29a04
MD5 e89b5eacc4b3b4e9123adfd45a5839bd
BLAKE2b-256 685e6f7e19f6f101db139990f58bda3c68d35c5c9151cf2cec433979139990db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 764069c8067847dbcb61c09c59bce1344399bf017a9a372d8fc7fdef75f8cc5c
MD5 7d18ce2d8ea3142fd42bd34cecdf6029
BLAKE2b-256 324717ee21280ecb870c5a4dfd37d04ce8c38c257dd08a6f6ce1900bfe5599ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4c7f57aac4bbfc1799cc2b1593dbd63c96827f28926fcd6350fc51cb304d0cae
MD5 e9b088a317d2a8a621fa3b30060a1bd1
BLAKE2b-256 1319376ade29a228608ca131568269f73ff8d441a4c183e64c17426fdf9595cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24b192ee693a5d1daa2d3b71c16a96a4902396fc12a42e3574f281c60140370b
MD5 d4c6f1c0062925fc4c62c12feceec9bf
BLAKE2b-256 656b04df4bd0db827fb32eaba6a2e9033efdaf331b6cc5284c1b8d9c79814871

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 048ba1febf3d0d66f9b56700acdd39f9842b35418c6b6317f0200751e6306f16
MD5 4e6ae2b6bfdb69be6cb0f8d18ec55cb4
BLAKE2b-256 a0a6a9c70684dd88d02124fcdf89a1f627a61cfb590b78ce41f264e2d4df628e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 99d218e308c6b952cdf75a7a31ed916ec59955481b0f8291dcdf42e993c4f2c9
MD5 87a25aac2d811b3c0b5ca41f4c2b6927
BLAKE2b-256 c9129050ab7465600c32d5101ead851cac763713336c22d79defe61fe3443777

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 8212f179e556aa0184fcade061da5511d8895ef99bc95cd8a5ff875f3e8aa8e2
MD5 1a4f5a4f32037903a959d1b02a22feb7
BLAKE2b-256 0dd72d68dc432d1446a627c32ebf536618c17d997bd2b4480f2ccbb0d325b380

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3f7c51f10459e852cebefbb97b2418e8479abc436be96ba0adbfc388de5f084c
MD5 da71388bd93467d6c4ede2d4920edd08
BLAKE2b-256 02022bc8f779873801791de7b97809d68983fa5544063bf172fffe06a198af34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 51880c7fc0a506956f2310396627fbb88eca83a810ffb9d5f80b4d7d7297b0b7
MD5 2dfdb26fa31f5465ef201e44454b94ad
BLAKE2b-256 ac264c458e93f7a3ea3778d452fd1cad4b883b4c6096acf74bd052c9fa867e86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4874f77e4707b0f6c9e30f9edb7414a6a6f59a3f3a00c8e509afff56ced68a9a
MD5 5b130b5b126960f233ef598e982fc8b7
BLAKE2b-256 d7cba7e903fe3a42a5532d175a7cdb09546802523af4c9737443b071976fa6bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b73a164b3cc2fb26c5731f950fbc4e9ebc47fc8c912ad4736f785a94693a67a7
MD5 0421e35ba18605eec45f7bd1a15de7e0
BLAKE2b-256 0c7ebb8bb4a30932e8be87b4356e85560a0e2ce34cf40e775b3172d1f6db1c84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 05ac8e03f96fc84bc0799fd191ca0857fc7c80830b79585936255057f03f8338
MD5 d47d4af543302721f77c94ce2b23937a
BLAKE2b-256 745be9c39b59b7ed89b917e094d0f88eff0f21d25d2f430499046d212fbc899e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1eead3a98fcfc6bd45068f069a48583a8b61e54c841ce7d21594589dc7bf6a8d
MD5 d9f6e3030ec461d4fa3fa942bfb092ce
BLAKE2b-256 07e6bc6c3d98acb9525728cf956bef41c5efbeb33d7a9770c3a2ba5c8b65d65b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d111384c9be0eefec914c45baa4231ed845a4a3687f4454004211bcf8a59833
MD5 4f190b1e92913d18fb1efeabf03b7d83
BLAKE2b-256 c689721da944969fc840f9668eb8b2d7d1895676c70e2796d41ec3502d4f0548

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c8726456a503ed5da75b94a349484038603e95fdb2689e3c9ef88d5cc619e78
MD5 8a769cd1cbb19d2ae06fcdf5c2790e37
BLAKE2b-256 754a1b4550a3a249edb5a3547f2462915232f0139a1153c5ed39ebc4d4502c07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e5d1debed723a20fda5c80ef49027ee96b3854690eb067ca515cdd933a900301
MD5 f444feb8e273521875275a37c2303f2f
BLAKE2b-256 1b6b9d9382e448425502963c3c08491ab478806760c7e7e5b7c57eee55f2a4d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 10867a01cede42d10fb40d427e54a0987b09c9f0564b2f562b3797e21249b5ab
MD5 7ca33674a643196b72d9964b303e0301
BLAKE2b-256 245bf865015ee549563ab608d857026172d877b94f1a72022d1968f89406359b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3c307bba4431c9bcc66c5126b1d0429b6c118e050e0283125641abc3e8a22bc8
MD5 02e43d72db969ee789b3e6f7317078a6
BLAKE2b-256 578fc8f3dc3b8404634707cda07f3274e576ee9b95e8ca4d1d7f9dbfcedba826

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a89fa8c0d17e72424ff169f837be5a14d5d6c8d64ce9a5af094470cb51a9bbf
MD5 40107de50041204b9bf2167ceb185a58
BLAKE2b-256 d920aa01ebef775d47cc2f15efaaa33d31fb87f6371da84dea54d14a429fae74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d12f535c2e51a2e8e3bd9c37c7b499da1479e3a1a8e01ed854d46ed9b4eb406
MD5 8be17f878a3c59f6df95af5d6ce977e2
BLAKE2b-256 fb9eab7340dcdd3247a7afa6b3108431e7bb417615f863217da08e11e3875f28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 62d9ffa9c6e9188da31c93da7efdb0da688b0f342de50c4824cbcda6e19a7bd1
MD5 08750727ad6299d5b55b25013fc56845
BLAKE2b-256 4f11ee348b71e22290d3b02c49259464bfb8459a764bffa84fbada516a1142d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 536720ebbe3c152224d98fac47e5a4a263505c451d411484eaab3777a6d2f938
MD5 a547242f1a816e9d423a5c4b39796177
BLAKE2b-256 05793e27356cc9c63f8d0eb27009321a2f4acb35793adb1baf846eb961803e88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e857f0b8e1d7d09c0848f526be2526ae8082405f451a4e407ccd35ab90832c92
MD5 5de7a685c37d1fd9a09102ff228acf9e
BLAKE2b-256 7823716a5a267331e6dca80a7ca5dc83337d5ac78bce93aad35de72c3611d157

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4dc5a76b7e7e86508869a72df9fbe4c405320b79c7306b5c0172151d3a1d6981
MD5 0c52308a641919a0aeba51e94c7abda7
BLAKE2b-256 10cf1ece80954da72e1555e4e76d552b346108996a29a00829d5e15c90043fdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9426430d359424ba02a41659fa4eaf78880086790d31f595e4d86fc0b4eca09f
MD5 468d8f073de129b4efe815f633408ad6
BLAKE2b-256 6eab6e83e7e7c4dcde596b59d5da7e36ab1007af954ee7ad8214e46e67c23123

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 992896a241e62129b755fbabd77c3e39908e3a1d3b13846491c349865a2569c7
MD5 6ec552581c8cd138c7fbb062d66712a5
BLAKE2b-256 775927378e1c58f38a09cd2fcf39b4f2d847e82059c2d040e5c07d933c2fbce2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0aeb39cc2dad6ecd7451b25189157c5c20d685fc280e2d4c017937e8fdb421a1
MD5 5e7446fb43e10cf3b67645cdfe18f12b
BLAKE2b-256 dda65b2541bfc15c44b88517ca6869026966c6b388120d82628ed53fd73c2d63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4dc05d06988b3e537f4364e5ca0832acc526ab641f917b65dab454883b9e4a49
MD5 0207b30eed29eeec37d8ce8e3b9c5cb8
BLAKE2b-256 ab8a58d8eab032fc633d5dd44a492d9b64c61b0627a9bd690123365aa4829263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 68830587a2962edaec43c66541f634268b2d6ea1d1556f94a77257092d8c7802
MD5 f081c5ca3ce6e07fb01b07aac59eaf70
BLAKE2b-256 c81d41f3842d4a66ecd2ac16a212207c1a7e898209b3132eb776138218d8390a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.9-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e66cba2ed91551f44316020513dacc22f39db1ff663b12c003fc6d74a831f853
MD5 79fe08221c46647001fd07b598a302ed
BLAKE2b-256 f8df8879ca0b8f24f62636cd0f0440ce17f8d7f043801b992b3f63b3e9369e28

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