Skip to main content

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

Demo

Sequence mode

Sequence workspace

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

Demonstration of a spin-echo simulation.

Features

Simulation and sequence design

  • Fast C-based Bloch solver with parallel processing support.
  • Endpoint and full time-resolved simulations over multiple spatial positions and off-resonance frequencies.
  • Configurable tissue properties including T1, T2, proton density, and initial magnetization.
  • RF pulse design for rectangular, sinc, Gaussian, adiabatic half/full passage, and BIR-4 pulses, including phase and carrier-frequency offsets.
  • Sequence support for FID, spin echo, gradient echo, inversion recovery, slice-selective excitation, EPI, and SSFP.
  • Dedicated event-based Sequence mode for loading and simulating Pulseq .seq files.
  • Interactive generation of Pulseq EPI, centre-out 2D spiral, 2D CSI, and 3D bSSFP sequences, with export to .seq files and reproducing Jupyter notebooks.
  • Spectral and dynamic phantom design with spatial peak distributions, pyruvate-to-lactate kinetics, spatial B0 inhomogeneity maps, and optional time-dependent B0 offsets.
  • Hardware-aware RAM protection for large simulation grids.

Visualization and analysis

  • Live magnetization, signal, spectrum, spatial-profile, heatmap, and 3D-vector views.
  • Synchronized time controls and animation for time-resolved results.
  • Sequence timeline, ADC signal, CSI spectrum, k-space, reconstruction, final state, spatial magnetization, and spin-probe views.
  • Named dimensions and metadata through direct xarray.Dataset conversion.
  • Static figures (.png, .svg) and animations (.mp4, .gif).

Export and reproducibility

  • Numerical results in Python-compatible NumPy and HDF5 formats.
  • Sequence results as xarray.Dataset objects or NetCDF (.nc) files with named acquisition, spatial, spectral, dynamic, and pool dimensions.
  • 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.
  • Parameter sweeps with final-state or full time-resolved result collection.

Jupyter notebook export

The desktop app creates notebooks that match the selected tissue, sequence, RF, spatial, frequency, and simulation parameters.

Export mode Purpose Spin-echo example
Reproduction Embeds the selected parameters and re-runs the complete simulation from scratch. Open reproduction notebook
Analysis Loads exported results and prepares numpy, matplotlib, and xarray analyses without re-running the solver. Open analysis notebook

The analysis example uses the accompanying spin-echo result data. The GUI exports the matching data file together with the analysis workflow.

Parameter sweeps

The Parameter Sweep panel iterates over a parameter range and runs one simulation per step. Sweeps can vary flip angle, TE, TR, TI, B1 scaling or amplitude, T1, T2, spin-offset center, and RF-carrier offset. Results can be compared directly, exported, and opened in an automatically generated sweep-analysis notebook.

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.

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 blochsimulator from PyPI:

pip install blochsimulator

The package exposes the full simulation API for Python scripts, Jupyter notebooks, and custom analysis pipelines.

Online GUI

Use the browser-based GUI without installation. It provides interactive RF-pulse and slice-selection simulations; the desktop application and Python package provide the complete feature set.

Sequence mode

The Sequence Simulation workspace provides an event-based workflow for complete Pulseq acquisitions. It keeps RF, gradient, ADC, and label timing from the sequence and runs the acquisition on a spatial, spectral, or dynamic phantom without expanding the full sequence into a permanently stored dense waveform.

Pulseq import and dynamic sequence generation

  • Load Pulseq .seq files and inspect their RF, gradient, and ADC timeline before simulation.
  • Simulate imported Pulseq sequences directly on 1D, 2D, or 3D phantoms.
  • Configure Cartesian EPI or spiral readouts, including multi-slice gap and spacing and configurable Sinc, SLR, block, or RF-Designer excitation pulses, plus 2D CSI and 3D bSSFP acquisitions interactively. The generated sequence is updated from the current acquisition parameters and can be exported as a Pulseq .seq file, a reproducing Jupyter notebook, or both.
  • Use millimeters consistently for MRI geometry controls such as FOV, slice thickness, slice gap, and spatial probe positions; simulations and exports continue to use SI meters internally.
  • Preserve Pulseq acquisition labels for ordered repetitions, echoes, slices, segments, and partitions in the result metadata.

When installing the Python package, enable Pulseq and GUI support with:

pip install "blochsimulator[gui,pulseq]"

The standalone desktop application already bundles the dependencies required for the Sequence mode.

Spectral and dynamic phantom designer

The Phantom Designer creates multi-shape phantoms from boxes and ellipsoids and assigns spatially resolved spectral peaks and relaxation properties to them. It supports per-shape B0 offsets as well as analytic linear or radial B0 inhomogeneity maps.

