Skip to main content

ompMC

Build Docs codecov License: GPL v3

C Python 3.9+ MATLAB

Windows Linux macOS

The original repository is edoerner/ompMC by Edgardo Doerner. This repository is a fork under further development, aimed at integration into the treatment planning toolkits matRad (e0404/matRad) and pyRadPlan (e0404/pyRadPlan).

ompMC is an OpenMP-parallelized, CPU-based Monte Carlo code for coupled photon–electron transport in voxelized geometries. Its physics is a C re-implementation of the EGSnrc condensed-history transport algorithms, restricted to the interactions that matter for megavoltage photon beams, and specialized for the one geometry a treatment planning system needs: a rectilinear dose grid of user-defined materials and densities.

The point of the code is beamlet-based Monte Carlo treatment planning. Rather than producing a single dose distribution, the omc_matrad user code transports histories for many beamlets in one run and returns the dose-influence matrix (Dij) — one sparse column per beamlet — that an optimizer needs for fluence-map optimization. Dose is scored per beamlet and per batch, so a matching variance matrix comes out alongside it. Everything runs on ordinary multi-core CPUs; no GPU, no cluster, no external EGSnrc installation.

Citing ompMC

If you use this code, please cite the work it is based on:

  • E. Doerner and P. Caprile, Technical Note: Parallel implementation of the EGSnrc Monte Carlo simulation of ionizing radiation transport using OpenMP, Medical Physics 44(12), 6672–6677 (2017). doi:10.1002/mp.12642

  • E. Doerner and P. Caprile, Technical Note: An hybrid parallel implementation for EGSnrc Monte Carlo user codes, Medical Physics 45(8), 3969–3973 (2018). doi:10.1002/mp.13033

  • E. Doerner, C. Rebolledo and V. Gomez, Monte Carlo modelling of photon transport using Heterogeneous Computing, Journal of Physics: Conference Series 1043, 012062 (2018). doi:10.1088/1742-6596/1043/1/012062

User codes

Target Kind What it does
omc_dosxyz command line binary DOSXYZnrc-style standalone dose calculation on an .egsphant phantom, driven by a plain-text input file. Writes a .3ddose file.
omc_matrad MATLAB / Octave MEX file Dose for matRad. Takes density and material cubes, geometry, source and option structs, and returns either a sparse beamlet dose-influence matrix dij or, with mcOpt.mode = 'forward_beamlet', the dense dose cube of one weighted field. The same source builds against MATLAB (.mexw64/.mexa64/…) and GNU Octave (.mex); see BUILDING.md.

Both link against ompmc_core, the transport library built from src/:

  • src/ompmc.c — physics: media and PEGS4 data, photon and electron transport, Compton, Rayleigh, pair/triplet, photoelectric, Møller, Bhabha, bremsstrahlung, annihilation, multiple scattering
  • src/omc_random.c — random number generation
  • src/omc_score.c — dose and variance scoring
  • src/omc_utilities.c — input-file parsing and small helpers

Building

See BUILDING.md for the full story — CMake options, how the MATLAB installation is located, and the platform-specific handling of the OpenMP runtime inside a MEX file (which is genuinely fiddly on macOS).

The short version:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release --parallel

CMake 3.20+ is required. OpenMP and MATLAB are both optional: without OpenMP the build falls back to serial execution with a warning, and without MATLAB the MEX target is simply skipped. The configure step prints a summary of what was found.

Running omc_dosxyz

-i takes the input file path without the .inp extension; paths inside the input file are resolved relative to the current working directory. From the repository root:

./build/bin/omc_dosxyz -i ucodes/omc_dosxyz/smoke_test -o smoke_test

writes output/smoke_test.3ddose. ucodes/omc_dosxyz/input_file.inp is the fuller example, meant to be run from ucodes/omc_dosxyz/.

Input files are grouped into sections of key = value lines:

# start source definition
mono energy = 20.0
spectrum file = ./../../spectra/mohan6.spectrum
charge = 0
collimator bounds = -2.5 2.5 -2.5 2.5
ssd = 90.0
# end source definition

# start MC control
ncase  = 100000
nbatch = 10
rng seeds = 97 33
# stop MC control

# start geometry
method of input = phantom
phantom file = ./../../phantoms/WATER.egsphant
# stop geometry

# start MC transport
global ecut = 0.521
global pcut = 0.010
pegs file = ./../../pegs4/521icru.pegs4dat
pgs4form file = ./../../pegs4/pgs4form.dat
# stop MC transport

# start VRT
nsplit = 20
# stop VRT

