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.

Download:

pip install "blochsimulator[gui,pulseq]"

or already built on GitHub Releases

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

Documentation

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

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
)

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

Conda environment for notebooks and the Python API

From the repository root, create an environment with an explicit Python version:

conda create -n bloch-simulator python=3.12 pip
conda activate bloch-simulator
python -m pip install "ipykernel==7.4.0" ".[gui,pulseq]"

Python 3.12 matches the project's desktop development runtime and supports ipykernel 7.4.0. Select this environment as the kernel in your notebook editor.

Pip installs h5py automatically because it is declared in pyproject.toml. If no compatible pre-built wheel is available, pip attempts a source build, which needs a separately installed HDF5 library. To use Conda's pre-built h5py package and its HDF5 dependency, optionally add h5py to the conda create command before running pip. See the Conda setup notes for details.

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
  • xarray team
  • 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.9.0

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.9.0
File Size Uploaded Provenance Actions
blochsimulator-2.9.0.tar.gz 1.9 MB Without provenance Details for blochsimulator-2.9.0.tar.gz

Built distributions (wheels)

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

Total release size: 52.6 MB

Release files / blochsimulator-2.9.0.tar.gz

Download URL blochsimulator-2.9.0.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
1e963e7d2121838dd5a0b3aaddc4ec6f4c4ed8d5296ff4854e67e1428d85baf5
BLAKE2b-256 checksum
How to use checksums
4d455a16179d7ea0dbb91eac63d9b3c0fa0c9ae319dfd6a5d9113755373e7dd8
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.9.0-cp314-cp314-win_amd64.whl

Download URL blochsimulator-2.9.0-cp314-cp314-win_amd64.whl
Size 1.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
37999fba798d7af6da969618178a7df7b6de26d3c154173cea2d687786b1a541
BLAKE2b-256 checksum
How to use checksums
ecae65ad48cf081b0b18d8922171e2b85af5d0205f54b5dd001da4ca1cc1bc86
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.9.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.9.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.4 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
45474f4223420951d8628dc21dcc3c34405b0269fcb6a181df13698b081d8893
BLAKE2b-256 checksum
How to use checksums
22f66371471e26eda2b8954235be6664a559d03782d66f952b61e2aab6d238b5
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.9.0-cp314-cp314-macosx_14_0_arm64.whl

Download URL blochsimulator-2.9.0-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
54796cc57c2520b3dd642943115e11df57dc4ef5a08d70f7db7c47e2f1d3b03f
BLAKE2b-256 checksum
How to use checksums
ec75cbbffc61f9c788470ea6c62b77dfc328807a5b8f45fb7faeb39165bc1cfe
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.9.0-cp313-cp313-win_amd64.whl

Download URL blochsimulator-2.9.0-cp313-cp313-win_amd64.whl
Size 1.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b787286bea85c863f44c4dfdeed72abb58c663ec2b3220a012ba362b82d63cc8
BLAKE2b-256 checksum
How to use checksums
b1a727e806ef06998f6064d58f049afba75a1e9b296ab1b4f078fd4d0e09ec65
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.9.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.9.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.4 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a8cdb421e19411098d702094a401c766c7d86658b33b978e9db12509b9819430
BLAKE2b-256 checksum
How to use checksums
5bd4fe6e57d2e01ecbd62e7631de7b9da28ef4789c43aad8571609a064a0df1a
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.9.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL blochsimulator-2.9.0-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
70ac613515cdba57eb93c2801fe6c31ff0e6dedff4eab7ef9c337d594c978a81
BLAKE2b-256 checksum
How to use checksums
16a51a95bb5c1f1b054ed634942636569d7e3f917735cd1008e6627856fd3d38
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.9.0-cp312-cp312-win_amd64.whl