Dynamic phantoms extend the same design with a hyperpolarized pyruvate-to-lactate model. Pool-specific initial magnetization and relaxation, spatial kPL regions, tabulated pyruvate inflow, and a time-dependent B0 offset can be configured in the Kinetics / kPL tab. Total and pool-resolved signals and magnetization remain available after simulation.

Results and export

Sequence simulations retain the chronological ADC signal, k-space coordinates, acquisition labels, final magnetization, and optional checkpoints. Cartesian and spectroscopic acquisitions additionally provide ready-to-use k-space, reconstruction, FID, and spectrum arrays where applicable.

Use SequenceSimulationResult.to_xarray() for an in-memory xarray.Dataset, or export from Export results…. The default export writes both a NetCDF dataset and an analysis notebook; NetCDF-only, HDF5, and NumPy archives are also available.

The Bruker raw dataset export is experimental. It writes simulated complex ADC data as fid, rawdata.job0, or both, together with Bruker-style acqp, method, visu_pars, and pulseprogram files. Export metadata should be reviewed before using these datasets in scanner-specific reconstruction pipelines.

Usage

GUI application

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

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

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

# 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.

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()
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.

Theory

The simulator solves the Bloch equations:

$$ \frac{d\mathbf{M}}{dt}

\gamma\left(\mathbf{M}\times\mathbf{B}\right) -\frac{M_x}{T_2},\hat{\mathbf{x}} -\frac{M_y}{T_2},\hat{\mathbf{y}} -\frac{M_z-M_0}{T_1},\hat{\mathbf{z}} $$

Using:

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

Development

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

Developer setup and manual desktop build

Install from source

To run from source, you need Python 3.9 or later and a C compiler.

  • 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 .

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:

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

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

Alternatively, use the build helper:

./scripts/build_pyinstaller.sh

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.0.0.tar.gz (974.9 kB view details)

Uploaded Source

Built Distributions

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

blochsimulator-2.0.0-cp314-cp314-win_amd64.whl (880.2 kB view details)

Uploaded CPython 3.14Windows x86-64

blochsimulator-2.0.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

blochsimulator-2.0.0-cp314-cp314-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

blochsimulator-2.0.0-cp313-cp313-win_amd64.whl (871.7 kB view details)

Uploaded CPython 3.13Windows x86-64

blochsimulator-2.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

blochsimulator-2.0.0-cp313-cp313-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

blochsimulator-2.0.0-cp312-cp312-win_amd64.whl (873.8 kB view details)

Uploaded CPython 3.12Windows x86-64

blochsimulator-2.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

blochsimulator-2.0.0-cp312-cp312-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

blochsimulator-2.0.0-cp311-cp311-win_amd64.whl (876.3 kB view details)

Uploaded CPython 3.11Windows x86-64

blochsimulator-2.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

blochsimulator-2.0.0-cp311-cp311-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

blochsimulator-2.0.0-cp310-cp310-win_amd64.whl (875.0 kB view details)

Uploaded CPython 3.10Windows x86-64

blochsimulator-2.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

blochsimulator-2.0.0-cp310-cp310-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

blochsimulator-2.0.0-cp39-cp39-win_amd64.whl (876.3 kB view details)

Uploaded CPython 3.9Windows x86-64

blochsimulator-2.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

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