# start ompMC environment
data folder = ./../../data/
output folder = ./../../output/
# stop ompMC environment

Using omc_matrad from MATLAB

addpath('build/bin');
[dij, dijVar] = omc_matrad(cubeRho, cubeMatIx, mcGeo, mcSrc, mcOpt);
  • cubeRho — 3D double cube of mass densities
  • cubeMatIx — 3D int32 cube of material indices into mcGeo.material
  • mcGeo — dose grid: material, xBounds, yBounds, zBounds
  • mcSrc — beamlet source: nBixels, iBeam, source position and, per beamlet, the corner and two edge vectors of its aperture
  • mcOpt — run settings: nHistories, nBatches, nSplit, charge, global_ecut, global_pcut, randomSeeds, pegsFile, pgs4formFile, dataFolder, outputFolder, and optionally spectrum, spectrumFile, monoEnergy, sourceGeometry ('point' or 'gaussian'), sourceGaussianWidth, relDoseThreshold, verbose, progressCallback, and the variance-reduction keys below

charge picks the source particle: -1 for electrons, 0 for photons, +1 for positrons.

mcOpt.mode — dose-influence matrix or forward dose

mcOpt.mode Returns
'dij' (default) [dij, dijVar] — one sparse column per beamlet
'forward_beamlet' [dose, relUnc] — one dense cube, the size of cubeRho

'forward_beamlet' computes the dose of a whole weighted field in one go. The collimation is given as one weight per beamlet in mcSrc.bixelWeights, a non-negative vector of length nBixels: a blocked beamlet gets 0, an open one its fluence, a partly transmitting one a fraction of it. This is the fluence map matRad already optimises, so no new geometry is needed.

mcOpt.mode = 'forward_beamlet';
mcSrc.bixelWeights = w;                 % from matRad_fluenceOptimization
[dose, relUnc] = omc_matrad(cubeRho, cubeMatIx, mcGeo, mcSrc, mcOpt);

The result is what dij*w would have been, in Gy for exactly those weights — doubling every weight doubles the dose — but it is reached directly instead of through the matrix. Histories go to the beamlets in proportion to their weight, so a blocked beamlet costs nothing and the run time no longer grows with nBixels.

Two things change meaning in this mode:

  • nHistories counts the whole calculation, not one beamlet. Switching a dij run over unchanged therefore divides the statistics by nBixels; multiply it by nBixels to keep them.
  • relDoseThreshold does nothing. It prunes columns of a sparse matrix, and there is no matrix here. Note the flip side when comparing the two modes: it is the dij result that is pruned, so set it to 0 for a like-for-like comparison.

relUnc is the relative uncertainty per voxel, 0.9999999 where nothing was deposited — the convention omc_dosxyz writes into a .3ddose file. mcOpt.outputDose = 0 asks for mean deposited energy instead of Gy.

The weights modulate fluence, not spectrum: a leaf transmitting 2% starts 2% of the particles, with the spectrum unhardened. Attenuation in the collimator, its scatter and the beam hardening that goes with it are not modelled. The mode is named for its source model rather than its output, so that a variant taking real collimator geometry can sit next to it later.

The source spectrum can either be read from a .spectrum file (spectrumFile, default ./spectra/mohan6.spectrum) or passed in directly as mcOpt.spectrum, a struct holding the same information:

Field Meaning
energy upper energy of each bin in MeV, strictly ascending vector
fluence relative number of particles per bin, same length, non-negative
eMin lower energy of the first bin in MeV, optional, default 0
mode 0 for counts per bin (default), 1 for counts per MeV
mcOpt.spectrum = struct('energy', [1; 2; 3], 'fluence', [0.2; 0.5; 0.3]);

Within a bin the energy is sampled uniformly, as it is for a spectrum read from file.

monoEnergy is the third way: a single kinetic energy in MeV, used for every source particle.

The three are tried in order — spectrum, then spectrumFile, then monoEnergy — and whichever loses is announced rather than silently dropped. Giving none of them uses spectra/mohan6.spectrum.

progressCallback, if given, is a function handle called with a single scalar in [0,1] once per batch and once per finished beamlet; it replaces the built-in waitbar and owns any handle/window lifecycle itself, e.g. mcOpt.progressCallback = @(p) waitbar(p, h, msg);. Without it, a waitbar is shown automatically when verbose >= 2.

Both outputs are sparse, with one column per beamlet and one row per dose-grid voxel; the second output is only computed if requested. Entries below relDoseThreshold (relative to the beamlet maximum) are dropped.

