Skip to main content

MCMC tools for astrophysics

Project description

VegasAfterglow

VegasAfterglow is a high-performance C++ framework for modeling gamma-ray burst (GRB) afterglows. It supports both relativistic and non-relativistic regimes and provides a flexible, user-configurable approach for computing light curves and spectra. The framework includes sophisticated shock dynamics, radiation mechanisms, and structured jet models. A Python wrapper is included to streamline configuration and usability.

C++ Version License Platform Python Version

Table of Contents

Features

  • Forward and Reverse Shock Modeling

    • Arbitrary magnetization for both shocks
    • Works in both relativistic and non-relativistic regimes
  • Structured Jet with User-Defined Profiles

    • Supports custom energy distribution, Lorentz factor, and magnetization profiles
    • Jet Spreading is included for realistic dynamics
    • Non-Axisymmetric Jets allow complex jet structures
  • Energy Injection Mechanisms

    • Allows user-defined energy injection profiles
  • Synchrotron Radiation with Self-Absorption

    • Includes synchrotron self-absorption (SSA)
  • Inverse Compton Scattering (IC)

    • Supports forward SSC, reverse SSC, and pairwise IC between forward and reverse shock electrons and photons
    • Includes Klein-Nishina corrections for IC cooling

Performance Highlights

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

  • Ultra-fast model evaluation: Generates a 30-point single-frequency light curve (forward shock & synchrotron only) in just 0.6ms on an Apple M2 chip
  • Rapid MCMC exploration: Complete 10,000-step parameter estimation with 8 parameters against 20 data points multi-wavelength light curves/spectra in:
    • 10 seconds for on-axis structured jet cases
    • 30 seconds for more complex off-axis cases
  • Optimized for interactive analysis: Perform comprehensive Bayesian inference in seconds/minutes rather than hours or days on laptop, enabling rapid iteration through different physical scenarios

This extreme performance comes from careful algorithm design, vectorization, and memory optimization, making VegasAfterglow suitable for both individual event analysis and large population studies.

Prerequisites

VegasAfterglow requires the following to build:

Note for Python Users: If you install via pip (recommended), you generally do not need to install these C++ tools manually. This section is primarily for users building the C++ library directly or installing the Python package from the source code.

  • C++20 compatible compiler:

    • Linux: GCC 10+ or Clang 10+
    • macOS: Apple Clang 12+ (with Xcode 12+) or GCC 10+ (via Homebrew)
    • Windows: MSVC 19.27+ (Visual Studio 2019 16.7+) or MinGW-w64 with GCC 10+
  • Build tools:

    • Make (GNU Make 4.0+ recommended) [if you want to compile & run the C++ code]

Installation

VegasAfterglow is available as a Python package with C++ source code also provided for direct use.

