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.

pip install "blochsimulator[gui,pulseq]"

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:

  • RF + Slice Selection for full 3D excitation volumes immediately after a pulse and its slice gradient, with optional rephasing and direct $|M_{xy}|$, $M_z$, and phase inspection. See RF excitation volumes.
  • Interactive generation of Pulseq bipolar or flyback EPI, centre-out 2D spiral, 2D EPSI/MGE, 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.
  • Spectral-spatial RF design with explicit spatial and frequency target ranges, coupled RF/slice-gradient waveforms, configurable two-dimensional Bloch validation, spatial and spectral profile cuts, and phantom-aware metabolite frequencies. A stable-ID pulse library and ordered cyclic schedule support separate metabolite pulses, per-entry flip-angle or RF amplitude scaling, repetition, reordering, and a coherent cumulative preview. FLASH applies one schedule step per complete image frame by default and preserves schedule definitions and ADC labels through Pulseq export and import. Pulses, schedule, and legacy-single-pulse migration are stored with project files. The native Python flyback method is based on the Larson/Kerr design approach; supported modes, validation scope, differences from the MATLAB reference, citations, and license provenance are documented in Spectral-spatial RF pulse design.
  • 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

Load a saved project

from blochsimulator.project_io import load_project

project = load_project("simulation.blochproj")
phantom = project["phantom"]
result = project["sequence_result"]

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

Metadata

Release files for blochsimulator 2.8.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for blochsimulator 2.8.2
File Size Uploaded
blochsimulator-2.8.2.tar.gz 1.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for blochsimulator 2.8.2
File
blochsimulator-2.8.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
blochsimulator-2.8.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
blochsimulator-2.8.2-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details
blochsimulator-2.8.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
blochsimulator-2.8.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
blochsimulator-2.8.2-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
blochsimulator-2.8.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
blochsimulator-2.8.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
blochsimulator-2.8.2-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
blochsimulator-2.8.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
blochsimulator-2.8.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
blochsimulator-2.8.2-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
blochsimulator-2.8.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
blochsimulator-2.8.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
blochsimulator-2.8.2-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details
blochsimulator-2.8.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
blochsimulator-2.8.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
blochsimulator-2.8.2-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details

Total release size: 50.3 MB

Release files / blochsimulator-2.8.2.tar.gz

Download URL blochsimulator-2.8.2.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
1c05816938f455b8c5f8aaa2df9ea345c7c6912aff230a1620ee60be8f9b3ce4
BLAKE2b-256 checksum
How to use checksums
22534c2babc6a5d6ef25e02c2cb45c6809035f7e83778d51759124419cd56c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp314-cp314-win_amd64.whl

Download URL blochsimulator-2.8.2-cp314-cp314-win_amd64.whl
Size 1.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
971a0a5a0f059078a0c77735afa763e73aad430253780b0cbbd752193fc7cfb6
BLAKE2b-256 checksum
How to use checksums
b9857c6f193773c0b498f3d214da9e42a0f22be52caec8d95382dc9723db76ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.8.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.1 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ebe672319cf95195669172b85e3a7c3e9a225f48df29cac91b8a7c5a10f31796
BLAKE2b-256 checksum
How to use checksums
f6f5f6ca3206dfcfcd0a897bbc414e7b3dbb10dd6cf189a68e69a7756fa5c94a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp314-cp314-macosx_14_0_arm64.whl

Download URL blochsimulator-2.8.2-cp314-cp314-macosx_14_0_arm64.whl
Size 2.2 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
688e6554f6d746f9071bd5615e99999c121b7841dffb214ecfdf52e3e93c55ed
BLAKE2b-256 checksum
How to use checksums
d33c36f5ce14ee2dc8b9eed16172fa7c468499469ed95b9d05b131e229999c3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp313-cp313-win_amd64.whl

Download URL blochsimulator-2.8.2-cp313-cp313-win_amd64.whl
Size 1.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8274758065504c779a4444fcfccd4c9cdd9fc440e1a867f9826f7e6a70a8da92
BLAKE2b-256 checksum
How to use checksums
a434d7c38c80d42cf5c7afe4fc31f70034952db0e07abd41dc564f1f8c95e6c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.8.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ea5a94bd1376c12e2e150322a1e8c72a6ceb45cddab46e4097bd4b8c28169158
BLAKE2b-256 checksum
How to use checksums
afa4cefdd93e35ca6f02f2e4796c5f651c4b96dc5fe660eaabb2f813aab2d894
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp313-cp313-macosx_14_0_arm64.whl

Download URL blochsimulator-2.8.2-cp313-cp313-macosx_14_0_arm64.whl
Size 2.2 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
321276a1aaa56f16b5e8c54c333474e5ea879f41426f2f30322d2a85df4a9af9
BLAKE2b-256 checksum
How to use checksums
486a5f0522799e8fa182f15960c361fa4f22bdaed0a4faa52401feb94e59f38b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp312-cp312-win_amd64.whl

