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

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

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.11.tar.gz (377.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.11-cp312-cp312-win_amd64.whl (434.8 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-1.0.11-cp312-cp312-win32.whl (423.5 kB view details)

Uploaded CPython 3.12Windows x86

blochsimulator-1.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.11-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.11-cp312-cp312-macosx_14_0_arm64.whl (693.2 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blochsimulator-1.0.11-cp311-cp311-win_amd64.whl (442.0 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-1.0.11-cp311-cp311-win32.whl (432.3 kB view details)

Uploaded CPython 3.11Windows x86

blochsimulator-1.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.11-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

blochsimulator-1.0.11-cp311-cp311-macosx_14_0_arm64.whl (696.5 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blochsimulator-1.0.11-cp310-cp310-win_amd64.whl (441.4 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-1.0.11-cp310-cp310-win32.whl (432.4 kB view details)

Uploaded CPython 3.10Windows x86

blochsimulator-1.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.11-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

blochsimulator-1.0.11-cp310-cp310-macosx_14_0_arm64.whl (697.3 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

blochsimulator-1.0.11-cp39-cp39-win_amd64.whl (441.6 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-1.0.11-cp39-cp39-win32.whl (432.6 kB view details)

Uploaded CPython 3.9Windows x86

blochsimulator-1.0.11-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.11-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

blochsimulator-1.0.11-cp39-cp39-macosx_14_0_arm64.whl (697.6 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: blochsimulator-1.0.11.tar.gz
  • Upload date:
  • Size: 377.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.11.tar.gz
Algorithm Hash digest
SHA256 06bb86438f4c3a04622f31e8024fc8ec91d66b6cde8b260fd4e6fe90323028ee
MD5 b7c36a7dcb615e40e243af780048eb7d
BLAKE2b-256 d19d0c681b7c40956fce0efd62af5b5df159c322024575a6741e51ddb8ae96ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 585678d1b0fc33962fdf192e6b3b97671027d3119813c17534118f495721b1cd
MD5 41d4ad060cfcdee60ec678cbed67e53a
BLAKE2b-256 8bd6c0d6c587437b91d7b7dce533a4e46ef7ffbbd7446fde3fbe6875ed190d88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 40e245766a979b891061ebd7f667a9d7ca1fcf4d0d25e3a4902ae557ece78f12
MD5 b7418975704febc5e92dd84a7412d6b8
BLAKE2b-256 de48a75bc3ba8e99c68144f896e3a14694a27e078320d0ef163ef52b18645e3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19d3dd325f0ecb63f072748958d47b298a2dff5baac8e333c8f8d6f3e83640ff
MD5 b9cc8aa19b1704e269b97e0c4d612476
BLAKE2b-256 8bce88e63c6578471c7a172a86f8667fbb2a5ec1a2a358fc4f30e771fcb49324

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 015bf1f87060080502f7f22cdf282708f9f9dc9a38830ca4ba4f7e94cba55a26
MD5 717f96d247e76c31119745b9575df0ea
BLAKE2b-256 1a36be81f26ae1d92ec56c97116f217e15990bab0ef0ef429d892ef5aaebc49f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 dd51378224409cc29ce78ca9a5653c357476ff423c4407c1ec1c0e027e7db669
MD5 95e6026ffed58b212b2404ce98778884
BLAKE2b-256 4b3afd2868366256b5fe56a575974c1e41bbca37157b43eac711cb823c8e3052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a7b970fb7b8a9f4dd86767de1e7e4a23f735018de8764c40c19c9375a314aedb
MD5 365662f5d338f34e2f15fc41de2a20b1
BLAKE2b-256 7f5b161854ed8c51e54c3c3407c3afcfb0c54adc34605c4e7ff6cafd743dcc65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 c92c4a505587aedf4b436e92d62d77ba9b27a58484654c695859120f46a807c4
MD5 c3384f9f605dba054b76ded4c68b561e
BLAKE2b-256 e63129ce92f83f14222588009bab9d2bb62126e21aa8bacfb2ca048c3b99af7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 204b3132be93d30faccaf4f8b3f22525cec82734e41c2705aeb1748c20fe33c3
MD5 e07e0c10d4716c0d69845027f3b43f7c
BLAKE2b-256 c3d960eeee0b5b404fedc39ac83479abce86f2d1fefbbf7206e223d22117920a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 72a7ce6b8a98d0d7dfa0912ea843c5ced3c25e17eff1bb4a725863cfad46fa53
MD5 1dfb026be2d58863fe3464804b22e042
BLAKE2b-256 907df65e40d30a2756bac8998e4b72245b6faf8087045f27e906b5f6db3c363f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e3b201229d66550e6bb4cedbd4df65bff606777e3b64adc1047f50d426c216e5
MD5 a4b3d38e3ee69d1268b485179f62c6c1
BLAKE2b-256 fd93a970385681aee68f7a3243a0b63c0871cfccd512d260b9925718b4f6096b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 986625ef8a9a51fefa23597b0ac2203b820e6a5e13f7e8ef93a74cf9994aa41e
MD5 76c42ad288e5bb08bae47ef470b069a9
BLAKE2b-256 58e146faaaf455f9e571dd1933859f449d70f8cd9e64e0c6964def4afc3103f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 12ccbc8c6237ebc21957be36bc8d51eb0c8b66d7907866dc5f21eaef1585ddae
MD5 49b2b59849391fe4b67197fa3d06210f
BLAKE2b-256 9fe67e80a1379e9800ea7bcf13c56925321f74a2609039b8b5baf1161944cde7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00de834d36e45810bdd234d06ab8bae11f89ac4bf3908c87418d684285906e6c
MD5 e172519aed06543f0de4c6ea9f81b31a
BLAKE2b-256 7fdd95976d0c2879f2155aa46ee901d6675101ca142c2bbae06b4304027b403a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 47bbdaaa8b46ae23ce4a91b73ec5634acc3ade869a6cb08c3c054dc0170d4a7c
MD5 a118e2f52628a23123be9a268a418f81
BLAKE2b-256 595f1fc60dd2b4b624359b0e93d8f3b14393e79202051a0045ef4dfb93251fca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4f07e87cee25f0d0ef2c456731b929e03900be481c4d68110bd4bc06f60bddb0
MD5 124b51800fb4e1cd55c1fda2a6457ebc
BLAKE2b-256 572326c187591d706a9fc3e11049eaf2a819768aa4c0430df84365c39463c5e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b2af3c00d50303b3260866406cc3f0eb400755ee5dc362a0869552a823a51940
MD5 892fd62844f6b3b61eac5e4d6e6f6049
BLAKE2b-256 04a69e566577e59f840686509c4634dfee6247d8136dd57df7ffe1582ad9085c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.11-cp39-cp39-win32.whl
  • Upload date:
  • Size: 432.6 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.11-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 6a628adc61fbf82b6e3f68dcce314ad71db41631cf12a2f8d3e80f59405aa57e
MD5 a9f2806ccf3dce52e66669b68f20c001
BLAKE2b-256 c5fa08c03d36fa8499656b71e65cdf2618f51ea51c094dbce68109f3c84035f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7bcf8b655fd1b86f04b440797b5aff5e03f1f732e269f10000ba7fdd537622ce
MD5 fd592c4960d6e0686be9897b4112c4a8
BLAKE2b-256 16a5012daa26d4a16dae57d9936d818bd2e1d5d15a5ddb1fe664113fff720247

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c5fed9384be4c8cde391ce98165ea6d7d527d1002d3397f802238e12c9007042
MD5 833b53007655eea5500493cba8d700d9
BLAKE2b-256 5a182bee9710713ba2110356359525ae081f3067c5123c1876c090bce4f75ce7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.11-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d9b295664ae8f22a33a8902e96cb7c479fe83a42cdd004b5cbe89e0c60943ba2
MD5 2c22f5636bb6f035ef9ac8cf1fe0e311
BLAKE2b-256 5c50dbd3558802960a62ceab4d0aead30b3b9d0e77d516179738edeed9bb7a69

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