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 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. A user-friendly Python wrapper is provided to streamline integration into scientific data analysis workflows.



Table of Contents


Features

Shock Dynamics & Evolution

  • 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 30-point single-frequency light curve (forward shock & synchrotron only) in approximately 0.6 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.8 or higher.

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

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

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

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

C++ Installation

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

Instructions for C++ Installation (click to expand/collapse)
  1. Clone the repository (if not previously done):
git clone https://github.com/YihanWangAstro/VegasAfterglow.git
cd VegasAfterglow
  1. Compile 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 a 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=(3e5, 3e-25), xytext=(5.5e4, 5e-24), arrowprops=dict(arrowstyle='->'))
    plt.annotate(r'$\nu=\nu_m$',xy=(6e5, 1e-25), xytext=(5.5e5, 5e-24), arrowprops=dict(arrowstyle='->'))
    plt.annotate(r'$\nu=\nu_a$',xy=(4e6, 6e-26), xytext=(5e6, 1e-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.4.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.4-cp313-cp313-win_arm64.whl (170.2 kB view details)

Uploaded CPython 3.13Windows ARM64

vegasafterglow-0.1.4-cp313-cp313-win_amd64.whl (210.6 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.4-cp313-cp313-macosx_11_0_arm64.whl (173.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vegasafterglow-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl (194.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

vegasafterglow-0.1.4-cp312-cp312-win_arm64.whl (170.1 kB view details)

Uploaded CPython 3.12Windows ARM64

vegasafterglow-0.1.4-cp312-cp312-win_amd64.whl (210.6 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.4-cp312-cp312-macosx_11_0_arm64.whl (173.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vegasafterglow-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl (194.9 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

vegasafterglow-0.1.4-cp311-cp311-win_arm64.whl (171.7 kB view details)

Uploaded CPython 3.11Windows ARM64

vegasafterglow-0.1.4-cp311-cp311-win_amd64.whl (208.8 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.4-cp311-cp311-macosx_11_0_arm64.whl (173.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vegasafterglow-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl (195.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

vegasafterglow-0.1.4-cp310-cp310-win_arm64.whl (170.9 kB view details)

Uploaded CPython 3.10Windows ARM64

vegasafterglow-0.1.4-cp310-cp310-win_amd64.whl (207.7 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.4-cp310-cp310-macosx_11_0_arm64.whl (172.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vegasafterglow-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl (194.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

vegasafterglow-0.1.4-cp39-cp39-win_arm64.whl (169.2 kB view details)

Uploaded CPython 3.9Windows ARM64

vegasafterglow-0.1.4-cp39-cp39-win_amd64.whl (205.7 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (234.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.4-cp39-cp39-macosx_11_0_arm64.whl (172.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vegasafterglow-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl (194.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vegasafterglow-0.1.4-cp38-cp38-win_amd64.whl (207.4 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (233.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.4-cp38-cp38-macosx_11_0_arm64.whl (172.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

vegasafterglow-0.1.4-cp38-cp38-macosx_10_9_x86_64.whl (193.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: vegasafterglow-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 20cbcaecef2261929372fd4bfefcb62951ee4280bc708ea025a8847d799083aa
MD5 bb26741d20b9b2e1194bf40c418e9c77
BLAKE2b-256 ae42f82c42e049d7c4ffff5e2d419616e3b9b6633f48a8b068cb7dbf68133cee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 5c39b27f13d6970bf3152de0529c5cba6a27afd4c6692e24e613394bb655573f
MD5 1ea5f8c74dec2dc2cd664cbb9d1bc255
BLAKE2b-256 a860a1be85d7cc92776310733b645966bde8ebad26985293aac0a220dcb0e5d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 95e26e3087d17e65d783311b0e0f360eae11d1d6b5cdfb1e02540338113c556d
MD5 31ea54d5e15694a711148f383619d9fb
BLAKE2b-256 08125a1693ba801068fadd84017a5e855b318f0de6cd8df33308a2493964129a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9dce6f23b40345d4b1984b34e3aaf05069a871acd52842c13292bd1b8184c6a5
MD5 a11ee63f9859a8902cfae0c0450cd4f9
BLAKE2b-256 e8a30bd14cc09e77abe0bed09cb85484f4e7c2fbda84ef9bb55fc11e9b34fe7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6208f74c53d672c0162d08aeb5802c163d67ca7ee5b6e7b2e99abe414c24b179
MD5 8a2ada12f11cf7bd03531de269a67c87
BLAKE2b-256 e88654606c862697686eb4407790ede9fd4ad85bb6da88902161f1f762fe6019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 495dbc2f108d501c9f68d884be4a5c831d7bbf5af6ab2eb8e8562ca513fff8ae
MD5 46311e5fd1a47d9265458194d91e9869
BLAKE2b-256 71b311a9176b6fd24921dd5f506ae5b1ac2d6c9b5ae432aa258826840ea95b04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 f5e410e118ce4d622a2284aeed6e18b8f5fd647a28eece8f47955773c6f9a873
MD5 744df1df8e3b78075c6ab8dcc6beff09
BLAKE2b-256 a36205d2e887c6775ca8626ed7d8514611aabf42a112bec12302bad745cc4cb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 be53cfb19818b917570ce3649ffdd7e141ea5b77370298e156d6bd3176dab30e
MD5 61aafad07d91f5e20ea41fb26236cf5c
BLAKE2b-256 2ddf9de5626dc0ced02689b04ee1cc5d070e26f10efa32b16b4e45ddf0d002dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f361e067b5e37061413d716c552ce957dae1158ee0156556adc54609d99468e
MD5 c49263a65cc39d93e9576262a346c7b6
BLAKE2b-256 ba9259418230e0acc1cbbd14e6c84ca01c31c518f44568c84fec31bf082bbe7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9c68cf08b7767079e13fed4ad378af3ba3366020351521caf4fab922d2601c5
MD5 b7343d2a0aad2537ff01921617941afa
BLAKE2b-256 6024d8fb1ae1860abe773bf0d114bcf130ee2b41ebaea805238e5f13bbb3ac7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 93784147dc30c7ae09326dfbeef95e88c4cc15889bcf987f0704a1c22f26df66
MD5 16bbeb658536a4dfebefbd0835a75199
BLAKE2b-256 d69fb6045016608bcdb674dc94e5eb25ce72baf61abfc1ac30f4b95e45d94b88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 35986cbccef58d67068ff631cec5e943581c234a9286a68d2a2fa69da6daa14d
MD5 af252a9e8a73eb1fa6ea7057d397fd3e
BLAKE2b-256 ad860a8a41c4ae0a231f0196ed374a9fce48a7640678f249422618d6a6f44b00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 230a5e5132da36b1328c5411263e4ab8fb70e4ba8a0719a63465cf8fd6598eec
MD5 fe3de24ff36f397d7f1f48bb50f5e058
BLAKE2b-256 601c62b0024f9a2966890001e84a98c31b1527a1cdaae9a3ecfc06c3e0cf6089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d85b87703c2b27499188f6a0b3acd4e579c14d5c477249c5feb923d5b0bacfa
MD5 0b08904210914fc28b12c627b20de231
BLAKE2b-256 8d4c705a9385a61832314d8d6efb9ce59539a65016ba6ed85df7a7b67fe7867a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a04477a4d2596b88e2f4c9db73838efed6325e96042e76c2088a7dbd701fa206
MD5 ba18c0f10b2e3565e2284773ec253c8c
BLAKE2b-256 ecdd2f98c557467d1985d07cbfaf6c63d0fed2132c37180ca49dcb1292e455bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b488cfb182c08db8c09965e132e80b9adda543f4eb120a948dffb9d55cc96c6e
MD5 92692523488361847782f06bc894e0d7
BLAKE2b-256 64dbe0a201a64784c7769a03aae1ea68bca89cc62204b60eeed0368611f8a57a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 123b18c8cc25c232b062c29fa9a531a34167e295e4b90fc083020e306908c61a
MD5 ff9b495f824bff4d9e4749998a5587d0
BLAKE2b-256 d5303c6e1183a096c7610401ce63a724a0a5e66f652e539d4430fd3c2a65fd38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 798af1159e6b92b9e2aabb4c84ecaa771cf6764ab05d1faf7d88a66088cd81a6
MD5 10dfed8b2c62d6c90fd515b0d9adc869
BLAKE2b-256 15bcb66973d39b39bc2a98e6c56d36f4c739525fba055b69a9f1cae0ba94e0ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c4569753889e073fdbd8c52e7d9f66fd402eac383fab7bf9ac0d97ce1cc79cde
MD5 1039880659c2de7c5df6ab30327a665c
BLAKE2b-256 58c591824d3d47faf87e1666b1cb54201f149831cf69591d858852205b595d00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31e9578b095bbed28900dcabfc68dc03139e688d50c41425fc6b555f6afe7c6b
MD5 344dbd2a4f7fb6a7f251e40fa11ba64f
BLAKE2b-256 278017efcf15367d7a6939dbe5f6d5f3d953a3fd7aa3bb32ec1ae48bff2a36e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 24637b9fbc8a2240972128a9c36a3f131247e34f8005b95d768ebf6f5f9767c3
MD5 80c961e0bb5f28184a4128e5ead87d6c
BLAKE2b-256 409f7eacda3416fd4d4c798ca8adffcb50f4204b4e743027e53569d667a1a985

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 0ecc8ceb9f50632b616ce8f467b81354230f73a7df68d3ffca781ceadfdeaa5f
MD5 0c997de01c2fb65ebf260cca8356ffb5
BLAKE2b-256 3c72f907f6dd770eb961833fb873e50f5b53b5e4ca629d33df3231b9118bbd55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dfa91e3c2116d66e566f19ca3bcd3fa8d797578a8c3525d11ae6075909ed8169
MD5 1aa19d30b37367226909ca58ab3e8820
BLAKE2b-256 ea1482db09b2eaa3ffa992cc0a8de5cc678c97aa8d8121733c60d289a616be2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f6e4368f371992baf923d202fe47663df4beab9b9e8d75766274329bcd5d531
MD5 95724e7f64ab2cb0e87824af16eaaecf
BLAKE2b-256 8089d8712986b80e0f14a706ea1e3fd1f16d02c6c94a3d44d882ab14d90d08a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a96a8037b352845db34337745833e8fda412eedd736934b257edfcd99178f2f
MD5 d433e6200d4454ed6a8c7c4efd9d28b1
BLAKE2b-256 36d76b67dd855003c9abba2f161cb25137a826bfde37d670f50ddcad6e90f1f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2107795020448c35a00c31b63128a322f487e6f160269a7f9a59b836ff29f231
MD5 b4fb126666951159b1b1e712824c0215
BLAKE2b-256 a42bbfd2f3fcc4f0921b1f881cb08502572a05787f1492e57c9c970e54905861

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 44e290e841f6ce9d4db85da56a6612eca8ddb93cf0a4910c580c52cdc6421aca
MD5 cf7a261dc69c3533298d4528a5b589b8
BLAKE2b-256 16979f426d99050574e2a6c47d055908ad7078db96f020183d7b49ab9baaedf6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3c5a83e14a3239e79d743d88f2cc9f5433de2127d88c759aa9d24dee6b821535
MD5 dccb03af315d7651bc028f522bd144fe
BLAKE2b-256 7cd2f0fea0b3654c401f6dcbee6e74c29fa34ae50a8e9d9b8582c3b256c4d3db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0dd3f4e5b354f643ba4bd2bdb11cf2d48383797e69b0eb549d51c5f8091505e
MD5 d8ffac37558aeae1d0b1027a9bed339b
BLAKE2b-256 c4158c1f9d799e58e0f9e9c8b84795e69b8c6743b12555c9641d10c88256f7c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3272e2abb536af553dbaaa8c3c27f2bb4ed099aed2742fc3e5c051ba5997ec24
MD5 2111b1e6a5ad927d9080081893643c6b
BLAKE2b-256 28d5b139b73b7cacb3d361a5b4bac94a1753460a6243b8f89530016c8fad8880

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