Skip to main content

High-performance Bloch equation simulator for MRI

Project description

Bloch Equation Simulator for Python

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

  • High Performance: C implementation with Cython bindings maintains original speed
  • Parallel Processing: OpenMP support for multi-core acceleration
  • Interactive GUI: Real-time visualization and parameter adjustment
  • Flexible API: Easy-to-use Python interface for scripting
  • Comprehensive: Supports arbitrary RF pulses, gradient waveforms, and tissue parameters
  • Visualization: 3D magnetization vectors, time evolution plots, frequency spectra, and animation export

Documentation

For a comprehensive guide on installation, usage, and advanced features, please refer to the User Guide.

Installation

Method A: Direct Install (PyPI)

Recommended for most users.

pip install blochsimulator

Method B: Standalone Application (No Python Required)

Recommended for users without Python.

  1. Download: Go to the Releases page (if available) or obtain the BlochSimulator executable for your operating system.
  2. Run: Double-click the application to start.

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. Clone or download the repository.
  2. Navigate to the folder in your terminal.
  3. Install in editable mode:
    pip install -e .
    

Verification

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

Usage

🚀 Jupyter Notebook (Recommended)

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

# 1. Install (run once)
!pip install -e .

# 2. 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, proton density)
  • 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)

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={2025},
  url={https://github.com/LucaNagel/bloch_sim_gui}
}

Acknowledgments