Download URL blochsimulator-2.8.2-cp312-cp312-win_amd64.whl
Size 1.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c3bb90c66fd7022354a3091c4176d400563ea8cc854f508aed330d53631b8793
BLAKE2b-256 checksum
How to use checksums
01fe5f28866cc92435bb723e92d25b07eaf337227e0e21abaecd07422b2372dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.8.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b6904902f69f8389195927d4191af5659a56a72c6476e31e375cd0125e081dee
BLAKE2b-256 checksum
How to use checksums
5605f6f313caee10fa8234791d2991adbd2be06b3fde667321ca258b084f84e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp312-cp312-macosx_14_0_arm64.whl

Download URL blochsimulator-2.8.2-cp312-cp312-macosx_14_0_arm64.whl
Size 2.2 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1caf792fde6cbb340f5493dffd5ae50a53c8711e8cb128a9f1f08bd299df3c52
BLAKE2b-256 checksum
How to use checksums
48337dc448dcdfaa540dfa3cb14e550aa1159f65725b12cf2d7ae32dab462915
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp311-cp311-win_amd64.whl

Download URL blochsimulator-2.8.2-cp311-cp311-win_amd64.whl
Size 1.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b98f773f1a306f224ae78171ca409eb1479414388eceb325fe98026b02bfa66c
BLAKE2b-256 checksum
How to use checksums
55fd5e655fc2c8d254f41dd25003f652f647b963326795a9f4be2c32e29a09c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.8.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.2 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0853b1d6a2ca8daab10c22df22f35fae93a2838cc1c63c4d04fc9fa74df2e4ad
BLAKE2b-256 checksum
How to use checksums
cf6060e60c5eec88e5ca18a744e5cd7515a2ba76c0cf2be7b8dd1665ee17b193
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp311-cp311-macosx_14_0_arm64.whl

Download URL blochsimulator-2.8.2-cp311-cp311-macosx_14_0_arm64.whl
Size 2.2 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
a119692adac481e97d26e08e28b71c0f4ff50cb815fc2d4ab4c3193ac6590bec
BLAKE2b-256 checksum
How to use checksums
ca2b97086831248dda56c2f14aa7d7a0717ebeef06faa3cc0366b8070ade1dcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp310-cp310-win_amd64.whl

Download URL blochsimulator-2.8.2-cp310-cp310-win_amd64.whl
Size 1.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b71f5e39038b8d6bb84d97f75b066f44432b2d0b627e37219a20aa27c8938f8f
BLAKE2b-256 checksum
How to use checksums
9451f734f309896f182ea5b49763357887f4c0241b102b2f2b5963ad5a23bd59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.8.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.1 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
809fa9e77ee117dda0d4479f021c7f56fabe43f020a507accc1287af1a8161af
BLAKE2b-256 checksum
How to use checksums
887c408a4432d57e2bd93f6ae6730112e0f2652b6862b92b9d45173f35804c17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp310-cp310-macosx_14_0_arm64.whl

Download URL blochsimulator-2.8.2-cp310-cp310-macosx_14_0_arm64.whl
Size 2.2 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
a08aca2ae9dba757dd2f09c08f3cf7c229c1f03801704bee108be66420fabac6
BLAKE2b-256 checksum
How to use checksums
3bc162410e63a7632d80633b342a1164900c0803060b9bfd5be0f515124f8413
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp39-cp39-win_amd64.whl

Download URL blochsimulator-2.8.2-cp39-cp39-win_amd64.whl
Size 1.8 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
4aea650fcd0b11431e1175a04e8821384c975d6a834cbd1c2d4773680af8eab8
BLAKE2b-256 checksum
How to use checksums
4e8f20a02aca0d941f67f990e3a6b443d33ac1bfb95ea463e24b958c82dca47d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.8.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.1 MB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f8be47aafb3ba9e9da4ecac58d3b0657b6df3c5619db509a12c9cef8766f9c5f
BLAKE2b-256 checksum
How to use checksums
dbf9ee2177a8bd1950a6d656463590a2e134d035970c12e408a2afb19c32cb30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / blochsimulator-2.8.2-cp39-cp39-macosx_14_0_arm64.whl

Download URL blochsimulator-2.8.2-cp39-cp39-macosx_14_0_arm64.whl
Size 2.2 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
44b66f5e410439b6441d2b0081b261253eec041f7d9b57b5b76aa5605d97a2c0
BLAKE2b-256 checksum
How to use checksums
06ca921277ff486de0bbbfada80d4bbb07ed444eedc6f1a9bc07f1ba5ea5cd47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
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