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

Xarray Integration

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

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

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

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

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

3. Sequence Library

Pre-defined sequences are available:

from blochsimulator import SpinEcho, GradientEcho

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

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

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

4. Tissue Parameter Library

Common tissues at different field strengths:

from blochsimulator import TissueParameters

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

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

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

Desktop app build (PyInstaller)

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

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

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

Prereqs

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

Quick build (any OS)

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

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

One-liner helper

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

Run the packaged app

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

Runtime data/exports

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

Theory

The simulator solves the Bloch equations:

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

Using:

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

Troubleshooting

Build Issues

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

Contributing

Contributions are welcome! Please:

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

Citation

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

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

Acknowledgments

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

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

Contact

Luca Nagel

Appendix: File Structure

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blochsimulator-1.0.13.tar.gz (301.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.13-cp312-cp312-win_amd64.whl (355.9 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-1.0.13-cp312-cp312-win32.whl (344.6 kB view details)

Uploaded CPython 3.12Windows x86

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

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

blochsimulator-1.0.13-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.13-cp312-cp312-macosx_14_0_arm64.whl (614.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blochsimulator-1.0.13-cp311-cp311-win_amd64.whl (363.1 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-1.0.13-cp311-cp311-win32.whl (353.3 kB view details)

Uploaded CPython 3.11Windows x86

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

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

blochsimulator-1.0.13-cp311-cp311-macosx_14_0_arm64.whl (618.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blochsimulator-1.0.13-cp310-cp310-win_amd64.whl (362.5 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-1.0.13-cp310-cp310-win32.whl (353.4 kB view details)

Uploaded CPython 3.10Windows x86

blochsimulator-1.0.13-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.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

blochsimulator-1.0.13-cp310-cp310-macosx_14_0_arm64.whl (618.9 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

blochsimulator-1.0.13-cp39-cp39-win_amd64.whl (362.7 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-1.0.13-cp39-cp39-win32.whl (353.6 kB view details)

Uploaded CPython 3.9Windows x86

blochsimulator-1.0.13-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.13-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (1.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

blochsimulator-1.0.13-cp39-cp39-macosx_14_0_arm64.whl (619.1 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: blochsimulator-1.0.13.tar.gz
  • Upload date:
  • Size: 301.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.13.tar.gz
Algorithm Hash digest
SHA256 baafb725a05f4539dcd61f8ccdeed34c1cf298dc60a5f80e401954aa0163af5d
MD5 f0c713dc8b151444ca36100873a67541
BLAKE2b-256 a696e1c2b523286fc8f0fdb0394453d4f22a4e279279b34f419c418f91e368a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 efeda7d1ce8bdeb57b69a653fe3dea3b830946437faa84174353af1946175dca
MD5 acc36e4793af5d2196dbe7d5eca5524b
BLAKE2b-256 afae53793b4a66ddde6f56007a9f1c2cba32d126bd9ef3eaa7dfe66bc11804f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 42926e0744f6c8fab7674ce1db2184c4eddfc584f50b9746cc985fe6d2670721
MD5 d5919e25f9a3eb004a70887b6ad3890d
BLAKE2b-256 36e807fe6b8f7d69565c799a68ead8a140a0ab89ce53d4073a2be5bd1a93d3fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84b6aefc4a99dcc3482d1efb89984b0f8d63e063d42a00746a5da3dfe43d834f
MD5 793b8dc2137467bdfb02c910abe25ac7
BLAKE2b-256 522f772d9c0087de628fdcc80c6f34157d1417b5e565f909d4314960bbef7c0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5b968f70e13e8b68df7882955c44fe0fd55fb16c487b1a5ab22a8f01998190d3
MD5 cbb6a955ef3039bd89f8b2fa29978811
BLAKE2b-256 7cbcda63d719ae6dda977a6a2a7beef0078fc6bd4a36bca963b84572262f6376

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 8aa59e82f45dbacd5b52956e5c6e18e0dc239afce3de9148b069ff54cd758041
MD5 7c181af6cbeaabeb4abcce1741a21ad8
BLAKE2b-256 df49df75e1737b689def57a88981609d8a9cab97ccf146648c051ad674159ad4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d564a5a08b75bf405c1c6e8cb677ab45ab8b57c73f9b4ebdeb55a90eb326f8c
MD5 fe5ec62a02a23dfcea44ae7c76f961d7
BLAKE2b-256 62d2ab7c813f0eca0482a0de7d9d1499ee4ec3fe7bb9320412817a611c0bd40c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 76a0c8c1afcaefa9b3d8dad79057384edd7a78e7d27802e4975963a947acb5dc
MD5 dd5a4b9b22f4c82874f53278d1d8b1d5
BLAKE2b-256 58e6a6b4aa9a08d7d326e3cf3572f788cad0376fb8144eebad9759c61c616a98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 713d239cd0a908f443b61e0a97fea5b85659ed615d2ce2ceefdbe5ad2dc4b95d
MD5 8a93cee4876a5d0100ab48922c12d54f
BLAKE2b-256 e34d34846087576a6e49e9869b826055f14240bb71f1dd29b49ba775b4c15812

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5a8e04cd2224b95c750c81edd17eddf3e8d430711f14265be5d58f5ae8fa7031
MD5 62db7162750faa0f0200430add205558
BLAKE2b-256 ddc3dc0e032d692a22231ad3957d8d2294b13f112e8e777d5427fb85fefbaab0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1448051cd9f9d4c28c56d8e7299b18116d805aab8a7f2dd82f67108aebc81073
MD5 b318d56264c3ec84d86e3c51e0f8c2f3
BLAKE2b-256 938d4abc11c06b50fcb9a0a9e7a65bd2a29bc4be2c36b43bc38c5aaf5bf55463

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4dff75f117e23f940ca7c5e46efe945aed6146a84961d3337a362640d9feb822
MD5 71d37c69facca7987a1b9ccfd99dd7c0
BLAKE2b-256 ffcdd33e293160a8343080c7e60ba3b1ac81040269a59531b9e561ff7d6ec189

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 e4b964ee80b09894b4153471e1887df2456ac3cdefa748de99de8145fd169ba0
MD5 4baacf7c14701777fd6f9bb4c238d5ec
BLAKE2b-256 d81e32252aa54fd0adc7c3faa5ec14ef37f889f6af3c8e1882058ce9574cbfbb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8f67cde60997905199893a3c5ea28001047d7ecfe05f0104e123f942ab78f35
MD5 6e098fe043a69663783973fd2c75e0fc
BLAKE2b-256 3074da018226def44a91f8de2cf7edb07310f5ee874a852048845981397ba7ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6df9c6d43e0115949a7df01aa77204b3cd159285289a242add822404935e383b
MD5 4478de5a5d603a7b2322dbadac5e01b6
BLAKE2b-256 eeadca62246710cb45384e88a174a1d53bea980b055fba9b1a3ecac47ac7b5d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 220000093ecfba1e9351730a603a19abb249cfe2b554ba43312cea67c29b6766
MD5 0e242f853c9a1c5a3ad5fd307f148f44
BLAKE2b-256 7d77290a8c747a9cb30efe56e176b8f581738c7b19df4ca46978aa5c0a119e17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 981ae9bf86cbe1eab15e67eae8450392e4f1ee5e7db474e75e881672ce8a5b2c
MD5 33a49b969dbaf25d5977a11d7025227f
BLAKE2b-256 c28a799566df1d2c60cc741fdb881cdb5d05373427d7005d9e7668012fe49d6c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: blochsimulator-1.0.13-cp39-cp39-win32.whl
  • Upload date:
  • Size: 353.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.13-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 8bd475d5ee7136fcb63a0131ec990d5ea3a48297035f7b55bbf0f7d19a36fe72
MD5 3fbd136b7703c983f0cd628903d3653c
BLAKE2b-256 30f56d695c9b0f71cc598fb8ef6946a435ea1cfd7c3e0bb58fa24b214e2a89ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3daacec079a737d5b1f3e1abcd9ab7be2d7f45a2aa07365c3bb501554f8a86c
MD5 46379d34d6f7ada4668a2d17044a945f
BLAKE2b-256 f889dd02e3f7f616e72944ca38a6b3defad77f7a37f31b11fe96dfb2c8d99543

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 32d9b157d0c19f263a92604f221abb3283d93e5f29465537b6fbf835fac08274
MD5 e7b0f1ed626c11b2c33fcff9096e630a
BLAKE2b-256 bcac3ff72a4fde027d83bb6a2a795a9529d836a1c75e8902e434a88a1160f18b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-1.0.13-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1faab056c2f61a66f0ec12413c23fc249b7fae9241b5f79e087d68d9c3f31505
MD5 59ca466120ad905282c22fb0a2a7fec0
BLAKE2b-256 5bb56f4d92bea7dd617b0055b68a36d54a17984084f91581cd7ea37a891f5028

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