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.6.tar.gz (12.7 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.6-cp313-cp313-win_arm64.whl (178.8 kB view details)

Uploaded CPython 3.13Windows ARM64

vegasafterglow-0.1.6-cp313-cp313-win_amd64.whl (219.0 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (244.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp313-cp313-macosx_11_0_arm64.whl (179.9 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

vegasafterglow-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl (202.3 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

vegasafterglow-0.1.6-cp312-cp312-win_arm64.whl (178.8 kB view details)

Uploaded CPython 3.12Windows ARM64

vegasafterglow-0.1.6-cp312-cp312-win_amd64.whl (219.0 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (244.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp312-cp312-macosx_11_0_arm64.whl (179.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

vegasafterglow-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl (202.2 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

vegasafterglow-0.1.6-cp311-cp311-win_arm64.whl (180.3 kB view details)

Uploaded CPython 3.11Windows ARM64

vegasafterglow-0.1.6-cp311-cp311-win_amd64.whl (216.7 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (245.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp311-cp311-macosx_11_0_arm64.whl (179.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

vegasafterglow-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl (202.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

vegasafterglow-0.1.6-cp310-cp310-win_arm64.whl (179.6 kB view details)

Uploaded CPython 3.10Windows ARM64

vegasafterglow-0.1.6-cp310-cp310-win_amd64.whl (215.5 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (244.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp310-cp310-macosx_11_0_arm64.whl (178.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

vegasafterglow-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl (201.2 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

vegasafterglow-0.1.6-cp39-cp39-win_arm64.whl (177.8 kB view details)

Uploaded CPython 3.9Windows ARM64

vegasafterglow-0.1.6-cp39-cp39-win_amd64.whl (213.8 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (244.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp39-cp39-macosx_11_0_arm64.whl (178.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

vegasafterglow-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl (201.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

vegasafterglow-0.1.6-cp38-cp38-win_amd64.whl (215.3 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (244.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp38-cp38-macosx_11_0_arm64.whl (178.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

vegasafterglow-0.1.6-cp38-cp38-macosx_10_9_x86_64.whl (200.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

vegasafterglow-0.1.6-cp37-cp37m-win_amd64.whl (215.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

vegasafterglow-0.1.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (244.8 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

vegasafterglow-0.1.6-cp37-cp37m-macosx_10_9_x86_64.whl (199.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: vegasafterglow-0.1.6.tar.gz
  • Upload date:
  • Size: 12.7 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.6.tar.gz
Algorithm Hash digest
SHA256 a5227aea0fbaf8f8788952fcf7ded7d6223b5599a1f627825d89a346aa8ecbb4
MD5 7c944dc81c208faa57a2c20b50a786bb
BLAKE2b-256 ac4941ff26a5b71a8fe8482741fcbab70ffd5aee6e902abfc1b322ef7b6bc737

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 36f272dd7658c697b1ef5d821adde5083d6062399a2cefc2089fb53189b30f41
MD5 87efb8b4fe093348d1d4904931fc774d
BLAKE2b-256 312f0260ef6425653e9180944c0a7e2b6912d3392c30e1538161e0e202666502

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 691bafc6491b1b5ed6b786b5580bc2263cff362f31ec6a144479afbb170e0dfd
MD5 3e214d6e29e720607556205b62b3c017
BLAKE2b-256 a88f859cba5a3fca67f31d60ee524b81f3cc2eb88dc4621a15d9e74ca60f5070

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 278a6cd3916365798f62e1f0a4ef4c3f58d9688a2538d87ec21d87ed370a9545
MD5 5cb81a8d4376f1f7a320e5919f187c71
BLAKE2b-256 4a387301b6a59df72c2d8a17b96649aa838ef085e80fee21ff8fed8f94042d9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7e710539c8dfff1f5421beb717cb44d36e6589f2e5a83f2979b9796d71dd6f5
MD5 05a4de7cc76eee4223fe1445f83c3b2f
BLAKE2b-256 e164dc71639639e6a263a4e3d7dc1a6fed24c0c1c166c33035b84a50cf2da299

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 fd3b7a6a596160aa3d9c6b223cb9aca8d4e9373b2ab15262428e48eee82edddd
MD5 13aae3b157631ad1b0a557cf68493b9d
BLAKE2b-256 5a00e1e928cc0f5273651f527873b5c2861bae63f9145c815bad3eee83ddac2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 136b77683d992e2cdcd6074bcb0dd08c2798eab6437a2624b5cd9eb2e0336d18
MD5 e9d315c52a9031a7da6f13ae3250393d
BLAKE2b-256 d224c33a7776d450bfb8c1ff8b77e3ed24ad33b6cd1edcc620afed72e88d016c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 adbd16defec681d0f77c23b71eb4ec239af4e17a7aaa4c6eea8b6b5d992e8189
MD5 9078a3dc52a167bdbd044930ae38fef1
BLAKE2b-256 fa021fe9b8db9d6e5a9b8892de0b1d5fb5f80339d0f71d3d5992b74bae3ef90b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1646620a63e444f065a031f34a71e3ee06e19b24356cfb6441cd7599cb64e654
MD5 a4bdf5192f63127e863a6ad04220f2f4
BLAKE2b-256 d6d0aa25e9b90d35ccc80de10f86e765cad891979246a77ed0394b4b8c75f906

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a2b48e847c4477b7f6405d1252eed529b7a42fade2b840770d1987da6077e5c2
MD5 52a8ddd980a1e7053d5e5c57608985b0
BLAKE2b-256 5b3c0850615b12e409b23b5dcd00b3b30633da62c4ee0242ed782ecefdf2d6a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3db61fb667573b0185093b0f7af4bfdd11dc7ddd6a161bd44831bb429209ac91
MD5 4b4bf5bab1117d39a03708c61c338dd1
BLAKE2b-256 7cc87d9b615eb9246079ee1ca8004d8c325b6ed0d03e7219c4074a16ffedbeca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 78e954ee8f4c7fb710d2603db068b11213609cc08768d7cbb0a48606ce7b1368
MD5 4e8243afd186a231b818f2ce28e9ac9a
BLAKE2b-256 80d38a5d515b97b33bdf6b17d9912af65ceb96309df0c24e94d7bff0fee490ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5b74f1ce50f69a9b736d814136aeaaf8a9cb38038440f3dea06b30095e17ccc2
MD5 ea30f6cb08ccc6b43cc6eaaa7a7c6c5e
BLAKE2b-256 d86cd624443eb64c90ccbe0c5a234400edc07d2949e9aed8d0c55163996ef5bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77da3f639ec58b23f2490547707902aceac3176dcbd923f130b5f7a835122c87
MD5 5f6ddb0f686bdc2455588b765111405e
BLAKE2b-256 fb9b1365ec231bd8b12d26940e24608bcb1a46e16f31af435f313fd00215ac53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 989acafa3f14795adb1408e7129b59008cfa778f1d74952ea31c2bcc5c363bb2
MD5 27a100e0fcf7574d7b2a897baaa38165
BLAKE2b-256 ded399237c4318c2b7589e067c7c8e5d68745d7489dc70c1f2e1315e12163ab7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 a83e6ac05d428a7669fcf471ef47940203b7ab91055bdecd04c2efded21029ab
MD5 4a8570057f98681a579e431e9122c812
BLAKE2b-256 d177a8f42641e97ae2ab1450ed2e1693e7c0f3d78ec5b966982e753add258324

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 b2d0acf2e5c38781159c650392b3adf266ecf7578bad862e84f749b795b0de91
MD5 e3291e8c3d8cef7f412495dd49ca2e3d
BLAKE2b-256 c65529494cb8ecffcc252ce705d0aa69347c44a677060644f68fae73e43b9cc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 931abb0dacdd10acf9c98209c60d951187849126d47c5130a22818969fefff08
MD5 577e693fdc777a8fc0cd4b8445ae18f5
BLAKE2b-256 b281a6778d06272b555d4afccdc55c71ec6137062d7b54363bbf2f5e85728cee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fed113791817cabb8612a95cde792c457414c86f06e032c4466c78d6d5a2502a
MD5 826a0c75e08bf652399ad41b9c45c762
BLAKE2b-256 c1fe2c1262f89f0d932db31636f3520b84a7f4ff1dfcfec99fde939f222677a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eeb698366dfe34bcdef0f04c8adb5428b62c9e7daa16e01d0ac4009afb83ec54
MD5 20c8f8371a3def8c840028181fb48d92
BLAKE2b-256 212a597c85ac14c57d365ef9bd38aa642821a3c9213cf3b0e4c261c110681642

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b55a36adf951816c52040101f5a77726c6956cdb8d9ba2510453c6d8156b6ab4
MD5 84d69b697bdc77654b5b573005d21154
BLAKE2b-256 339d96ffbf9926ab4c3da2b0d5ad6c689493607c7ef80bd054be0b63a2a264ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 936900958cd0835d2935ac4c35ceccda13e2253389f30c2c976c8c8504975311
MD5 e70a5a5b1c69a0df979056552591725c
BLAKE2b-256 3076b5694a7c811b9d77b6b76ace5e73e864bc0a9ecc3f73b4824e199951bdf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9253fce6c4f9d28647993998c02b4c2012cbd341f029969e00f5d1e3d56979d1
MD5 47759124e9db3c4881e2ebb688de2765
BLAKE2b-256 cfca29233337b8a7622916b69889afed5e6852cc8c7eafc2356892874a7bf0e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c40adf55591e17cc7783f93c9843566b9b434690d9e094881b67f677b58fa4d1
MD5 31bfbde65ff6ee35096e39f39030cf2e
BLAKE2b-256 365e8e0a440c817a13a4c0ce207344b52d861e230d12f5dcd8fbd59f6d13add7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d36f683d8401eaec4d2739157895aaca4231db9b83fea78352939484634d004e
MD5 d023b791983dd081a243759cce3c255f
BLAKE2b-256 eceff3ac8e83749c19e030ba625af5fa34ce7a70d77e7a294e07f5849bf6a1dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ca5d67b78c29c2575268f0ef799ef2db355bb0e6cb1c2b8abdaced4148d0fc20
MD5 6faceace4ee11528f65c2116e86c6d7e
BLAKE2b-256 c23b67405023ff3a8f3cc58fee997df37f6c7866f5fdc8c9714300200bc9fe8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3f1dbd19406c7579a0329df6f04f56a493355790654f0096c75f3c88dd87b25b
MD5 f061a5e75e7e31120723f19c139a27e9
BLAKE2b-256 364e9267a86c41c69bd289b3fd9ca2fd3f32f9522ba1935ad8850f7e8a385112

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b42195b1876d3046550c399719e28c054115a92da15bbbfa64b48531b03236d2
MD5 1838e1cdb47154a9453e2ea406b66c3b
BLAKE2b-256 98a44ce68e6904def611eb049018681bf275eb503daa7723cc88742d014c629b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d3798c392422781a9c3e33e2cd92b92a3b2bfe26d11edb2ab1292a15815f6f1
MD5 f2f165053467f294592f20dc68c66bc3
BLAKE2b-256 2f72097e26e8fdf9d80b401847f493d53c62830542761664215f5721dd2b4814

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 46d2ba444d6be5d683d705bc2765575ebb5d1a1fea983e6bc763795d5e6b25f6
MD5 93635d2124fb8e6ab1d82e3f3a63a669
BLAKE2b-256 973ad48d9b1a10ab2a4c154c7baea2463ce2f791d16a0574e275a6b57d101e05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e059c8c333296959270ec945e5a55230e9218928eac9e529b80376489c9da763
MD5 30f1d5cb0585bb9eb9a5fd00b4a5e0ca
BLAKE2b-256 32e2fbecf1ed38cd2475bb9b2c97ce72ee8e3fcef7419717dc594b7fcd2c2d85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27241b7b1eedd2e61ea6c7e1c198f7e4c79acc525109d579d5e97ede7950f52d
MD5 fb74b6b2e30af1807c6cbea733d915c0
BLAKE2b-256 d823919532b9fe2319f539397864e0fe48eff4c376704aa4dad1cdeef7c4911e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 68f8f9493fc993d16d55582cd8f3e4a5a4fc236a42cb3e4c5d70d575714ddcaf
MD5 3a219ffda0fad4699d89e672555f8918
BLAKE2b-256 03e26412e3a38f81e5264a89f9758fc2455062320782beb23ea78329c6c3af30

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