The MEX file calls mexLock() on entry and cannot be unloaded — unloading an OpenMP-using MEX file after a parallel region has run crashes MATLAB. In practice this means a rebuilt MEX file is only picked up after restarting MATLAB. BUILDING.md explains why in detail.

Using ompMC from Python

pip install .

which compiles the extension for the interpreter it is run with; a C++ compiler and a working OpenMP runtime are all it needs. Prebuilt wheels for Linux, macOS and Windows come out of the wheels workflow and carry their own OpenMP runtime, so they need neither.

The wheel bundles the cross section data, PEGS files and spectra, so nothing has to be pointed at the source tree. Two calculations are available, sharing the same phantom, physics and spectra:

import numpy as np, ompmc

n = 32
lateral, depth = np.linspace(-8.0, 8.0, n + 1), np.linspace(0.0, 16.0, n + 1)
geometry = ompmc.Geometry(
    lateral, lateral, depth, ["H2O521ICRU"],
    density=np.full((n, n, n), 1.0, order="F"),
    material=np.ones((n, n, n), dtype=np.int32, order="F"),
)

# One dense dose cube from a collimated beam
dose, uncertainty = ompmc.calc_cube(
    geometry,
    ompmc.CollimatedSource(ssd=100.0, x_min=-2, x_max=2, y_min=-2, y_max=2),
    ompmc.Spectrum.monoenergetic(6.0),
    n_histories=100_000, n_batches=10,
)

# ... or one sparse column per beamlet, as scipy.sparse.csc_array
dij = ompmc.calc_dij(geometry, beamlet_source, ompmc.Spectrum.default(),
                     n_histories=100_000, progress=lambda p: print(f"{p:.0%}"))

# ... or the dense cube of a whole weighted field, which is dij @ weights
# computed directly. A blocked beamlet weighs 0 and costs nothing.
dose, uncertainty = ompmc.calc_forward(
    geometry, beamlet_source, weights, ompmc.Spectrum.default(),
    n_histories=100_000,
)
  • Cubes must be Fortran ordered. The transport indexes voxels with the first axis varying fastest, so a C ordered cube would be a silently transposed phantom; it is rejected instead.
  • Material indices count from 1, matching matRad's cubeMatIx; 0 means vacuum.
  • progress is called with the fraction finished; returning False stops the run, as does Ctrl-C.
  • calc_forward is the Python side of mcOpt.mode = 'forward_beamlet' above, with the same two caveats: n_histories counts the whole calculation rather than one beamlet, and the weights modulate fluence rather than spectrum.
  • The GIL is released for the whole calculation, so the OpenMP threads run at full speed. The engines keep their state in globals, so one calculation runs at a time per process: use multiprocessing, not threads.
  • ompmc.Physics(...) carries the cut-offs, seeds, splitting factor and the variance-reduction keys below.

Variance reduction

Key (input file / mcOpt) Effect
nsplit / nSplit Uniform photon splitting at the source. > 1 enables it.
esave Electron range rejection: electrons whose residual CSDA range cannot carry them out of the current voxel are terminated below this total energy (MeV). 0 or absent disables it.
e_rr, f_rr Unbiased Russian roulette of newly created electrons below total energy e_rr (MeV), with survival probability 1/f_rr. Both must be set (f_rr > 1) to take effect.

Photon transport uses Woodcock (delta) tracking, so photon steps are not stopped at voxel boundaries.

Data files

Directory Contents
data/ XCOM photon cross sections, multiple-scattering and spin-effect data
pegs4/ PEGS4 material data (521icru, 700icru) and the pgs4form bremsstrahlung form factors
phantoms/ Example .egsphant phantoms: WATER, TG119, PROSTATE
spectra/ Example photon spectra: mohan6, var_6MV, 250

Tests

Unit tests are built by default (OMPMC_BUILD_TESTS=ON) and registered with CTest:

ctest --test-dir build --output-on-failure

This covers the transport helpers and media data (tests/) plus a short omc_dosxyz smoke run. When the Octave MEX file was built, ctest also drives it through the MEX-side test below. The same test runs unchanged in MATLAB, which needs a MATLAB session:

addpath('build/bin'); addpath('ucodes/omc_matrad');
test_omc_matrad_mex

.github/workflows/build.yml builds and smoke tests every push on Windows x64 (MSVC and MinGW), Linux x64, Linux ARM64, macOS x64 and macOS ARM64.

License

GNU General Public License v3.0 — see LICENSE. Copyright (C) 2018-2026 Edgardo Doerner and Niklas Wahl.

