Skip to main content

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 with classic waveform simulation and an event-based Sequence mode for Pulseq workflows.

Demo

Sequence mode

Sequence workspace

Sequence Mode: Demonstration of different EPI sequence modes on a spherical object, including multi-repetition and multi-slice acquisitions with B0 inhomogeneities. Generated EPI, CSI, and bSSFP sequences can be exported as Pulseq .seq files.

Classic simulation

Spin Echo Animation

Free Mode: Demonstration of a spin-echo simulation.

Features

Simulation and sequence design

Fast C-based Bloch solver with parallel processing support. The GUI can be used in 2 modes:

Free Mode

Free mode lets you investigate the behaviour of spins over a range of frequencies and spatial positions. Good for education and learning MRI concepts such as off-resonances, relaxation, basic sequences, rf pulses etc.

Features:

  • Endpoint and full time-resolved simulations
  • Configurable tissue properties including T1, T2, proton density, and initial magnetization.
  • Parameter sweeps with final-state or full time-resolved result collection.
  • RF pulse design for rectangular, sinc, Gaussian, adiabatic half/full passage, and BIR-4 pulses
  • Sequence support for FID, spin echo, gradient echo, inversion recovery, slice-selective excitation, EPI, and SSFP.
  • Live magnetization, signal, spectrum, spatial-profile, heatmap, and 3D-vector views.

Sequence mode

A mode that lets you load, generate and simulate Pulseq .seq sequences. In addition, an interactive 3D phantom and B1 Tx/Rx designer is provided.

Features:

  • Interactive generation of Pulseq EPI, centre-out 2D spiral, 2D CSI, spoiled 2D FLASH, Cartesian 3D bSSFP, alternating-frequency spectrally selective 3D bSSFP, and Cartesian or spiral-phyllotaxis radial 3D multi-echo bSSFP sequences, with export to .seq files and reproducing Jupyter notebooks.
  • Spin Probe mode enables the investigation of the behaviour of spectral/spatial spin distributions during sequences.
  • Spectral and dynamic phantom design with spatial peak distributions, pyruvate-to-lactate kinetics, spatial B0 inhomogeneity maps, and optional time-dependent B0 offsets.
  • B1 Transmit Receive design, letting you choose between uniform, 3D birdcage, 3D surface coil B1 fields.
  • A dimension-aware Reconstruction Explorer for interactive 2D/3D k-space and image views, echo/repetition/slice selection, CSI voxel spectra, receive-coil combination, simulated pool comparison, and known-frequency linear IDEAL estimates.

Visualization and analysis and reproducibility

Project files that contain current parameter selection, selected sequence, phantom and B1 can be saved and loaded. The tool has different ways to visualize and export bloch simulations:

Free Mode

The time-resolved bevahiour of spins during and after RF Pulse can be visualized in a multitude of ways, including a 3D vector view, heatmaps, spectral and spatial profiles. Additionally, simulation results can be exported as

Sequence Mode

Loaded and generated sequences can be inspected in a sequence viewer. A 3D phantom design viewer in addition to a 3D B1 design viewer are provided.

  • Experimental export of simulated acquisitions as Bruker raw datasets, including fid and/or rawdata.job0 plus the associated parameter files.
  • Automatically generated Jupyter notebooks using the parameters selected in the GUI.

Get started

Desktop application

Download the standalone application for Windows or macOS from GitHub Releases. This is the recommended option for interactive simulation and requires no Python installation. Windows downloads and Python wheels target 64-bit systems. Was mainly tested on macOS 26.5.2.

As I did not pay for the Apple Developer Program, the app is unlicensed and will be put in quarantine after unzipping and installation upon the first run. How to run it anyways:

Activation on macOS

After downloading the application, move BlochSimulator.app to your Applications folder and launch it. If macOS blocks the first launch:

  1. Dismiss the warning.
  2. Open System Settings > Privacy & Security and scroll to Security.
  3. Find the message that BlochSimulator.app was blocked and click Open Anyway.
  4. Launch BlochSimulator again.

Alternatively, after verifying that you trust the downloaded application, remove its quarantine flag in Terminal:

xattr -cr /Applications/BlochSimulator.app

Python package

Install the full blochsimulator from PyPI including GUI and pulseq skills (recommended):

pip install "blochsimulator[gui,pulseq]"

or

pip install blochsimulator

The package exposes the full simulation API for Python scripts, Jupyter notebooks, and custom analysis pipelines, but no graphical user interface or pulseq skulls

Usage

GUI application

Once installed, launch the GUI from the applications folder or a terminal:

blochsimulator-gui

Jupyter Notebook/ Python API

The bloch simulator can be used in both jupyter notebooks or via python api

Jupyter Notebook

You can launch the interactive GUI directly from a cell in your local Jupyter Notebook. You can also export the selected GUI simulation as a notebook. See the spin-echo reproduction and spin-echo analysis examples.

# Install from PyPI once, if needed
!pip install blochsimulator[gui,pulseq]"

# Launch the GUI
!blochsimulator-gui

This requires Jupyter to run on your local machine; it does not work on a headless remote server or Google Colab.

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()
More Python API examples

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  # Position scale: 10 mm
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'])

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)

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
)

