Skip to main content

High-performance Bloch equation simulator for MRI

Project description

Bloch Equation Simulator for Python

Live Demo

A high-performance Python implementation of the Bloch equation solver originally developed by Brian Hargreaves at Stanford University. This package provides a fast C-based core with Python bindings, parallel processing support, and an interactive GUI for MRI pulse sequence simulation.

Demo

Spin Echo Animation Demonstration of a Spin-Echo simulation

Features

The Bloch Simulator can be accessed from 3 different directions:

Standalone GUI:

Download and install built package (.exe, .app) here. Features:

  • High performance GUI for nice visualization
  • Easily modify and live update simulation:
    • Sample Parameters: T1, T2, Polarization level (enables simulation of hyperpolarized magnetization), etc.
    • RF Pulses: Duration, Tip Angle, B1, Frequency, Phase, Pulse type such as sinc, Gaussian, Adiabatic Half Passage, etc.
    • Pulse Sequence: Blockpulse, Spin Echo, Slice Selection, SSFP, Inversion Recovery, etc.
  • Export:
    • Python compatible simulation results (.npy, .npz, .hdf5)
    • Automically generated IPython (.ipynb) notebooks for repeatility and modifications
    • Animations (.mp4, .gif) and figures (.svg, .png)

Python package blochsimulator

Install bloch simulator package from pypi.org via pip instal blochsimulator. Features:

  • Access simulation capabilites from IPython notebooks and python scripts
  • Highly customizable simulations

Online GUI

Access here online. Features:

  • No installation required
  • Simple UI, live simulation
  • Simulate RF Pulse Parameters and Slice Selection Parameters

Documentation

For detailed instructions on installation, GUI features, and Python API usage, please refer to the User Guide.

Installation

Method A: Direct Install (PyPI)

Recommended for most users. Package is availabe on pypi.org.

pip install blochsimulator

Method B: Python Package (From Source)

Recommended for researchers and developers.

To run from source, you need Python and a C Compiler installed.

👇 Click here for detailed setup instructions (Windows, macOS, Linux)

1. Install Python 3.9+

  • Windows:
    • Download the installer from python.org.
    • Important: During installation, check the box "Add Python to PATH".
  • macOS:
    • Download from python.org OR use Homebrew: brew install python.
  • Linux:
    • Usually pre-installed. If not: sudo apt install python3 python3-pip (Ubuntu/Debian) or sudo dnf install python3 (Fedora).

2. Install a C Compiler

Required to build the fast simulation core.

  • Windows:
    • Install Visual Studio Build Tools (free).
    • Download from visualstudio.microsoft.com.
    • In the installer, select "Desktop development with C++".
  • macOS:
    • Open Terminal and run: xcode-select --install.
    • (Optional but recommended for speed) Install OpenMP: brew install libomp.
  • Linux:
    • Install GCC: sudo apt install build-essential (Ubuntu/Debian) or sudo dnf groupinstall "Development Tools" (Fedora).

Steps:

  1. Navigate to the directory where you want to install the GUI in your terminal.
    cd /path/to/the/directory/
    
  2. Clone or download the repository.
    git clone git@github.com:LucaNagel/bloch_sim_gui.git
    
  3. Or if that fails:
    git clone https://github.com/LucaNagel/bloch_sim_gui.git
    
  4. Navigate to the cloned repository.
    cd bloch_sim_gui/
    
  5. Install in editable mode:
    pip install -e .
    

Verification (not necessary for the installation)

Test the installation:

from blochsimulator import BlochSimulator, TissueParameters

sim = BlochSimulator()
tissue = TissueParameters.gray_matter(3.0)
print(f"T1: {tissue.t1:.3f}s, T2: {tissue.t2:.3f}s")

Method C: Standalone App

No installation required. Recommended for non-technical users.

Download the most reason version for your OS in Releases

Activation (MacOS):

In case of the MacOS app, this requires you to manually remove the quarantine flag that macOS puts on the downloaded app. Only perform this step if you trust the distributor.

  1. Unzip the file and move BlochSimulator.app to your Applications folder.
  2. Launch BlochSimulator from your Applications folder and dimiss the warning.
  3. Go to System Settings > Privacy & Security, scroll down to the Security section, here you should see a message "BlochSimulator.app was blocked...". Click "Open Anyway".
  4. Launch BlochSimulator from your Applications folder.