Download files

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

Source Distribution

ompmc-0.2.0.tar.gz (8.6 MB view details)

Uploaded Source

Built Distributions

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

ompmc-0.2.0-cp312-abi3-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.12+Windows x86-64

ompmc-0.2.0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.1 MB view details)

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

ompmc-0.2.0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.12+manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

ompmc-0.2.0-cp312-abi3-macosx_15_0_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.12+macOS 15.0+ x86-64

ompmc-0.2.0-cp312-abi3-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.12+macOS 14.0+ ARM64

ompmc-0.2.0-cp311-cp311-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.11Windows x86-64

ompmc-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.1 MB view details)

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

ompmc-0.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

ompmc-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

ompmc-0.2.0-cp311-cp311-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

ompmc-0.2.0-cp310-cp310-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.10Windows x86-64

ompmc-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.1 MB view details)

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

ompmc-0.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

ompmc-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

ompmc-0.2.0-cp310-cp310-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

ompmc-0.2.0-cp39-cp39-win_amd64.whl (8.3 MB view details)

Uploaded CPython 3.9Windows x86-64

ompmc-0.2.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (8.1 MB view details)

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

ompmc-0.2.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (8.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

ompmc-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl (8.3 MB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

ompmc-0.2.0-cp39-cp39-macosx_14_0_arm64.whl (8.3 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file ompmc-0.2.0.tar.gz.

File metadata

  • Download URL: ompmc-0.2.0.tar.gz
  • Upload date:
  • Size: 8.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ompmc-0.2.0.tar.gz
Algorithm Hash digest
SHA256 df211c82359f379f9f9e70f6f22864cb9248f0bc66dbf1807caf94627d52bc44
MD5 cdbd53701f58e6326b01ae3d126c5895
BLAKE2b-256 2a3ebdf2f5ce80b85df256c318a79c2b496543534846dbb861f475be5e586f53

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0.tar.gz:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp312-abi3-win_amd64.whl.

File metadata

  • Download URL: ompmc-0.2.0-cp312-abi3-win_amd64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.12+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ompmc-0.2.0-cp312-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8024aaa6081d69b57013c4dde8ffd41ca092d0f8b1e1a03d94d6d52b7df8ceb4
MD5 54507577a89db0098bb8085c6237eff5
BLAKE2b-256 ea680e5d63cf007c40551670ddb0a0643b92ac39daa752f0b80d39951b564857

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp312-abi3-win_amd64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6bbe278922d248a724871103161dac8a49219ca33578f776535dc611bf959c45
MD5 cbe643eb0f8bbdf19e425561a67139bf
BLAKE2b-256 dc2b590f3e09b07bbceffedbf833507899b1b5e47ac07bf12605ce18310b6e87

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 191072b5f24ddeb5ba10d28d950f97ff9f62f8bfc86f507a555e9f8dc94d6e4c
MD5 b25304262575aec13f29e0a4bf29c542
BLAKE2b-256 f3c92e77fa01458959eec070ea2f311e6ae07baa7db6f221394badcb72d0c02d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp312-abi3-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp312-abi3-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 520e0d283929f96678bcc6b519a9ce29d99a782b572e7c8dfebfe0a9beffea54
MD5 288b8916abba2f545f34364f6f802bfc
BLAKE2b-256 13b038c7c393f18e9faef640df49040e80b5e09c50e4652c5bb14d70d07a1c6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp312-abi3-macosx_15_0_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp312-abi3-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp312-abi3-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 50a6df5fd6d13dbe5eab43138932b2b6289d4a77ba47697be040366592ddaaf8
MD5 3724abccd04acda4894b7ab5c49c3831
BLAKE2b-256 e883e266649f9a763dea03599f70372571218fd69c7b57ddca102b421f4b13e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp312-abi3-macosx_14_0_arm64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ompmc-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ompmc-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fe4b7b2536d9f0122056825b6c8086adc29847d90f29ce7c6f2c33e9709fbca5
MD5 2393770cf05ef9dd7827927eb25c5596
BLAKE2b-256 48adfe482e94b3a72c8967ff34416a5b1c7ac50066cabbff68c4d0719e53c291

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7fdb1dcc704536d88df0b18dafdb0a7828156666d52ede6db490f5eafc4c3adc
MD5 1e3f24d15a62e79e90af1dcf57909404
BLAKE2b-256 a77fc840ce9b58d45d73aee02c83314026cbced6b1a49ad05a5c324db45a8b2b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8142c9e0d673dc5edad2535937fb69abc6b5a23b624c1cf318b38d231cc5c5b
MD5 928080b71c90ccc145ad4bfab8af67e6
BLAKE2b-256 9166a2eb1b9dd1be105c6d8376bad7cf6910bbebd9c7af5493bbd53a41f0c24a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 1bb85ebfe82d4be3e8e19f119dee096ef2672698bf0ce770caa7f81af8c8fcdd
MD5 df7999700d82f3c9d58b1c1ae10f39ed
BLAKE2b-256 774ce5db44ea5647e38d9674296383ea435f9ab17ac0e215d50ec8a93c23a6ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp311-cp311-macosx_15_0_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 695d097645a47f1031b8c58e3e41149123289034b942f25dab17583a36f98835
MD5 09a38d9fdcf5b724d4808fbf6db5d40d
BLAKE2b-256 7a030948f0d294de7b9ebbbcf430f8c7f28466e808e9d0dd8e4fd4af53cfcca1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ompmc-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ompmc-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 23e4d34c12538a44d0f56ed8d899eccebcad40b64dd8cb1f9f67307115f50893
MD5 053bc0eb6e683f7f56cb5d07025957da
BLAKE2b-256 6c6d984c3e200176dbf336abffba0774c39083508cbe399c7d9019bfd1f89d06

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef3e4f4ed3dd79154af3ad11fc304bf36355eedd7975bdc68b44fe515ca2aaeb
MD5 89aa9390ef90c165844df8713e5650b6
BLAKE2b-256 41fe0cfd3158f71ce5f7f94ba9b381fdbcc23a5412401905a4e2abcc80c7c061

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 860e2d5e6a065dfd98229ea975661a64db0262903eb0832e9ba65f91883f42e6
MD5 aeeccffe4382dc5d42093ed9f3340b2e
BLAKE2b-256 d6f621a3e933357bd232a92495c4a5b892157c0fd4b2bd1bd0a5a7c9af32ea99

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 2579e8a4e829e29a33444cf8ae0cc3ae8d040817b07472f7d5bf882b8d604e8f
MD5 6d31fa2d950f7e85b78130b1966cf38b
BLAKE2b-256 5e9f0a6ba5ca215024562e898c0bce7b4f64c58021bf5c5006caed0945afa3f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp310-cp310-macosx_15_0_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 81f08d5e3ffe003bc79f8d1e8b3e015c699f0ae524c750bc55ab384bee172333
MD5 c00de9bebcc55ac79235858ab993c115
BLAKE2b-256 687c98b2335daf836829f22d46d1563c127c518fa7b71e1d5eb211b96d4f2517

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ompmc-0.2.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ompmc-0.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 adfba4284752031802e6622afebc03bc3b6aa9842b66925a5dbada75fb570114
MD5 6a907edb94536ef15301f7efc9de2cc0
BLAKE2b-256 6b072d12214e3fda016ab7a311f9c8b693e7b9d8f37a8996cdaeda9154fb080a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d4e3106dca163a4bda78d57f24b2d45f7711122d022ccd9f6575b999514a0cd1
MD5 8bc71b9196599d47f9fbbb7b53ce80b6
BLAKE2b-256 af4da09be27573cb6308961ad1415244638fb820b02e54dc67b573a3f8f216e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9364610d3350aa7f3eb611c0cd6b0aea044b018e1477547175cf97beba11b4e7
MD5 e61d9f8611d101d7df272d6986a4367d
BLAKE2b-256 88f8860036a7816a82202863853b26f2b4651ce2a639ddc6e56a858290a1f989

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for ompmc-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 a23fbce335ecad1ccfa7b281ab0ba0d7693dee5d1c0a19ebf0f259601a9ed0ef
MD5 60ef9e6c9eb05d7603dd376239a24c1b
BLAKE2b-256 d948e33503e4c6c727b4ee6e836ad758f538b72c1e42c2b8a6d9cec76850d51a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp39-cp39-macosx_15_0_x86_64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ompmc-0.2.0-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

  • Download URL: ompmc-0.2.0-cp39-cp39-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 8.3 MB
  • Tags: CPython 3.9, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ompmc-0.2.0-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6556ccfb38eed1f6b416ead79b1206869ed4ddb3c75f6c3f3f4795ae613432fd
MD5 8c8add8a66bb1eaf1adfb03fcdbe6870
BLAKE2b-256 b227ef36c2ac604789f12582bf5c7c0c1d16c700421d548777789269179ebe1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ompmc-0.2.0-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: wheels.yml on e0404/ompMC

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page