Download URL blochsimulator-2.9.0-cp312-cp312-win_amd64.whl
Size 1.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f2faca876dac26de11a15a0f7bc03d27e858f49dbb7618de72dd47c6805a564e
BLAKE2b-256 checksum
How to use checksums
8b04f6d15fcf4ea164fad2fa394ee4c9340e4400b311406057300c8f33a1af79
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.9.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.9.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
29f9f39d34c27373bcda8a01e625023dd3a42cc08b27bc72950e51c209b6d809
BLAKE2b-256 checksum
How to use checksums
ebf7bdaa133e979095e617563c17f970b58d3899a86ef8ea5b849c7f5d291074
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.9.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL blochsimulator-2.9.0-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
6523727435eed88b1eb3442f2e33729ebf8518c874a2b37b57d319ee7cbeb834
BLAKE2b-256 checksum
How to use checksums
a7abfccfb572a5e553179e1fe654f92d33aee10e014bbb5ed75e44522de90cf2
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.9.0-cp311-cp311-win_amd64.whl

Download URL blochsimulator-2.9.0-cp311-cp311-win_amd64.whl
Size 1.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ad48f57484216733efb9bf26cae28c60f20ec4f0710df7d4a40d56edc4f3ca4a
BLAKE2b-256 checksum
How to use checksums
f1ab5c6643c3d778fcb21dfc2fdf6f529f3da5c9ce5a9092358985daa35b220e
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.9.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.9.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.4 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0fa6df1624653f89ac3e16d2e3c4bffe6b0396091428cc2ef1dae669728655fa
BLAKE2b-256 checksum
How to use checksums
1f436a3a785e5894df6994d35a24680ebfe6a3a1029f83f6ee3d36a18f537655
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.9.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL blochsimulator-2.9.0-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
035f138e100f0fdf408e56fa4c1656b3335eacb848d77452e580f4b21ca211f4
BLAKE2b-256 checksum
How to use checksums
c0d54b8438be38ea523a1238d470d9f38af44528b9d150cc71a86538fdba4ced
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.9.0-cp310-cp310-win_amd64.whl

Download URL blochsimulator-2.9.0-cp310-cp310-win_amd64.whl
Size 1.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
7539b08ba8c8d4c86ae14e4c817f8b3de5374287583a64f28d268efb14a8a944
BLAKE2b-256 checksum
How to use checksums
5e39770832de0e76df8786e52976bf207a43a31e9b1489148681206f0ebca8d3
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.9.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.9.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.3 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a130659c4b76902bfe55875b4971de6d027be88ccd9d2f7c6c82b5c23cf1f333
BLAKE2b-256 checksum
How to use checksums
4eecbd7d08da38adb247a4728b2a2331eacb2fcce2b09ca7ac5712415453058c
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.9.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL blochsimulator-2.9.0-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
63d04ce82640b7d6148565b05949aa7cf5861cdff8b49e08f46d4a6adaf5dad4
BLAKE2b-256 checksum
How to use checksums
fa7eba5cd38c1d2ac58c6ab57a67660f209ac8baa3b7b6fb75858f3518de28d9
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.9.0-cp39-cp39-win_amd64.whl

Download URL blochsimulator-2.9.0-cp39-cp39-win_amd64.whl
Size 1.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
836a42187bb511464cb064ea2260792267fe31601177c28ea00cb2eeab4b634f
BLAKE2b-256 checksum
How to use checksums
e7f14147e93b0da5917f921561456f805babfbf302711384117688a7e9a65e65
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.9.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL blochsimulator-2.9.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 4.3 MB
Tags CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b8729ba09ffc35c8f198dc0a4640632dda62c1d97c3a3d18e491bf21d7d5fb58
BLAKE2b-256 checksum
How to use checksums
21192c727d931b2ed45c4f7aa3ebd8ea7497d8dc2404f0a2a81dc4d8ba898201
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.9.0-cp39-cp39-macosx_14_0_arm64.whl

Download URL blochsimulator-2.9.0-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
42078f95948963959ce2b4c69476bd1a581bbc00aea613546101f82241b4c0c8
BLAKE2b-256 checksum
How to use checksums
961fa4f483653e1cb737e90bb63311507c053eefe47bc2800aaca37553a35d1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for blochsimulator 2.9.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.9.0 This release

19 release files No provenance

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