blochsimulator-2.0.0-cp39-cp39-macosx_14_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for blochsimulator-2.0.0.tar.gz
Algorithm Hash digest
SHA256 55913797da72ebc0ce2828b36a55c472a8c1f43edd85ba2e1301a91c3ef95012
MD5 e3681828067e07f86fdf3d62714ae5f9
BLAKE2b-256 7431f8907f8549b6a6d725e0d0a1fd26e5884a88a66a21fd46fe09ac96400b47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f55ee0722a9a7c7536f4f16bfa2d93889f02c64b8a730a66ab46bb44742234a9
MD5 8bbfcf805bf832b5b4e908a13d6c0e46
BLAKE2b-256 6cf7a4509048dc256dc44ae374deb8335be2846b9294111265a3b5b6d1a2fe51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47259bef97a32a82aedab3210f74ea350e4857b3780f830d19a25722ac39e099
MD5 9ed52e0c792958dc8eb2ce801e4834e9
BLAKE2b-256 8c0969c238a857c22a30352353801e4a7fb01e9de11517e450640a0e51a96033

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2e376cd26d9cd38534e56de2d4da260d0ce4af1aafa643b0c03ef23139643852
MD5 f98364fb3b224f9055a7f2911c03dda9
BLAKE2b-256 c48fb7bb75332fc146d1f9639a85f8d5c608898068804a814646d1027ca8fe25

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8a18bce29fa1358357d982f7e6811e81b07d81155810d4dc61f1a49bf86e3200
MD5 0ce6452c0a04436e4fb7db921c62c1ee
BLAKE2b-256 7e974389f4d40c1ba51e59e003a1360074f3353e75f490a4313bb914e3c4bc39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9cc89eb23892dbf65de4d704be56fd7cdc708c33c5bad2b55f0fa640a848c09d
MD5 f5c0af04c7a270e08b4f088f1b93ff3f
BLAKE2b-256 fcbd7c8d2b23fac731921b620d92df1888e6ec4394737868233f2fcb7722d138

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4b4e1453ab49db19f352f0eb978606c7f5c5f129afacbc43ea66c3ad3bf3d2ee
MD5 12cb28de4a45ee449e89b797fa294d7c
BLAKE2b-256 89e6b4fddc62b8922c99a285a9113b80ba1dc6f9e62bce8d438e3aebc8504ccf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bb5242488f87f582c0a1f5e1bdb3db7299167f76ed0db18f3cc74b4e162c8ded
MD5 e94f951f94e4c53e795ca3a809b8bd5e
BLAKE2b-256 0deec5cb9f985fde869e220d45d704ab49b295ef42168bb89815fa6514d4fead

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 084857bcd454e011a9b4d594de6cf8bbbd4db0acd4b6310d70d6be0b3f4befbf
MD5 68964761b94966ff23baa9071de6b6d0
BLAKE2b-256 0a52a6e148c59c280c64dad1a1970e528259d04b963b2286f66107b3cf8bc87c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a823fbee9d32781963826d94c2a54b601acaf993cf8252a6ed84654a78e8f35c
MD5 1bffb7e5c246b6ce8d716acffd1ab3ea
BLAKE2b-256 265018ef5d59cfc90bb2dedc710d1fee315b6ba70105c54de91f7f8b8ad1a045

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 98dda0ede058fc027a200ccbed4d8bf342fcd0c3f3ec0e0da4c25ac4c9bbccdf
MD5 70ba351ea2c89b05516d161012e67e95
BLAKE2b-256 42de48e7286a060c401bd361372f1630d154ce47fa530e650e765aef4c5e79c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a5ee38e2a7307e98f5767b55dfb29b749957002f3e8660c560372ac4c530937b
MD5 40d07f4cb9112f4f66b1ec80aa024165
BLAKE2b-256 92551bc7951b5b35b05c564da0fe0f16dc5017391476e0811218cb0536dd6fe4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e927ebb8ddbd9b5ea721f904d934599b1c73b1f708a94be64ed7d9ad15bdf394
MD5 caa79d1751b03ba999ddb2f06b7171a8
BLAKE2b-256 b2578b5a59763b968d1097fd487fe75e05534b2444687d8a656dd37d6f30d8a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5397aa335e96ab246f033a8921b909a3257d1682a44a01024265577f8895dd30
MD5 171631dde6cfffd3a073dfd4c39a7ccb
BLAKE2b-256 0bd8323dab2474fb04c05306c0546d9aa6fc1c60885708735438ed023c526e7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 570c1edf2d84906314d3846e7709210988abb1ac001cc30cd817d203be8eccd1
MD5 d0ec8255faf3aa2bbcba28bca3acdd77
BLAKE2b-256 c9be6cc2e41eda7fcd500a3e53c4a7dfcb9ec536e044977b43253901d39bc1e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 df8184a959fcc4591573e4a50de6a7d68921c18fdc29050b740f09be8d778d15
MD5 a3d19f5d7366d15817632bb701472fad
BLAKE2b-256 92f8638c08d45f77c05b6bd693da1c367e89c225bd966b0eb1bbb6254db5d30a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9c464740d8ccca1f4fac005525be1ec5a432063cdc8c885a6bc86df0f864ef87
MD5 3fcb5cf098e58a1b2eda7bb86e8d2f91
BLAKE2b-256 4d2035ae3b538e2f2d700783c67df1671fda0ec9b24f396c570d62ca63ea50c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 df16752ba5f2e43ba5f41af7ecb7661ef1bba26c4471ae7dd022e7ac90a318f5
MD5 ec8c146d26f0e65eda6da79da8d45f40
BLAKE2b-256 b3bf67b0b66107057a89c9db374a4099b85bfd9dcc30aaa1c78419f1cd9ef526

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blochsimulator-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a49dd9d7743e71c87ae0bed9ceaf97c431978d4863c9a576d2f0f94684cbbb57
MD5 89fb5a3985791656011a6164f67fe394
BLAKE2b-256 81772c3c1020a0f4e27656a8fdc063a92441a5c512c94ade5babd5542d6bb1b8

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

2.6.0

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

This release

2.0.0 This release

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