Python Installation

  1. Install Python (if it's not already installed). We recommend using the latest version, but version 3.8 or higher is required.

  2. Choose one of the options below to install VegasAterglow

Option 1: Install from PyPI (Recommended)

The simplest way to install VegasAfterglow is from PyPI:

pip install vegasafterglow

Option 2: Install from Source

  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 .

C++ Installation

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

  1. Clone the repository (if you haven't already):
git clone https://github.com/YihanWangAstro/VegasAfterglow.git
cd VegasAfterglow
  1. Compile the static library:
make lib

This allows you to write your own C++ problem generator and use the provided VegasAfterglow interfaces. See more details in the Creating Custom Problem Generators with C++ section, or review the example problem generator under tests/demo/.

  1. (Optional) Compile and run tests:
make tests

Usage

We provide an example of using MCMC to fit afterglow light curves and spectra to user-provided data. You can run it using either:

Option 1: Run with Jupyter Notebook

  1. Install Jupyter Notebook:
pip install jupyter notebook
  1. Launch Jupyter Notebook:
jupyter notebook
  1. In your browser, open mcmc.ipynb inside the script/ directory

Option 2: Run with VSCode + Jupyter Extension

  1. Install Visual Studio Code and the Jupyter extension:

    • Open VSCode
    • Go to the Extensions panel (or press Cmd+Shift+X on macOS, Ctrl+Shift+X on Windows)
    • Search for "Jupyter" and click Install
  2. Open the VegasAfterglow folder in VSCode and navigate to mcmc.ipynb in the script/ directory

MCMC Parameter Fitting with VegasAfterglow

This section guides you through using the MCMC (Markov Chain Monte Carlo) module in VegasAfterglow to explore parameter space and determine posterior distributions for GRB afterglow models. Rather than just finding a single best-fit solution, MCMC allows you to quantify parameter uncertainties and understand correlations between different physical parameters.

Overview

The MCMC module follows these key steps:

  1. Create an ObsData object to hold your observational data
  2. Configure model settings through the Setups class
  3. Define parameters and their priors for the MCMC process
  4. Run the MCMC sampler to explore the posterior distribution
  5. Analyze and visualize the results
from VegasAfterglow import ObsData, Setups, Fitter, ParamDef, Scale

1. Preparing Your Data

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
import pandas as pd

# Define your bands and files
bands = [2.4e17, 4.84e14]  # Example: X-ray, optical R-band
lc_files = ["data/ep.csv", "data/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,6000] # Example: time in seconds
spec_files = ["data/spec_1.csv", "data/spec_2.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.

2. Configuring the Model

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)

# Optional: Advanced grid settings. 
# cfg.phi_num = 24         # Number of grid points in phi direction
# cfg.theta_num = 24       # Number of grid points in theta direction
# cfg.t_num = 24           # Number of time grid points

Why Configure These Properties?

  • Source properties: These parameters define the observer's relation to the source and are typically known from independent measurements
  • Physical model configuration: These define the fundamental model choices that aren't fitted but instead represent different physical scenarios
  • Grid settings: Control the numerical precision of the calculations (advanced users). Default is (24, 24, 24). VegasAfterglow is optimized to converge with this grid resolution for most cases.

These settings affect how the model is calculated but are not varied during the MCMC process, allowing you to focus on exploring the most relevant physical parameters.

3. Defining Parameters

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

4. Running the MCMC Fitting

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
    resolution=(24, 24, 24),       # Grid resolution (phi, theta, time)
    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

5. Exploring the Posterior Distribution

Rather than focusing only on the best-fit parameters, examine the full posterior distribution:

# 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})")

6. Generating Model Predictions

Use samples from the posterior to generate model predictions with uncertainties:

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

# 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 and the uncertainty envelope

7. Visualizing Results

Creating Corner Plots

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

import corner

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

Creating Trace Plots

Trace plots help verify MCMC convergence:

def plot_trace(chain, labels, filename="trace_plot.png"):
    nsteps, nwalkers, ndim = chain.shape
    fig, axes = plt.subplots(ndim, figsize=(10, 2.5 * ndim), sharex=True)

    for i in range(ndim):
        for j in range(nwalkers):
            axes[i].plot(chain[:, j, i], alpha=0.5, lw=0.5)
        axes[i].set_ylabel(labels[i])
        
    axes[-1].set_xlabel("Step")
    plt.tight_layout()
    plt.savefig(filename, dpi=300)

# Create the trace plot
plot_trace(result.samples, result.labels)

8. Tips for Effective Posterior Exploration

  1. Prior Ranges: Set physically meaningful prior ranges based on theoretical constraints
  2. Convergence Testing: Check convergence using trace plots and autocorrelation metrics
  3. Parameter Correlations: Use corner plots to identify degeneracies and correlations
  4. Model Comparison: Compare different physical models (e.g., wind vs. ISM) using Bayesian evidence
  5. Physical Interpretation: Connect parameter constraints with physical processes in GRB afterglows

Creating Custom Problem Generators with C++

After compiling the library, you can create custom applications that use VegasAfterglow's core functionality:

1. Include necessary headers

#include "afterglow.h"              // Afterglow models

2. Define your problem configuration

// Example configuration code will be added in future documentation

3. Compute radiation and create light curves/spectra

// Example light curve calculation code will be added in future documentation

4. Building Custom Applications

g++ -std=c++20 -I/path/to/VegasAfterglow/include -L/path/to/VegasAfterglow/lib -o my_program my_program.cpp -lvegasafterglow

5. Example Problem Generators

The repository includes several example problem generators in the tests/demo/ directory that demonstrate different use cases.

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:

  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 MIT License.

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.0.tar.gz (35.1 kB 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.0-cp313-cp313-win_amd64.whl (154.7 kB view details)

Uploaded CPython 3.13Windows x86-64

vegasafterglow-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

vegasafterglow-0.1.0-cp313-cp313-macosx_10_13_universal2.whl (390.8 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

vegasafterglow-0.1.0-cp312-cp312-win_amd64.whl (154.7 kB view details)

Uploaded CPython 3.12Windows x86-64

vegasafterglow-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

vegasafterglow-0.1.0-cp312-cp312-macosx_10_13_universal2.whl (390.7 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

vegasafterglow-0.1.0-cp311-cp311-win_amd64.whl (153.4 kB view details)

Uploaded CPython 3.11Windows x86-64

vegasafterglow-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

vegasafterglow-0.1.0-cp311-cp311-macosx_10_9_universal2.whl (392.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

vegasafterglow-0.1.0-cp310-cp310-win_amd64.whl (152.2 kB view details)

Uploaded CPython 3.10Windows x86-64

vegasafterglow-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

vegasafterglow-0.1.0-cp310-cp310-macosx_10_9_universal2.whl (389.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

vegasafterglow-0.1.0-cp39-cp39-win_amd64.whl (151.1 kB view details)

Uploaded CPython 3.9Windows x86-64

vegasafterglow-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

vegasafterglow-0.1.0-cp39-cp39-macosx_10_9_universal2.whl (390.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

vegasafterglow-0.1.0-cp38-cp38-win_amd64.whl (152.0 kB view details)

Uploaded CPython 3.8Windows x86-64

vegasafterglow-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

vegasafterglow-0.1.0-cp38-cp38-macosx_10_9_universal2.whl (389.3 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: vegasafterglow-0.1.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for vegasafterglow-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5b58553116a219fb1239f99d195069d655c3fcb963aaa27a68ac9633fa47e80c
MD5 c60472f640f55f51b9db060ee4c7d612
BLAKE2b-256 e2c2ccc35fd4326154b352552471838b119935c45889982ec942afa19335ba1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 abc19c15f22de6c3d3be93df33617488178139e086c950860d5c8fe6cb87ad83
MD5 3d9cf776aea152f521b6e553e2808720
BLAKE2b-256 2fbbc812fb2e2cbeb77d14fd7d1d46e522cc97b9e896b1ff1c5ea9de93444c6e

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64039e7c01bf1a6182a34d8d09ead6046f813413510d6858039252e9edfd7ed2
MD5 1c350f347e79cd2169dd1472ce913f49
BLAKE2b-256 2edcb29d39585b6e68113b2b4c672e57a44785644cf9139bee450287f6422ca0

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e343c5154a1a727bf4dcce41d0d99647994026f54dab3881d6ee8c4b9a9ad45d
MD5 19254439c17364163b8e43fb384eb9bb
BLAKE2b-256 1ac8859e5b210478e5d409a9290abccc52b501e4d45b7bd7a4f0fa61683e73de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ab383e290663c057eeeada5c878c1c20e3332059276911a7c341f65f0edd09ba
MD5 1cc5af661682532fd9dc30cb41c5a3b1
BLAKE2b-256 f0d9923173313d4d06a14935069d3081face1e621990e3c95386598ad9a757eb

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c6bfbc0cc40a644168006f837dab0485d311edd09aad9f776123d540c47dff6
MD5 a04e37eb53e9a94e1bff604f66ceb44a
BLAKE2b-256 05ace504c2f3cb0339b73689cd95cc913be26cf9bf6b1006a4893a6cd5ddec57

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0c92db5fe9235050a72a2710edbc566f21c0755d946e5ca5962446106700bf2c
MD5 d63c85d161249a32f3116a3a02d9693f
BLAKE2b-256 18fa89292db1e4e46449eccb61c70b41cb882d6c3b219fa1b66e8b426019bc04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 387326faf5190a58f2b5b38ef05c4c63acd7a4058541033ff2dfe4a5821d27e1
MD5 fc7ed17fe7d17c453ba2f948423aa58a
BLAKE2b-256 668d1ab32399c10595cf2f160f706c906d92288011b08192456f75642fdbc61c

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c439498e50d026ed9ca6bc554771be4c1cb7282e11a01a680d4e1476be332135
MD5 378d18399b3e26ac54d89e43da3685dc
BLAKE2b-256 31a86422eaf06b959f488bc2ca8705f71784327cad3a6c48335d9a783aff7417

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4703611aa764d5d20bb7e35fa22c0695ad4e550de1720f7f7f208ea80691341e
MD5 8c3f87acbe18b30a041259dad4647b92
BLAKE2b-256 32d9242bcef3a8da103cc32cb6e04b6d9abd040acc6b1ff0b48632a489445155

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7e5ca5d47eb9addd54da6004740cd6245ef7dbe465b9a4ed4c7e43c8ecb0afcd
MD5 d87e11e35b074fc8f2c665079c5e5ebf
BLAKE2b-256 ce1d8cfcf0280653433b4073c99d79a89399a6e9602067eefe7557d6feff3329

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6563a1bebec1bc8d1afd40503ecbfc7101665ea063fac2b886df6eba6b5da0e4
MD5 8b7b550956a07528b8bfe4e96e49f8d4
BLAKE2b-256 83fe4ad91b2661d819f189b06d65d093e58a6a7a6f8da4ef284cf43470a719b4

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6742225c406f2485f65fd51acaaee5cc66f3623dfed9e8968efc8d94e39f659f
MD5 ef0e36d9ace920d8ac12a74214dba0c1
BLAKE2b-256 d7175f4aff4a3578c5f74640267c2ce79d278565a0eb8ffe61b2de11b4546bd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 8c151c4fadd6260252c768bb23d03cc1fa76364d091837bd4836acf333e4e0fd
MD5 b0b1d882da2acf333c02b11c7fbeb162
BLAKE2b-256 1f5c29489eec5f69889fa742f759731802863ead1bd1fd827f1bd247eb4bd22e

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c5036a2212385797fd0f9e7dde53d9266a1c0ec2fe7c5dcbf08fd0aed4266d16
MD5 06066aa5f804ce798bbc065a27d6c0cb
BLAKE2b-256 4ba9bdbc792d9d204c514f575da4487390021cff52b4246c93e9eeb6bd6e7793

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 33983a229f3141c5d51065985a5c2c8e39034c68e765aefb6e02693c29f672d8
MD5 d2cdc9f7d9dc2d50158661deacb29f42
BLAKE2b-256 e3b1ada70fb4d5ff8458312de61ef0edb7d0f90c4795f4190243fa6c09457546

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 40853feb9ab67cbea0f9281a4ccc5cbe2e57c32f0ceb9fe2a921a51289eee159
MD5 cb0733c8979a9ab2b2aa1d0121a38ebe
BLAKE2b-256 daedea61aa3731bdb75962a72b2dc5c6105173b8f09d0433e9ca18db237b5ca9

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5778c986d67049e3ce3aa6403106b114e1c384adc42a27eab77920668828e8d2
MD5 2554e422804d94ed523a185d17938573
BLAKE2b-256 326efb025cae78d66d6deeadac53c7cc2d2a796bdaac7f695c49cb2a1bca6869

See more details on using hashes here.

File details

Details for the file vegasafterglow-0.1.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for vegasafterglow-0.1.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d0ec6346c5bf229373044bf70b5adec2a3853ae68134a74d0bc9f30deba9d7e0
MD5 910edcb5e8fa8db848754eaa0d9fc216
BLAKE2b-256 38fbbf52657bbad008572911abb641f49b9d6d537d4c32796772693e299be56a

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