Documentation

For detailed instructions on installation, GUI features, and Python API usage, see the User Guide.

Development

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

Developer setup and manual desktop build

Install from source

The Python package supports Python 3.9 or later. Desktop GUI development and PyInstaller app builds use the shared Python 3.12 runtime declared in .python-version, so the source GUI and packaged app do not silently use different interpreters.

  • Windows: Install Python from python.org and select Add Python to PATH. Install Visual Studio Build Tools with Desktop development with C++.
  • macOS: Install Python from python.org or with brew install python. Install the compiler with xcode-select --install. For optional OpenMP acceleration, install libomp with Homebrew.
  • Linux: Install Python and a compiler with sudo apt install python3 python3-pip build-essential on Ubuntu/Debian, or install the corresponding Python and Development Tools packages on Fedora.

Clone the repository and install it in editable mode:

git clone https://github.com/LucaNagel/bloch_sim_gui.git
cd bloch_sim_gui
pip install -e .

For desktop GUI development, use the shared launcher instead of invoking an arbitrary python or python3 from PATH:

./scripts/run_gui.sh

Both this launcher and scripts/build_pyinstaller.sh use .venv-packaging. The current repository is installed there in editable mode, preventing an old installed BlochSimulator package from shadowing the working tree. Set BLOCH_PYTHON=/path/to/python3.12 if Python 3.12 is not discoverable as python3.12.

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

Build the desktop application

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 operating system is required.

Prerequisites:

  • macOS: Xcode CLT; brew install libomp
  • Windows: Python 3.9+ and MSVC Build Tools for the C extension
  • Linux: gcc/g++; ensure libgomp is available

Quick build:

./scripts/build_pyinstaller.sh

The artifact is written to dist/BlochSimulator as a single binary, with an .exe suffix on Windows.

The equivalent explicit commands use the same environment:

.venv-packaging/bin/python setup.py build_ext --inplace
.venv-packaging/bin/python -m PyInstaller bloch_gui.spec --noconfirm

Run the packaged application with ./dist/BlochSimulator on macOS/Linux or dist\\BlochSimulator.exe on Windows.

Runtime data and exports:

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

Project 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

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 that the .so or .pyd file is in the expected package 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. As of July 2026, the original source is unfortunately unavailable. A Python adaptation of the code is available 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

License

This project is licensed under the GNU General Public License v3.0. You may copy, distribute, and modify the software under the terms of GPLv3. Modified versions distributed to others must also be licensed under GPLv3 and include the corresponding source code.

Contact

Luca Nagel

Download files

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

Source Distribution