Alternative Activation:

  1. Unzip the file and move BlochSimulator.app to your Applications folder.
  2. Crucial Step: Open Terminal and run this command to fix the "App is damaged" error:
    xattr -cr /Applications/BlochSimulator.app
    
  3. Launch BlochSimulator from your Applications folder.

Usage

🚀 Jupyter Notebook (Recommended)

You can launch the interactive GUI directly from a cell in your Jupyter Notebook.

# 0. Install from PyPI (run once) if not done before
!pip install blochsimulator

# 1. Launch GUI
!blochsimulator-gui

Note: This works if Jupyter is running on your local machine. It will not work on headless remote servers or Google Colab.

1. GUI Application

Once installed, you can launch the GUI from any terminal or shell:

blochsimulator-gui

Features:

  • Design RF pulses (rectangular, sinc, Gaussian)
  • Configure tissue parameters (T1, T2)
  • Select pulse sequences (spin echo, gradient echo, etc.)
  • Real-time 3D magnetization visualization
  • Signal analysis and frequency spectra

2. Python API

Basic Simulation

import numpy as np
from blochsimulator import BlochSimulator, TissueParameters

# Create simulator
sim = BlochSimulator(use_parallel=True, num_threads=4)

# Define tissue parameters
tissue = TissueParameters(
    name="Gray Matter",
    t1=1.33,  # seconds
    t2=0.083  # seconds
)

# Create a simple 90-degree pulse
ntime = 100
dt = 1e-5  # 10 microseconds
time = np.arange(ntime) * dt

b1 = np.zeros(ntime, dtype=complex)
b1[0] = 0.0235  # 90-degree hard pulse

gradients = np.zeros((ntime, 3))  # No gradients

# Run simulation
result = sim.simulate(
    sequence=(b1, gradients, time),
    tissue=tissue,
    mode=2  # Time-resolved output
)

# Plot results
sim.plot_magnetization()

Spin Echo Sequence

from blochsimulator import BlochSimulator, SpinEcho, TissueParameters

sim = BlochSimulator()

# Create spin echo sequence
sequence = SpinEcho(te=20e-3, tr=500e-3)  # 20ms TE, 500ms TR

# Simulate white matter
tissue = TissueParameters.white_matter(3.0)

# Run simulation with multiple frequencies (T2* effects)
frequencies = np.linspace(-50, 50, 11)  # Hz
result = sim.simulate(sequence, tissue, frequencies=frequencies)

# Access magnetization components
mx, my, mz = result['mx'], result['my'], result['mz']
signal = result['signal']

Custom Pulse Design

from blochsimulator import design_rf_pulse

# Design a sinc pulse
b1, time = design_rf_pulse(
    pulse_type='sinc',
    duration=2e-3,      # 2 ms
    flip_angle=180,     # degrees
    time_bw_product=4,  # Time-bandwidth product
    npoints=200
)

# Apply phase
phase = np.pi/4  # 45 degrees
b1_phased = b1 * np.exp(1j * phase)

Parallel Simulation

# Simulate multiple positions and frequencies in parallel
positions = np.random.randn(100, 3) * 0.01  # Random positions in 1cm cube
frequencies = np.linspace(-200, 200, 41)     # 41 frequencies

result = sim.simulate(
    sequence=sequence,
    tissue=tissue,
    positions=positions,
    frequencies=frequencies,
    mode=0  # Endpoint only (faster)
)

# Result shape: (100 positions, 41 frequencies)
print(f"Signal shape: {result['signal'].shape}")

Xarray Integration

For advanced analysis, you can convert simulation results directly to an xarray.Dataset. This provides named dimensions, coordinates, and automatic metadata tracking.

# Convert last result to xarray
ds = sim.get_results_as_xarray()

# Access data with named dimensions
# Dimensions: (time, position, frequency)
print(ds.mx.dims)

# Powerful selection and plotting
ds.signal.sel(frequency=0, method='nearest').plot()

# Metadata is preserved in attributes
print(ds.attrs['t1'], ds.attrs['te'])

3. Sequence Library

Pre-defined sequences are available:

from blochsimulator import SpinEcho, GradientEcho

