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
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
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
.seqfiles. - Interactive generation of Pulseq EPI, centre-out 2D spiral, 2D CSI, and 3D
bSSFP sequences, with export to
.seqfiles 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.Datasetconversion. - Static figures (
.png,.svg) and animations (.mp4,.gif).
Export and reproducibility
- Numerical results in Python-compatible NumPy and HDF5 formats.
- Sequence results as
xarray.Datasetobjects or NetCDF (.nc) files with named acquisition, spatial, spectral, dynamic, and pool dimensions. - Experimental export of simulated acquisitions as Bruker raw datasets,
including
fidand/orrawdata.job0plus 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:
- Dismiss the warning.
- Open System Settings > Privacy & Security and scroll to Security.
- Find the message that
BlochSimulator.appwas blocked and click Open Anyway. - 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
.seqfiles 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
.seqfile, 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 withxcode-select --install. For optional OpenMP acceleration, installlibompwith Homebrew. - Linux: Install Python and a compiler with
sudo apt install python3 python3-pip build-essentialon 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
libgompis 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
- macOS:
- Override the location with
BLOCH_APP_DIRorBLOCH_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
- Missing compiler: Install gcc (Linux), Xcode (macOS), or Visual Studio (Windows).
- OpenMP not found: The code will still work, but without parallelization.
- Import error: Ensure that the
.soor.pydfile is in the expected package directory.
Contributing
Contributions are welcome. Please:
- Fork the repository.
- Create a feature branch.
- Add tests for new features.
- 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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55913797da72ebc0ce2828b36a55c472a8c1f43edd85ba2e1301a91c3ef95012
|
|
| MD5 |
e3681828067e07f86fdf3d62714ae5f9
|
|
| BLAKE2b-256 |
7431f8907f8549b6a6d725e0d0a1fd26e5884a88a66a21fd46fe09ac96400b47
|
File details
Details for the file blochsimulator-2.0.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 880.2 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f55ee0722a9a7c7536f4f16bfa2d93889f02c64b8a730a66ab46bb44742234a9
|
|
| MD5 |
8bbfcf805bf832b5b4e908a13d6c0e46
|
|
| BLAKE2b-256 |
6cf7a4509048dc256dc44ae374deb8335be2846b9294111265a3b5b6d1a2fe51
|
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
- Download URL: blochsimulator-2.0.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47259bef97a32a82aedab3210f74ea350e4857b3780f830d19a25722ac39e099
|
|
| MD5 |
9ed52e0c792958dc8eb2ce801e4834e9
|
|
| BLAKE2b-256 |
8c0969c238a857c22a30352353801e4a7fb01e9de11517e450640a0e51a96033
|
File details
Details for the file blochsimulator-2.0.0-cp314-cp314-macosx_14_0_arm64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp314-cp314-macosx_14_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.14, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e376cd26d9cd38534e56de2d4da260d0ce4af1aafa643b0c03ef23139643852
|
|
| MD5 |
f98364fb3b224f9055a7f2911c03dda9
|
|
| BLAKE2b-256 |
c48fb7bb75332fc146d1f9639a85f8d5c608898068804a814646d1027ca8fe25
|
File details
Details for the file blochsimulator-2.0.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 871.7 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a18bce29fa1358357d982f7e6811e81b07d81155810d4dc61f1a49bf86e3200
|
|
| MD5 |
0ce6452c0a04436e4fb7db921c62c1ee
|
|
| BLAKE2b-256 |
7e974389f4d40c1ba51e59e003a1360074f3353e75f490a4313bb914e3c4bc39
|
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
- Download URL: blochsimulator-2.0.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cc89eb23892dbf65de4d704be56fd7cdc708c33c5bad2b55f0fa640a848c09d
|
|
| MD5 |
f5c0af04c7a270e08b4f088f1b93ff3f
|
|
| BLAKE2b-256 |
fcbd7c8d2b23fac731921b620d92df1888e6ec4394737868233f2fcb7722d138
|
File details
Details for the file blochsimulator-2.0.0-cp313-cp313-macosx_14_0_arm64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b4e1453ab49db19f352f0eb978606c7f5c5f129afacbc43ea66c3ad3bf3d2ee
|
|
| MD5 |
12cb28de4a45ee449e89b797fa294d7c
|
|
| BLAKE2b-256 |
89e6b4fddc62b8922c99a285a9113b80ba1dc6f9e62bce8d438e3aebc8504ccf
|
File details
Details for the file blochsimulator-2.0.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 873.8 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb5242488f87f582c0a1f5e1bdb3db7299167f76ed0db18f3cc74b4e162c8ded
|
|
| MD5 |
e94f951f94e4c53e795ca3a809b8bd5e
|
|
| BLAKE2b-256 |
0deec5cb9f985fde869e220d45d704ab49b295ef42168bb89815fa6514d4fead
|
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
- Download URL: blochsimulator-2.0.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
084857bcd454e011a9b4d594de6cf8bbbd4db0acd4b6310d70d6be0b3f4befbf
|
|
| MD5 |
68964761b94966ff23baa9071de6b6d0
|
|
| BLAKE2b-256 |
0a52a6e148c59c280c64dad1a1970e528259d04b963b2286f66107b3cf8bc87c
|
File details
Details for the file blochsimulator-2.0.0-cp312-cp312-macosx_14_0_arm64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a823fbee9d32781963826d94c2a54b601acaf993cf8252a6ed84654a78e8f35c
|
|
| MD5 |
1bffb7e5c246b6ce8d716acffd1ab3ea
|
|
| BLAKE2b-256 |
265018ef5d59cfc90bb2dedc710d1fee315b6ba70105c54de91f7f8b8ad1a045
|
File details
Details for the file blochsimulator-2.0.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 876.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98dda0ede058fc027a200ccbed4d8bf342fcd0c3f3ec0e0da4c25ac4c9bbccdf
|
|
| MD5 |
70ba351ea2c89b05516d161012e67e95
|
|
| BLAKE2b-256 |
42de48e7286a060c401bd361372f1630d154ce47fa530e650e765aef4c5e79c9
|
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
- Download URL: blochsimulator-2.0.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5ee38e2a7307e98f5767b55dfb29b749957002f3e8660c560372ac4c530937b
|
|
| MD5 |
40d07f4cb9112f4f66b1ec80aa024165
|
|
| BLAKE2b-256 |
92551bc7951b5b35b05c564da0fe0f16dc5017391476e0811218cb0536dd6fe4
|
File details
Details for the file blochsimulator-2.0.0-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e927ebb8ddbd9b5ea721f904d934599b1c73b1f708a94be64ed7d9ad15bdf394
|
|
| MD5 |
caa79d1751b03ba999ddb2f06b7171a8
|
|
| BLAKE2b-256 |
b2578b5a59763b968d1097fd487fe75e05534b2444687d8a656dd37d6f30d8a7
|
File details
Details for the file blochsimulator-2.0.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 875.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5397aa335e96ab246f033a8921b909a3257d1682a44a01024265577f8895dd30
|
|
| MD5 |
171631dde6cfffd3a073dfd4c39a7ccb
|
|
| BLAKE2b-256 |
0bd8323dab2474fb04c05306c0546d9aa6fc1c60885708735438ed023c526e7d
|
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
- Download URL: blochsimulator-2.0.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
570c1edf2d84906314d3846e7709210988abb1ac001cc30cd817d203be8eccd1
|
|
| MD5 |
d0ec8255faf3aa2bbcba28bca3acdd77
|
|
| BLAKE2b-256 |
c9be6cc2e41eda7fcd500a3e53c4a7dfcb9ec536e044977b43253901d39bc1e5
|
File details
Details for the file blochsimulator-2.0.0-cp310-cp310-macosx_14_0_arm64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df8184a959fcc4591573e4a50de6a7d68921c18fdc29050b740f09be8d778d15
|
|
| MD5 |
a3d19f5d7366d15817632bb701472fad
|
|
| BLAKE2b-256 |
92f8638c08d45f77c05b6bd693da1c367e89c225bd966b0eb1bbb6254db5d30a
|
File details
Details for the file blochsimulator-2.0.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 876.3 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c464740d8ccca1f4fac005525be1ec5a432063cdc8c885a6bc86df0f864ef87
|
|
| MD5 |
3fcb5cf098e58a1b2eda7bb86e8d2f91
|
|
| BLAKE2b-256 |
4d2035ae3b538e2f2d700783c67df1671fda0ec9b24f396c570d62ca63ea50c4
|
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
- Download URL: blochsimulator-2.0.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.0 MB
- Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df16752ba5f2e43ba5f41af7ecb7661ef1bba26c4471ae7dd022e7ac90a318f5
|
|
| MD5 |
ec8c146d26f0e65eda6da79da8d45f40
|
|
| BLAKE2b-256 |
b3bf67b0b66107057a89c9db374a4099b85bfd9dcc30aaa1c78419f1cd9ef526
|
File details
Details for the file blochsimulator-2.0.0-cp39-cp39-macosx_14_0_arm64.whl.
File metadata
- Download URL: blochsimulator-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
- Upload date:
- Size: 1.1 MB
- Tags: CPython 3.9, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a49dd9d7743e71c87ae0bed9ceaf97c431978d4863c9a576d2f0f94684cbbb57
|
|
| MD5 |
89fb5a3985791656011a6164f67fe394
|
|
| BLAKE2b-256 |
81772c3c1020a0f4e27656a8fdc063a92441a5c512c94ade5babd5542d6bb1b8
|