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.
  • Parameter sweep: Allows simulation of parameter space (e.g. varying TRs in a SSFP loop).
  • Visualization: 3D magnetization vectors, time evolution plots, frequency spectra, and animation export
  • Reproducibilty: Sequence parameters and simulation results can be exported and imported.
  • Auto-generation of jupyter notebook: GUI simulations can be exported as jupyter notebooks.

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

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)

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.6.tar.gz (361.3 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.6-cp312-cp312-win_amd64.whl (422.2 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-1.0.6-cp312-cp312-win32.whl (410.9 kB view details)

Uploaded CPython 3.12Windows x86

blochsimulator-1.0.6-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.6-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.6-cp312-cp312-macosx_11_0_arm64.whl (680.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

blochsimulator-1.0.6-cp311-cp311-win_amd64.whl (429.3 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-1.0.6-cp311-cp311-win32.whl (419.6 kB view details)

Uploaded CPython 3.11Windows x86

blochsimulator-1.0.6-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.6-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.6-cp311-cp311-macosx_11_0_arm64.whl (684.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

blochsimulator-1.0.6-cp310-cp310-win_amd64.whl (428.7 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-1.0.6-cp310-cp310-win32.whl (419.7 kB view details)

Uploaded CPython 3.10Windows x86

blochsimulator-1.0.6-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.6-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.6-cp310-cp310-macosx_11_0_arm64.whl (684.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

blochsimulator-1.0.6-cp39-cp39-win_amd64.whl (428.9 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-1.0.6-cp39-cp39-win32.whl (419.9 kB view details)

Uploaded CPython 3.9Windows x86

blochsimulator-1.0.6-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.6-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.6-cp39-cp39-macosx_11_0_arm64.whl (685.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

blochsimulator-1.0.6-cp38-cp38-win_amd64.whl (434.5 kB view details)

Uploaded CPython 3.8Windows x86-64

blochsimulator-1.0.6-cp38-cp38-win32.whl (424.5 kB view details)

Uploaded CPython 3.8Windows x86

blochsimulator-1.0.6-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.6-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.6-cp38-cp38-macosx_11_0_arm64.whl (687.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

blochsimulator-1.0.6-cp37-cp37m-win_amd64.whl (414.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

blochsimulator-1.0.6-cp37-cp37m-win32.whl (406.9 kB view details)

Uploaded CPython 3.7mWindows x86

blochsimulator-1.0.6-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.6-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.6.tar.gz.

File metadata

  • Download URL: blochsimulator-1.0.6.tar.gz
  • Upload date:
  • Size: 361.3 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.6.tar.gz
Algorithm Hash digest
SHA256 dd5e2c54a766a541aebcc5c089349dcbe0dfb4a034cebdf25a8bfdf95ec287b1
MD5 cea401f9bf030de6834a16911151445e
BLAKE2b-256 642d7121ec9744755f1928f2c42a56be170d9aead84b3855f0e82bbe75a99c80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6112b6c9c71748a1a3585253c5f5ab5d9df1d46fcdfd52bb472bfd81d4a65535
MD5 6479955c36ab23ccce810044451e6d42
BLAKE2b-256 c7f2d41da2d310d9493498fe24e99c265c0acf781ec609f645ce71611875ce51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 309c5c4906e2f27351935efbf51a7fcc5178f264b782a6c389f033a85ac89518
MD5 6d58d384cf87de84ced53cb2d7d50490
BLAKE2b-256 81760539106a1c1ccf93e8fc555733632c2f79856841ca893cb27ab48da71f2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d89b411a28bfc92292889d65c899a2280a2592c552932ce0c6f6c593f834a1a
MD5 93e36411fa57ed5f93ba7ad254e4bbef
BLAKE2b-256 6dd7858d700c061c1157503a4c52d0e722d491dc7e22f52216a172a46696352a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a9cb694d7dec8c6370a31cd7c6f0b1083fdcdf10e648b91b9ce59d36d2f541e2
MD5 ee7fdcc6623f5a65a447f3556077c384
BLAKE2b-256 ae1deaaf472ad7e98c6807d7f8317a8e1a0f06a2e6776ba84ef44c7d1cd16de9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9db118168a5124072d4531da8e90be6ec08f407a9fc47da3c2e9e723bc8ae565
MD5 97a37a3c36f61c79d9692adb0540286d
BLAKE2b-256 11af4759a6c62e482e98bee9fce05bba6075b24c7965d41e1c35da137b5a2dd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d3a435861009eb77ce6d166c18f54f39531c304cf188480e43631c16421bb448
MD5 16a0200bdaf5203ca1eb13fa441531b3
BLAKE2b-256 69473a9a6c052b23607b4fc2c39aea4a08f5651da119e9b14dafae8d88446e52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 285f59fe405fec09a5bac8dbe64508ed800d8eaf2d31e1c64e23ed78a0b46228
MD5 22135624c48be0348599e5dc7e3f29bd
BLAKE2b-256 6352b1a65aa4d8f1cb3847604b72076316ea7ec95c5ccece23a892641a37cd9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebee4f778b0552623c41dfc59f02c502af61ad0e6e6b479cddd79315e6d831a9
MD5 02f3a0cc7056efaa6d2c6f7bda124cad
BLAKE2b-256 9a4baf334695196aa34fac2f5d71bf3256331c0e0c4165fa53ddfa5fc5152935

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 85780fad821f481c89268bf03348f2fdc7e8e14f096be7aba291e12dee1686d5
MD5 c5fc21c3a31dd112f4da9727723e604d
BLAKE2b-256 d3cdb87c7eacdfe52b37b1e4ad0332d4b0ed4c27676e7c70b4e8078f6989957a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2f0a6234892a7c1b023392eb839736aa23a3904a7f20729b2202a28ecd21419
MD5 614078d6a307a5fbab97e1deb428a038
BLAKE2b-256 e05f701db000eb2626f0ce373830e88455ef5ac243b87cd4352b969a92dd651d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bd97e16e83545b2d68bbecf9c1db1d894c6c577b343b3be31e4f9ec9f57b6589
MD5 1fce5908e730cf502cb3f14e22fe012a
BLAKE2b-256 437349306f888394e4c63f1b579932824b155600b030451d722b34dc1d0054ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1c1b2ea5de4a3c00f02495dd87346153fe4d087527dbba8f3d89035a446970e6
MD5 dfad8615f9c1afd40ef9be65678b1983
BLAKE2b-256 a0449fc4562270c27c583b6a6495dd2413dae35c4a1b2cf8764ba3853c536133

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e17651c5c11a6805cbb520d56a7475cbea22b3436b9b941236ec03b5f598706
MD5 95245e6f224c43f09285d45f9f8ef176
BLAKE2b-256 6d138c8b30b728c390a89df172566be2c3c1d7d2511bfb0cfc6ce2461762dccc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 47f15f3a6403af02d388d27710c4e904de83329e1b616678df9409364059ecfc
MD5 991b6e8658ac19ea69887e736e46b528
BLAKE2b-256 47f2edb3175350ee18b83ae75cb03c697c6129d0656790c1df17e72277bcdf2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33a661a6e92a1a4d29bfeba87f9a3c7f122a4d671c92693d4c9abdf195acdbc0
MD5 cf04de3b8c7857f5d7d9f76cc2357556
BLAKE2b-256 d285990b14d2577f63b37aeb759efdb01a92edef84a573f5af86ce71a35a0dbe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fca31323ce7d42c514e2f6d17936171a6f4d569f6a7c49721426e51d75e7a158
MD5 6af47abc1ef3af04009fbcfaa0ecfafa
BLAKE2b-256 4507b69e2b0fe54101b909383eb164e2c1211d1c4ce8c91ac35f28f84f942dce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.6-cp39-cp39-win32.whl
  • Upload date:
  • Size: 419.9 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.6-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 02f1d6f6a4fbcaab259d8e7f46bd7ef896469e3c327f995924950a8f273d9ee3
MD5 133200ca8929609cbf6553fe751008f4
BLAKE2b-256 2b025e88d1628ebf80c176225d20c2c3107430a89204ae859b07dd0dd9a90c3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e11646ef7af35bcc29c3da9545225bb3d4b2fca774f1cb323de3d7de10394c5
MD5 461ef7480593f0a8e5cbdd1994a14a7c
BLAKE2b-256 63bce363bdc93ae02774b7d5a4b37b760871c3ad4e509118e87dc13cb74fffba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 22ccbe9703d58fa2311e807790aa25d4855b598d8a11bcd61674fa6238b24cb0
MD5 f678ce1401cc6ace50d92e379995bf68
BLAKE2b-256 5d9250c46606f11fabf69ac6e719063bdf58aa2d32403de68f417bade8cb44ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a423c68349d00c9ce27c4d08079eeff3c8ee8575f704046454e27bfd00e4660e
MD5 00428e1d92ac1b9415ff94617f6bd3e8
BLAKE2b-256 9b8600dac9ab5c8cb1f1ccef9fda120ad39fa30200e5a49a58e70f2858342f56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ac2420d1a1bd3b84ae6c75675eea7e5fc5918ece9d940f69c0b4dfd7ac09cbe5
MD5 fea896bbc63f00399676d9d66b7adca7
BLAKE2b-256 33a19112d769ea0df8bfcb9857f625301430ea5a0bc32f930dd7e5669d38a868

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.6-cp38-cp38-win32.whl
  • Upload date:
  • Size: 424.5 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.6-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 a655c28861c1b83799144e6c36da2865e87c9b9981e9be5689385dc72f790b29
MD5 d1c9586efefdc6d4fcf71fc0daebf7bd
BLAKE2b-256 2a0d9dad4b51885210bd5179c9eb76c76decf643e51fc500b3df2efbfb8759ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ce957f427a5036422528149b852da07b5975db27cd86bbdafb84bf08d6fd6171
MD5 13da6195715c5d0655a551ff3ba1b2f3
BLAKE2b-256 ee61a51f90bdf1b393067a75d775b0ff612157b17eb8357be748ef46fe8ef348

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 80121782ad5daf98ccf4cb734c154ccd8f492095cfc2097591cdae90e6776c48
MD5 84e06a0d6a1611a6bcbee5d84e91cbc4
BLAKE2b-256 a411874a0406a61eb8ffebf11140836f0d617d5d21a909186c19db9337018395

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41dd8f64ef3d6f9bf2b81938e7244e033d42daa3d198db0a05f295ffee526720
MD5 5107206812b8dbaebcadded3d05fa0fc
BLAKE2b-256 87e5f77264eebfad65956227d7b75d6ba075965245e527e672bf4fe85ad8fd07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8b35be71bb0eb8f58c4b6d4fc68392f698789c193785aa76f24a3c47f726c1b8
MD5 325036694445771f5a990b36be11d53c
BLAKE2b-256 cfde46754b029527927d7e6b7b82e6e8b51af4e14f34c1b3b1cd94c2265d8f59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.6-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 406.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.6-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 4accfc3139deff7cc1f6627c0be6e659d08a873224585f324db3dbd332cf3e4c
MD5 028108ea3e4957cd9e88ff5f8378786f
BLAKE2b-256 589ed152f9e2899769fd5ee4dd007ade4d9c7db2bb1a04d6909810300d1323e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9bbef6801765e32b614c57236bf8418fc04e373bb58451b71ad15f50682ac33e
MD5 8ebedff6e1f7f1c3425952f5572211f6
BLAKE2b-256 618e512310e553bd2958f834b29d996eb3beabdd5fdfffbb046097a66b5f3530

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 06a43a38d84fe83c658a2194e3f332c0fb6e1839258a7dcc2de27f0a6eed2e8e
MD5 e24acb0466682d59021884bf013f6dd4
BLAKE2b-256 cb74960b3a1b8b8a59851b9a833f10a7d94b23805d72ac326f1d4474656e8bd4

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