# Spin Echo
se = SpinEcho(te=30e-3, tr=1.0)

# Gradient Echo
gre = GradientEcho(te=5e-3, tr=10e-3, flip_angle=30)

# Compile to waveforms
b1, gradients, time = se.compile(dt=1e-6)

4. Tissue Parameter Library

Common tissues at different field strengths:

from blochsimulator import TissueParameters

# 3T parameters
gm = TissueParameters.gray_matter(3.0)
wm = TissueParameters.white_matter(3.0)
csf = TissueParameters.csf(3.0)

# 7T parameters
gm_7t = TissueParameters.gray_matter(7.0)

# Custom tissue
liver = TissueParameters(
    name="Liver",
    t1=0.812,
    t2=0.042,
    t2_star=0.028,
    density=0.9
)

Desktop app build (PyInstaller)

For detailed packaging, release workflows, and CI/CD info, see the Developer Guide.

Note: Standalone applications for macOS, Windows, and Linux are automatically built and attached to GitHub Releases whenever a new version tag is pushed. The instructions below are for manual/local builds.

One build per OS is required (macOS build won’t run on Windows/Linux).

Prereqs

  • macOS: Xcode CLT; brew install libomp.
  • Windows: Python 3.8+ and MSVC Build Tools (for C extension).
  • Linux: gcc/g++; ensure libgomp available.

Quick build (any OS)

python -m pip install -r requirements.txt
python -m pip install pyinstaller
python setup.py build_ext --inplace
PYINSTALLER_CONFIG_DIR=.pyinstaller pyinstaller bloch_gui.spec --noconfirm

Artifact: dist/BlochSimulator (single binary; .exe on Windows).

One-liner helper

./scripts/build_pyinstaller.sh   # creates a venv, installs deps, builds, packages

Run the packaged app

  • macOS/Linux: ./dist/BlochSimulator
  • Windows: dist\\BlochSimulator.exe

Runtime data/exports

  • rfpulses/ is bundled automatically.
  • Exports default to per-user data dirs:
    • macOS: ~/Library/Application Support/BlochSimulator/exports
    • Windows: %APPDATA%\\BlochSimulator\\exports
    • Linux: ~/.local/share/BlochSimulator/exports
  • Override with BLOCH_APP_DIR or BLOCH_EXPORT_DIR if you need a custom location.

Theory

The simulator solves the Bloch equations:

$$ \frac{d\vec{M}}{dt} = \gamma (\vec{M} \times \vec{B}) - \begin{pmatrix} M_x / T_2 \ M_y / T_2 \ (M_z - M_0) / T_1 \end{pmatrix} $$

Using:

  • Rotation matrices for RF and gradient effects
  • Exponential decay for relaxation
  • Cayley-Klein parameters for efficient rotation calculation

Troubleshooting

Build Issues

  1. Missing compiler: Install gcc (Linux), Xcode (macOS), or Visual Studio (Windows)
  2. OpenMP not found: The code will still work but without parallelization
  3. Import error: Ensure the .so/.pyd file is in the same directory

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Add tests for new features
  4. Submit a pull request

Citation

If you use this simulator in your research, please cite:

@software{blochsimulator_python,
  title={Python Bloch Equation Simulator GUI and API},
  author={Luca Nagel},
  year={2026},
  url={https://github.com/LucaNagel/bloch_sim_gui}
}

Acknowledgments

This project is based on code originally developed by Brian Hargreaves at Stanford University. Currently (01/2026) it is unfortunately not available. A python adaption of this code can be found here.

  • Original Bloch simulator by Brian Hargreaves, Stanford University
  • NumPy and SciPy communities
  • PyQt/PySide developers
  • OpenMP project
  • Built partially with codex, claude code and gemini cli

Contact

Luca Nagel

Appendix: File Structure

blochsimulator/
├── src/
│   └── blochsimulator/
│       ├── __init__.py
│       ├── simulator.py            # Core Python API
│       ├── gui.py                  # PyQt5 GUI
│       ├── bloch_core_modified.c   # C implementation
│       ├── bloch_core.h            # C header
│       ├── bloch_wrapper.pyx       # Cython wrapper
│       └── ...
├── tests/                          # Unit tests
├── docs/                           # Sphinx documentation
├── pyproject.toml                  # Modern build config
├── setup.py                        # C-extension build config
├── MANIFEST.in                     # Source dist manifest
└── README.md

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

blochsimulator-1.0.15.tar.gz (302.5 kB view details)

Uploaded Source

Built Distributions

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

blochsimulator-1.0.15-cp312-cp312-win_amd64.whl (356.3 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-1.0.15-cp312-cp312-win32.whl (345.1 kB view details)

Uploaded CPython 3.12Windows x86

blochsimulator-1.0.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.15-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

blochsimulator-1.0.15-cp312-cp312-macosx_14_0_arm64.whl (615.3 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blochsimulator-1.0.15-cp311-cp311-win_amd64.whl (363.3 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-1.0.15-cp311-cp311-win32.whl (353.6 kB view details)

Uploaded CPython 3.11Windows x86

blochsimulator-1.0.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.15-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

blochsimulator-1.0.15-cp311-cp311-macosx_14_0_arm64.whl (618.5 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blochsimulator-1.0.15-cp310-cp310-win_amd64.whl (362.1 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-1.0.15-cp310-cp310-win32.whl (353.9 kB view details)

Uploaded CPython 3.10Windows x86

blochsimulator-1.0.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.15-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

blochsimulator-1.0.15-cp310-cp310-macosx_14_0_arm64.whl (619.4 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

blochsimulator-1.0.15-cp39-cp39-win_amd64.whl (362.3 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-1.0.15-cp39-cp39-win32.whl (354.0 kB view details)

Uploaded CPython 3.9Windows x86

blochsimulator-1.0.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.15-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

blochsimulator-1.0.15-cp39-cp39-macosx_14_0_arm64.whl (619.6 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file blochsimulator-1.0.15.tar.gz.

File metadata

  • Download URL: blochsimulator-1.0.15.tar.gz
  • Upload date:
  • Size: 302.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.15.tar.gz
Algorithm Hash digest
SHA256 dcc62a0d1da546383f40919fb6899ed565c8616071390f78904ebd9e0e0f5df5
MD5 5cfac87fab20ec0e9cfcc841ac8ef903
BLAKE2b-256 807beb97fc1fa1692753acbf70b6843f470a9e17059bf4d307c3431915c57e43

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b5a16883900b1480bb13df042abd6f80d2a260e036a8f0dce44ec31e42d901af
MD5 425e7798c1342c6d5e1d247bad0b4783
BLAKE2b-256 0d9ef7a5d2f3f507a368afad99d417a697f9e89065e65759b85fdbec2981d68f

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 e5c5e9bf6f558ec979d5ccb54436f303129de60fd71d3c2a5fb472266abf56b6
MD5 6a9a2af10e04e320105697a48538c016
BLAKE2b-256 71264dde4b66bfcc3702005caf131be7f0c4699d083e260319d9c7520e8cf219

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 149c82612896e3b385e4f151adbb58af3b3e0e535dc3573f74d9f5efd8a5ca6a
MD5 d7557beb7d9f9785f3043b5d405b05b4
BLAKE2b-256 d08105cb9500aedfd79a2a8e5ddce7b96182d30b468ff04d5d6aa35841738b51

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 88a86bc76a77f38a1e8f22a9d49704456d805d09877477d30e5603700cc47d7f
MD5 2123c22638b8f42e2dd7054fc9084040
BLAKE2b-256 509d82263103eaac6456412d411e0f37f61bc05b127c60203b7708b7ec5278da

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 eef6c731291cd6b14c763fa5a1d475b54fd1fbfbeda529374dc10b6aad18ffd0
MD5 809d43803e52a41f456521551b4b5418
BLAKE2b-256 05c13bab4d8b420899c5953cddf9f591612c81bc1cda1d136748c704bc607233

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 cf13972ef6555ffa6d21befbe55a030f102f68e0140a7211ba354a8c38ac6cae
MD5 7b1508f45d395d7eee564c98512c80c0
BLAKE2b-256 e4aae09b6a539d248988703752481761a30b1c035d3e74eec81ae9b52757a79b

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d511991f554b97628fa44517dcb754d00b1d4a9fbe6a98aadd7fb530c0c742a2
MD5 f505bd7d1a147fc882b0a31c8d1dbe84
BLAKE2b-256 776162133c7e14a34d25a0bbfee350ef313e7aa92275cbdb76d1ac2109ff1784

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 80d700f9f840a63acbe9c33f6cab7806be4700998f1df0204143d081a171faa2
MD5 a3fe00059c53b974ead4b579cb47118b
BLAKE2b-256 87ff8c8aed1354e533477ee3b0cf3d649794cb67898178162e8c203fb48303bf

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 15fe51ed9f0be252e4d67b291a0777ba30774470a5ea410d04c1c0441db0ebb5
MD5 c6d07ebc487013777f655654fa734bd3
BLAKE2b-256 deb0ab13868a25091d1184a1a439d46254d387d9d15c866c3b6b74d5bce4e84b

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f0902487ce87f4142c404b3fa3a9e53d6a93ff926f26dd34715182e03c23753d
MD5 c696f9d6b03ef2116b57b7d3f8f6f158
BLAKE2b-256 451bf7474b1164dbe5206306517f849bc516329e0b50996fa9ff5224ae5e0328

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f062b2c637e9b03f3ad2a8eaeeac217af4d3135fcf755d5e2eef42c082da866a
MD5 9d10abb7fd2615ab3a09b72823280a79
BLAKE2b-256 add1a491b1f94a1e3e158a4f3d0a328dd9d5aac32280c06d586f93a34456c31c

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 15941a97427733c21417d9514c3f7c73c871b69fc64daca6e17e1d3acf10f766
MD5 7abcd5290a7680af64f5c259ef413aed
BLAKE2b-256 472e51b895896d75bf7662b5fa22386a34fb3b4a509049df4ae87980e24104cb

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6869df43ac49efdae74d96076f28f9619e5d6261911e61bbcf1d0c91e201cd3f
MD5 b332412aa6a31bb5246f0e10a66d76fa
BLAKE2b-256 91fcd20e000920485aca4507b8c0956b9cad40a72e03822515a737659d65c6eb

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 874fb6ead1000977ead46f2cc2f0918dd568f465e0cdda6509f11c7198d6572f
MD5 458f49c46469f26b76b28a2be83f3b71
BLAKE2b-256 d1114d60b822cd3389cbaa8c0cebf0e649f4ab8ce9e969eed823cce5d60cfdcf

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 85be3a41ce0a7dac64f9aa50b8e3bf3bebeef874715d9fcfb68675e228af547b
MD5 2ba9388a5d5de33eb56663a649dc5331
BLAKE2b-256 2f7817064aa7137e3be6cf5b1a4937a782c76369e2d6545a1b0b4e521bf78e95

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0e406a8b272dac7352fa643c45867d03c69d777417113ac60df60715dfc5e38f
MD5 16dd75ed28e2cacca19b4f28255a5fd9
BLAKE2b-256 9a52201c3c3189f21340010a7c7781a1e6e36d8b1aafb0bce5f677878cba91e1

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp39-cp39-win32.whl.

File metadata

  • Download URL: blochsimulator-1.0.15-cp39-cp39-win32.whl
  • Upload date:
  • Size: 354.0 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.15-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 6aa1f0140d017c6d15b9386489cd2aa67da42ac2ed4256fb39764ed42411d3a6
MD5 3cfd92cee2eed203873147da8034be80
BLAKE2b-256 b573f8319fb2aa69630c1d6bf494620712c32939163f6583013dac5c1a831f1e

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d2ef1c39d2fa5f5382ed2511afbbb215a052d38e992c54987617bafa3f05fe34
MD5 f3e7e5695c998bbdb970bee33873cfec
BLAKE2b-256 cf80ca10c14d70b21c9933ac9a3f4a05cf578845b43f7a7dec0f6f556495d049

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 67274a36de33def80aa2596233916ece0bfeba9027693aeda8cb5c37e7f85de0
MD5 2993eefbbc0fbed1454d86a5b5492a67
BLAKE2b-256 687f7d90feb5857cfc73011861d720a338317da74f170c91cd98d058627cae37

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.15-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.15-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ecc9ae2953ae06ce5f0786d24b118924b6b15b2416bac74991a8b95577c6d90f
MD5 af15b2f6e4d4645dc54df929cc0414ec
BLAKE2b-256 783e32913ade87c45d256f8f88afda1d446ead5fedebaa322ab13b872d19943e

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