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.

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.9.tar.gz (374.1 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.9-cp312-cp312-win_amd64.whl (431.4 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-1.0.9-cp312-cp312-win32.whl (420.1 kB view details)

Uploaded CPython 3.12Windows x86

blochsimulator-1.0.9-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.9-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.9-cp312-cp312-macosx_14_0_arm64.whl (689.8 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blochsimulator-1.0.9-cp311-cp311-win_amd64.whl (438.6 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-1.0.9-cp311-cp311-win32.whl (428.8 kB view details)

Uploaded CPython 3.11Windows x86

blochsimulator-1.0.9-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.9-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.9-cp311-cp311-macosx_14_0_arm64.whl (693.1 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blochsimulator-1.0.9-cp310-cp310-win_amd64.whl (438.0 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-1.0.9-cp310-cp310-win32.whl (428.9 kB view details)

Uploaded CPython 3.10Windows x86

blochsimulator-1.0.9-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.9-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.9-cp310-cp310-macosx_14_0_arm64.whl (694.0 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

blochsimulator-1.0.9-cp39-cp39-win_amd64.whl (438.2 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-1.0.9-cp39-cp39-win32.whl (429.1 kB view details)

Uploaded CPython 3.9Windows x86

blochsimulator-1.0.9-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.9-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.9-cp39-cp39-macosx_14_0_arm64.whl (694.2 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: blochsimulator-1.0.9.tar.gz
  • Upload date:
  • Size: 374.1 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.9.tar.gz
Algorithm Hash digest
SHA256 ad0b4e4c52774f934164c1ccf85e716117c3d1d0708dc2f4637f9a2ab85bc176
MD5 48a63d0170bdc80926bff0a76045e6bf
BLAKE2b-256 8e4ed5ba5633f843c15e2950cd70e8f03896485f30ec1f93cb5b01f41fef5033

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5f4001d16d8a6345bac771d28d813760051321a92391b17fe4034d7f5c059282
MD5 ba7f74c0f7a2bcf307cab3aee04be88f
BLAKE2b-256 6f3efca5794a83661a1f10706ddfab04d0220d2f9098af5ba34c4d09298eb2d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.9-cp312-cp312-win32.whl
  • Upload date:
  • Size: 420.1 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.9-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 684859991788dbb5152de732d54cc795f1bf6cb20a75a807b3409fdfd7c57e1e
MD5 775b39f17984e88dfafb4131da11f847
BLAKE2b-256 e296d81b0e536455d6246ab5ee639f878f252651a6adbe718238a62ba95591fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27fcc44a8706946f7e6772d8d9fb89c01bdbd649bc17887b1acc9f817ab6e475
MD5 e63d384cd483715aa69b6a471e3e9d30
BLAKE2b-256 bbd98e42cd910f080ea4d52236a18502cd3fb6fc8ab8906d557f9f51b3ea6dbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d218901b109709ae797152f3a42bda589cf11c9a876475776b33ddb8fc8402e2
MD5 1791f068109ccdf3f451ee3adad88255
BLAKE2b-256 bc3beaff5af5d7e8016107deec2c56bc09b750b6b6033c5fa907add7c2965876

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 528d2bb656114a9c779d6d39fb635f997b0400223eb5291036ce232a065519b5
MD5 6438af58a21331cd78eaa764c1c164cd
BLAKE2b-256 d405b04e357889579490163519a8b06acfef52b69de3143f2586f40aef646726

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4f6f37721b6d03dec7fc79c1a26a8a87c813a01796294557a02137a8b73b8501
MD5 6d08e4cdc4c2a446626a7bf00f547421
BLAKE2b-256 1442b16c72c743e2eab3d6709de2532997c9ab0901f8f56b59e7bb81474c6b78

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.9-cp311-cp311-win32.whl
  • Upload date:
  • Size: 428.8 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.9-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9c8f2edf30f70a91b53d369f3c4eefff8440b2c848e75b5a23bb8127ef80a3bb
MD5 ed8e7b2292624bfa6c627d809d4b7f08
BLAKE2b-256 38ef1b361ad6d0d095328f43d9fde97b5015ca8b87ad7421b5fd15a100d17fb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1315341d6fcde5855606d04314e324e6abadda321b6ed16d29eb2ced997bf5e4
MD5 e3b63cba2f9d5b5226882d73c908791c
BLAKE2b-256 a499d10f345a4a5c647249fdef230d267282303a8452a49d1283cddd51b0cd75

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8bf825c77845d3cce5aa81d7668e26fcd78d9736ac7b692be28079013c40d422
MD5 aeeab228ca19a1f41a44c845e7b3cc08
BLAKE2b-256 502e71072cd46ccb51d32d0ed0fd7b981169a009f9b804eb9ac3fc8bebf1e9e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 abb77162d6a51b92ec25acaf032cb8d38358ef6fab04e18b631f79d4c9b904c4
MD5 c4a201877bbb2fb1ce78878003cbbc88
BLAKE2b-256 b618943842d91e7f25e43dd38fffc3260bde96cb634b426e08cc90ad20519e43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4e11304e77a062b38510aca86869f0ca0a5d922829c9d0d25c6d312a383725fe
MD5 621a35c348036b9b46a98eee614c070c
BLAKE2b-256 380c797516e38c4e67113103fc73bfad5288657b11796901b3cd15eb9eeefa8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.9-cp310-cp310-win32.whl
  • Upload date:
  • Size: 428.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.9-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 7e805a7995c02cbe231fb8c53dc346bf25f122b2f727ec25c6cec7a587b31aee
MD5 a4db0911d44ecc678ff69819225153b1
BLAKE2b-256 5988824f03ee0d7c58b1688fbad2819fc9d5e2d1a49b227bb1eabbe71d4a7075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53b424301910c988e263b0643de4494baf7cb38258f6ec2df1967bd941ecc198
MD5 239b85efdfbd69d870b94118b771e926
BLAKE2b-256 a8c71f3db582dd19e010886bbc22144b087a1a52416d31ef121bf8ceac529c6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a1311f251d7292bd3beb814ad40d9b0dbd2f8b74d8b5c7af894c1f7fd3f0c18a
MD5 b79dd0183d7fbabf48f3f231480dfa76
BLAKE2b-256 0518aaa4df5a5cfd99df558686e54d7e014d2b4806cf593aaa5fd95cfda08128

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e6d61400f4be9e2d073d7da7f735612e264783b7ba2e476b316f4b6151956a67
MD5 295473d58c01057bb36e02382af41c23
BLAKE2b-256 b9fdc2b64c12f9740b90e5301504d68346b05f51cd928415bfc83be3b8539dd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1444fdf426f49f503c481ded9d16ca8120d28cb5c2a681e0dac0823a8778084a
MD5 ef3f4fda2f42eaad35dc89ee3c0e0481
BLAKE2b-256 248b33917fb2615c8b98aaef832975715f2a962f0134da8158ad92ec2caabd4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.9-cp39-cp39-win32.whl
  • Upload date:
  • Size: 429.1 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.9-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 8a71c01560b5bb6dafada5dff41ad3a50691b61236f9cbd6be087f498d5b899d
MD5 1b320faaa332275088f979de40de0036
BLAKE2b-256 9dfafcf533c01b3f9ac688d57563687d974881ce27069830065193ede1bb4a1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f267141d5f395a25c679e833749bf6bb4890f3a30692a94113fc6ed44610387f
MD5 f8de87287a0d0868e6851e1eb976c4cb
BLAKE2b-256 e54c6124cee62aca22a09b217df1377481ce6abea3f0005b86f99bccc33684ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1250daa23201293e2676b687a7ce414acac637463aea2a4ff20a3447925c707d
MD5 4aca9224331d5168115924b6d5842b65
BLAKE2b-256 fb09ab441fc7371833a81cc3c4e6911d5836d76e83737048f909b8ee044813f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.9-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 170192b66e9d65e3ad26af124aafbb1c19b0b27312c5f9c92e950d149a8ad27f
MD5 f09ee7a1d52c95c184378b7529a8d709
BLAKE2b-256 1c949ba72f0a32c8986048ccc366490926e4bb11d5502c3e954a468b94b3346d

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