blochsimulator-2.6.0.tar.gz (1.3 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

blochsimulator-2.6.0-cp314-cp314-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.14Windows x86-64

blochsimulator-2.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

blochsimulator-2.6.0-cp314-cp314-macosx_14_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

blochsimulator-2.6.0-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

blochsimulator-2.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

blochsimulator-2.6.0-cp313-cp313-macosx_14_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

blochsimulator-2.6.0-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-2.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

blochsimulator-2.6.0-cp312-cp312-macosx_14_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blochsimulator-2.6.0-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-2.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

blochsimulator-2.6.0-cp311-cp311-macosx_14_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blochsimulator-2.6.0-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-2.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

blochsimulator-2.6.0-cp310-cp310-macosx_14_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

blochsimulator-2.6.0-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-2.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

blochsimulator-2.6.0-cp39-cp39-macosx_14_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: blochsimulator-2.6.0.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for blochsimulator-2.6.0.tar.gz
Algorithm Hash digest
SHA256 d855d1242c687b4b4886f60726c6ecf97b900c4e403b474a520ae5a68ddc7a11
MD5 1238aba701f50374eb8dc7e347767b92
BLAKE2b-256 9ee6a9afce8d85946a86b977aea0c0f67bb74192cdc1ae8c141e98c98e011b72

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 db6c4652815b09f1afeec544b48f8f489a29aae46c8a2e10caef61f6cfc6bcb1
MD5 f09bc705c83b5333387863075a6dcf4a
BLAKE2b-256 67b6d91760f0503dbb4d24b046a78a8bce8cfabce417b235fb9904192aa420de

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c4f891292194df25bf702c29457cbc66027d1b25bb927205a8e85e6d6959c71c
MD5 3ecea947d92811cb9abba05264297469
BLAKE2b-256 f7e5738806b497851f59f2e1fe17ba0531894f98eba558fe0aaa7bdc56e9cc74

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 661b8816a02a503e037aab308927eaaf6dc681fcc90b87d1aece6684a739269b
MD5 200f5aafcbbd1a6681a1dd98fd4b3ba8
BLAKE2b-256 f315e98b9e1f6f434ccea09b002045055c303211097cbe6b9bc6e5e5ec1b2172

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d0efabf61a95d923b996eb175912e5c584f4decc096ccb467e0467947f169200
MD5 1a4a38eb01a0e0e564b8b60837eb7c37
BLAKE2b-256 0e4c99eb091bd95e97d24fd35e71e3e26cb04b1db2844a9654795266bdc74be3

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e97f2e447e52ff91f621fc3a47c1f0e89cff620381149f91e4599a9e03ec441c
MD5 cf7bd958b4bf1f3d6f52751215c3cdce
BLAKE2b-256 756c7271b30cbb12f3a4d2bcf38bdb046ca606654de211d3fcef1f4964c3ddf3

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5e88d7d76a01926ed982aaef1355f4542e87cc89c7a9a823b93dceef5693ff60
MD5 b0c0fa30c7fff24340f456363d509328
BLAKE2b-256 8c8c368fdb1a4cc6e4d1c6a7b7d3dfdd5f67a70a3803c9dd9f9160e32f7aa93e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e8d57f32bb410ee5db018695a2764377ca1eb4ed8744b12008c0a65e1710dd27
MD5 02a63e4bcf0bed6db9a1b8467c76e3f9
BLAKE2b-256 b16e4281a58dbc9b44fdbff8ecae36a9832929b9fa224bca5e9c2315fe9a93c7

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 93f008f2f2592918a5ab370de0278782c9537d0b35f570f56ece8cacf0929281
MD5 c59dcebd75edd4fcf0c4d142bd83372f
BLAKE2b-256 ede49f359fa2be26f77c64abcd88e49184df52f52989459fc1d1c31c81e9c35d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 94d9470ec394387f95fcbe19aa5091f17c32ce7e39872a55ee5c97c864d33046
MD5 68537a6e98d0b838b4e7b4926f4ea4c7
BLAKE2b-256 304572250cd2d638826a901f140814e078b3b92b9849cf7a6e485649397db4f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ef7b4ea913866c7649d26679013098a7728d17135e227eb6c93aa2d13ae3bdaa
MD5 5c1868b2508cb68dbaf2087108499940
BLAKE2b-256 f5eda872799284bc780393fad8d17a4c28021e5a1c57a638c1e5a4faaed2777e

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 51c5b61007d82e23f75b36d290907c3383a5f7764c440483e8f636c427d21cbe
MD5 a2d73f9f4e635835d325277048e32138
BLAKE2b-256 ca5013593a904a26b937ab57e68b8ae9ea9c3baf54b8b91908e2cf309fab933c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 584d1afc99bb7e0253f400bafee766b56b57931fe1c5208928716a8e264a5fbe
MD5 56768df66f2fa2c0a84c82c9e1a4d84b
BLAKE2b-256 e2fd9c09077112995ba053ccaa3f75870b4023a017fd2a3534b4480ac68cef89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dedd7331a92e55fefe4b7798b003fd725ca05a5268cbd6444dd23f89f1822d88
MD5 5105bc2847a4adb3a5d0cec1b9914a4f
BLAKE2b-256 3aaec6a4e07a94b7d2a9867bfc1710608e45d652a6eda60aa7be7b96ffe4a4de

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 526f541e25f269f56babc4ff0b2c5b42f92e84d57e69e7edf7e5304da198b892
MD5 dae7821b4202c4962b44c0c7170b47ac
BLAKE2b-256 41065db00d118da4d17c5a31d30107b2effd0ffc1b66e8a5cfd7bff96d02c45c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6578c36639002bdeed0da6540d5066a2e5e1c645005b24fec5e0067b12a0115e
MD5 ce499a27427c97eb82a81f9be4a98ca2
BLAKE2b-256 83b73110b4edea187678a7c69bacf3dfdb6d2afe357b2650da91e74e1363e96e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7df3496d027dc22ab99e3b58cd2c9abc7438f0e0478888e26a49f5f17be563a4
MD5 44f87ff482b89384dc484c4511e51314
BLAKE2b-256 18374662c3060bdb7f0e9f046fb74881ae89cd478de5fd7def4595396ea5abad

See more details on using hashes here.

File details

Details for the file blochsimulator-2.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1564524dbb9c3000cf84e473f2b0dd48de3077fd75bced05639ae1fb4c469c26
MD5 2905f3d73cc897107d384486ab630f6e
BLAKE2b-256 1612f97360ee3ef505a37a20691acee68642ccfdd9be2e50fb837f29ccc9ca1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.6.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cf37e42ee082092e1b2719bdddd35be8c79e5b0e4ed2e14cfa151823561cc347
MD5 e9180f05356ba6038fd96e4f35f904c6
BLAKE2b-256 567610765c7c1cf3dbc00750a0e600fcd20e31dc5a584b3d8e6b95616ca7ea06

See more details on using hashes here.

Release history Release notifications | RSS feed

2.6.4

19 files

2.6.3

19 files

2.6.2

19 files

This release

2.6.0 This release

19 files

2.5.0

19 files

2.4.0

19 files

2.3.0

19 files

2.1.2

19 files

2.1.1

19 files

2.0.0

19 files

1.1.0

21 files

1.0.15

21 files

1.0.13

21 files

1.0.12

21 files

1.0.11

21 files

1.0.10

21 files

1.0.9

21 files

1.0.8

21 files

1.0.7

21 files

1.0.6

30 files

1.0.5

30 files

1.0.4

30 files

1.0.3

30 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page