This project is based on code originally developed by Brian Hargreaves at Stanford University. Currently (11/2025) 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.5.tar.gz (360.0 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.5-cp312-cp312-win_amd64.whl (421.0 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-1.0.5-cp312-cp312-win32.whl (409.7 kB view details)

Uploaded CPython 3.12Windows x86

blochsimulator-1.0.5-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.5-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.5-cp312-cp312-macosx_11_0_arm64.whl (679.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

blochsimulator-1.0.5-cp311-cp311-win_amd64.whl (428.1 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-1.0.5-cp311-cp311-win32.whl (418.4 kB view details)

Uploaded CPython 3.11Windows x86

blochsimulator-1.0.5-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.5-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.5-cp311-cp311-macosx_11_0_arm64.whl (682.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

blochsimulator-1.0.5-cp310-cp310-win_amd64.whl (427.5 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-1.0.5-cp310-cp310-win32.whl (418.5 kB view details)

Uploaded CPython 3.10Windows x86

blochsimulator-1.0.5-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.5-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.5-cp310-cp310-macosx_11_0_arm64.whl (683.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

blochsimulator-1.0.5-cp39-cp39-win_amd64.whl (427.7 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-1.0.5-cp39-cp39-win32.whl (418.7 kB view details)

Uploaded CPython 3.9Windows x86

blochsimulator-1.0.5-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.5-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.5-cp39-cp39-macosx_11_0_arm64.whl (683.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

blochsimulator-1.0.5-cp38-cp38-win_amd64.whl (433.3 kB view details)

Uploaded CPython 3.8Windows x86-64

blochsimulator-1.0.5-cp38-cp38-win32.whl (423.3 kB view details)

Uploaded CPython 3.8Windows x86

blochsimulator-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (1.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

blochsimulator-1.0.5-cp38-cp38-macosx_11_0_arm64.whl (686.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

blochsimulator-1.0.5-cp37-cp37m-win_amd64.whl (413.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

blochsimulator-1.0.5-cp37-cp37m-win32.whl (405.9 kB view details)

Uploaded CPython 3.7mWindows x86

blochsimulator-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

blochsimulator-1.0.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686

File details

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

File metadata

  • Download URL: blochsimulator-1.0.5.tar.gz
  • Upload date:
  • Size: 360.0 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.5.tar.gz
Algorithm Hash digest
SHA256 24168da724e120049ebc552f80414893fb9290fc612332dbb25b66724aea3386
MD5 0606a1fd6d3bf42b758837276871e430
BLAKE2b-256 783ceafad3c44dd641a43ccd49e4f2cf00c77c77e8066c4affdc6d0167eb11c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 633439f7349554d860f9244b08807c541425e83fac4db2dacf38807a64f946ed
MD5 1d6d30f387bcfa9c876815303a2adb1e
BLAKE2b-256 b12f559798a9d2e947aa52ffc50011b13824578aebc3f683bcb4f3d6654ad2fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.5-cp312-cp312-win32.whl
  • Upload date:
  • Size: 409.7 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.5-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 a40f9a40a22d11ede354b7215e56d5322e9987a358451ade5561b13d8ad83007
MD5 1ccce3be59f5d57e8d9e8e2ccee5504f
BLAKE2b-256 1989ed946d4977c7f57b11c4b0c6e555b53129d7faee343200e98686b77d6b98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 903cca1dc3692c014253b16196437c446af29d4f8af56117e62f2afbd810c5a2
MD5 8ea816d7e87e40bd1e973a69b4d90e48
BLAKE2b-256 eff2458cc742036bcf81a70c54cc6e1377797a1ef45920ed1e70485f668cce07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e855a3f02fd4bd0e8f0a52867f00cd6d8ef7a7ed61b7dacf5d5cbe6e4a681cad
MD5 0b1b830585e3a55758409b73b49b09b4
BLAKE2b-256 1bd61f5646189822a8c4ede0fc2dd20ee8321f20e943305e16496dfe2f9900b3

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 61d27e300a1e463924bfe047bf29818252f6f98727cfe13223752e9a6311a9d4
MD5 1a797a4a4c5f854537031e6096c48355
BLAKE2b-256 6c653dbe1b11e12d7dd8f9894c8597e3db9171cca39868df1aa8fb3f59b6f2c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66aca5894929487848dc48a478127e02651b5f2589f1e777b88cf2e67eee2254
MD5 f36b152157b19c3b87307179f3570212
BLAKE2b-256 05f97e832984a2c17593d88fef7a70ac76ecdd85ba3e5de954947a0c9d313605

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.5-cp311-cp311-win32.whl
  • Upload date:
  • Size: 418.4 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.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 0247dd053b9f4c1fd38a937b0560ef3c49e33f4d5f8f5c6dd356bdaaae78498a
MD5 c5e87ba54d977e287ef7fae5ab99cac2
BLAKE2b-256 4ba81189f2db03bb02191999a67baf0a81a382f2f98feec793acce4d74d9b4a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 615b9b5311bd548decff6f86fc274e3b1f31853eacd23572e40f2e7a0b9b6c79
MD5 083c5152795f56e5b34a4fb49214521b
BLAKE2b-256 0000be9cd086a0c7fd84039b8c7a401489af0585ddf577aa4f940fa1ba5d7908

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 50bb487e5e188faeb7fe4b05c002a30792add31d01ca928ef227d0b256813404
MD5 b2c8ad9f27e39a9e9252aec63f226787
BLAKE2b-256 e786b22ea18aff1b1ebf89e0b7b3074c2b452cf917817b6cb10f7090b7142567

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ffa39a8975b6a4f1f86cf49e36356bd57c414ba9013ac741cc9594786f72df4
MD5 300dc91729276a63d94781cec24904ee
BLAKE2b-256 df12582b4e5b7109659ae23bb1ccab9a017d1fe8cc1a7039d577c1f2194d97db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2082bc538a1af8502d0a2c0d6f4e277a8be1620f66a0094f49878d1031b5479b
MD5 247080767ede8c60513787206dd89545
BLAKE2b-256 9175b5b77a8df98804c2e415ff607ca222ee119005d07c2bb7892ba4551cce85

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.5-cp310-cp310-win32.whl
  • Upload date:
  • Size: 418.5 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.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 35eb5801e7a558b0fa7ba7b901e7f60f35e7e6149aa483c2ef5f1a8d4b215928
MD5 87d3c9c38b6f4aae13f16d150f39b2b5
BLAKE2b-256 06a279e0e3f9aabdad5e1d52ad27409c742dd0f8c613fb7b7973601748a68e2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89c68a2fe3d42548980eff64789daeb6631b91e6ceed3dc326485bccc36f876a
MD5 aa98689b1774273f9411c0a13e8b880e
BLAKE2b-256 5294ee0847b7058d6a46ddd13ee0e88a7e28111538bdd488b1f67f1c8a9594e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5083e185ee99a904ae6221adabf4bea467f1eb402d91dfe8844945cfb3a53dca
MD5 01b9e81f1fd44ac995803ae5fa7d5dc3
BLAKE2b-256 4db83d15a03dbe1c3f89b616d778e318e0245ae58e77f36fccd9684cfd084e23

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20fb98c42a46ad10cacffe89b9618dc0deb06d0c2383bde7017cce9453ba1d15
MD5 f363283faba705d9cf2a4b82bf4505ff
BLAKE2b-256 364398c0138dbc4d1a262f7f556579c137f4dd527e16cddf68af8a7bf44881f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ff73baf4628a537506d181d64b61160f1427a98d563a8d7efa2bb5c20186ea79
MD5 2625024c839707f85d43ae1216c61d3d
BLAKE2b-256 f4c38a50063fd6043cb612431934592476a00dc25786f8285c9a883fe564b9e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 418.7 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.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 c5f63b5af55a638bf3ddf599372838fb65e38d4a7a790ec4fadb5e6f2e5ea6b4
MD5 77d5dc4b0ef4763c174a7068f600d64f
BLAKE2b-256 372899c1d2e2c6aa59dc2c96ab6245bfee479a6883244b609efaf525d8981e04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f434aad88aa647bb9a31669cbf862d46e1280d23293673a0584e05b7d8d12575
MD5 14a6758e55dd72a486553eaee72594b9
BLAKE2b-256 cd2acb2ae5c2d413e44f5afcc6c015dacb495578ff95804084c9c72ff0cdcc0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e3b034593f885a18e5c886e6f87a059194c2f10beb9e1f2787b80163dd728e26
MD5 940fae2065101fc70e434bfc7966415e
BLAKE2b-256 dd8337690df6afcc7b48965b7bb459975e7df17152be02ded43075cf68e8fa6c

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a58399ac1d47266c75835d7a0032d99d7d67cda14ccc8eecf8afe836590db753
MD5 b3460c9c92929b5023b299828276aeb5
BLAKE2b-256 f066c8965234ed5d311293dd044853d21d9c44a703f36be003c33e6033b5e6bc

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 004dd88c6eabf5261af6fc587bda65f3ecc54df4ef0df5c23c8ece312ff239f6
MD5 23a29e96eaa6cbe478fda0b3438a897c
BLAKE2b-256 0e40931d52eb2f9482771aae56bf851678ea42999d8b9f461c4590fb07a05d75

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp38-cp38-win32.whl.

File metadata

  • Download URL: blochsimulator-1.0.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 423.3 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 443f08c6b856da9637b5f7cf3a58ad6d537b8e4e1dfc289ead8ec59beb1f0198
MD5 83b9349e683baf2c3446bf47081d30ed
BLAKE2b-256 3861585797379835cf8756ed0bfba59dbd9e3491f7e8b2172c50d72600fa07da

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ceec317401861d2eb09b57936d4391fec0ab54af9c0246caad3573cf618c717c
MD5 bff54c440f8e070389692253e6d9730a
BLAKE2b-256 550f5aa70e960519c8f8ecbbb857d40916f05a95ac1dbd8fa3c83a67b7b0c9c1

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 84c7615ae563085f30f907ebcc5c0d04e4f5d7ab2f6d0f3b9972ba42bc526b56
MD5 2eb7171dca06f85a9c558f86f84eaf4e
BLAKE2b-256 cb660d3ff51c07086c34a5cd183db30764efd9b2fe2fe387504e7b4158b16ad1

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b9d2154d22bfdcca541a04acf4532265bc1a7c231c2eb8a068958f28cf9b737
MD5 acd3ff9d1c3f0f4c2d013a74adea6540
BLAKE2b-256 1db594980dd266ff438920253da6d3bcc30b0873aafa8467dcf9d3e8dea3aec3

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 41b3c38c8b3d1da6997551885d69e88373e78466457ac4bdc7192852126ace56
MD5 757404007c826ca17ad6e51d2af41abd
BLAKE2b-256 792b58eb68c466e551e157ccc495bb7e5593a24b5caf45da4f57e1a682f935ed

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp37-cp37m-win32.whl.

File metadata

  • Download URL: blochsimulator-1.0.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 405.9 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for blochsimulator-1.0.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4bec063ca04b50cb1ebda2f89ce8722424f0f2039e146625194430e29bcf2bad
MD5 de38c7c793da9b58e4c63515ee4ec9ea
BLAKE2b-256 d4e8f9180f8ab86cf8ae0b7236fec018183b67b8f55405d754a69281d104815d

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5e3a7be16c52232b9ea364eecbb9665655e33084d0d6dafeb5655e7cf79922fe
MD5 fb09a004df5b1af6cf200d45bfce2251
BLAKE2b-256 7c0a2057ced259159a58142ca88c6b5e64d4202b0c5f8a924b010c1e5a2f2974

See more details on using hashes here.

File details

Details for the file blochsimulator-1.0.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for blochsimulator-1.0.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 56dc785c5d82972f25afed2bad062dfb7c2df912a0a419b4215427eafd3e3414
MD5 30786647ba51895b272bac9def11d507
BLAKE2b-256 c0e295353f9b9983ad2be6840fc7d9cc29a7eb53703e0621a0d06e35eb58bf70

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