Skip to main content

Python bindings for Mesh-based Monte Carlo (MMC) photon transport simulator

Project description

PMMC - Python bindings for Mesh-based Monte Carlo (MMC) photon transport simulator

Linux Python Module
MacOS Python Module
Windows Python Module

This module provides a Python binding for Mesh-based Monte Carlo (MMC). For other binaries, including the standalone executable and the MATLAB bindings, see our website.

Mesh-based Monte Carlo (MMC) is a 3D Monte Carlo (MC) simulation software for photon transport in complex turbid media. MMC combines the strengths of the MC-based technique and the finite-element (FE) method: on the one hand, it can handle general media, including low-scattering ones, as in the MC method; on the other hand, it can use an FE-like tetrahedral mesh to represent curved boundaries and complex structures, making it even more accurate, flexible, and memory efficient. MMC uses the state-of-the-art ray-tracing techniques to simulate photon propagation in a mesh space. It has been extensively optimized for excellent computational efficiency and portability.

How to Install

Runtime Dependencies

  • CPU or GPU: An OpenCL-capable CPU or GPU; most modern CPUs or GPUs support OpenCL - an industrial-standard heterogeneous computing library and specification (https://www.khronos.org/opencl/)
  • OpenCL CPU or GPU runtime/driver: Both NVIDIA and AMD GPU graphics drivers should contain out-of-box OpenCL runtimes or drivers; for Intel GPUs, one should install additional OpenCL runtime support from https://github.com/intel/compute-runtime or install the intel-opencl-icd package if the OS provides (such as Ubuntu 22.04); one can also install an open-source OpenCL runtime POCL, using package manager such as sudo apt-get install pocl-opencl-icd. However, POCL's support is largely limited to CPUs. You do not need to install CUDA SDK to use pmmc.
  • Python: Python 3.6 and newer is required. Python 2 is not supported.
  • numpy: Used to pass/receive volumetric information to/from pmmc. To install, use either conda or pip package managers: pip install numpy or conda install numpy
  • iso2mesh is a easy-to-use mesh generator for creating the tetrahedral meshed domain for pmmc, install it with pip install iso2mesh
  • (optional) jdata: Only needed to read/write JNIfTI output files. To install, use pip: pip install jdata on all operating systems; For Debian-based Linux distributions, you can also install to the system interpreter using apt-get: sudo apt-get install python3-jdata. See https://pypi.org/project/jdata/ for more details.
  • (optional) bjdata: Only needed to read/write BJData/UBJSON files. To install, run pip install bjdata on all operating systems; For Debian-based Linux distributions, you can also install to the system interpreter using apt-get: sudo apt-get install python3-bjdata. See https://pypi.org/project/bjdata/ for more details.
  • (optional) matplotlib: For plotting the results. To install, run either pip install matplotlib or conda install matplotlib

Build Instructions

Build Dependencies

  • Operating System: pmmc and mmc can be compiled on most OSes, including Windows, Linux and MacOS.

  • OpenCL library: compiling mmc or pmmc requires to link with libOpenCL.so on Linux, or libOpenCL.dylib on MacOS or OpenCL.dll on Windows. These libraries should have been installed by either graphics driver or OpenCL runtimes.

  • Python Interpreter: Python 3.6 or above. The pip Python package manager and the wheel package (available via pip) are not required but recommended.

  • C/C++ Compiler: pmmc can be compiled using a wide variety of C compilers, including

    • GNU GCC for Linux, MacOS (intalled via MacPorts or brew), and Windows (installed via msys2, mingw64 or cygwin64)
    • Microsoft Visual Studio C/C++ Compiler for Windows.
    • Apple Clang for macOS, available via Xcode.

    Refer to each OS's online documentations for more in-depth information on how to install these compilers. MacOS provides built-in OpenCL library support.

  • OpenMP: The installed C/C++ Compiler should have support for OpenMP. GCC and Microsoft Visual Studio compiler support OpenMP out of the box. Apple Clang, however, requires manual installation of OpenMP libraries for Apple Clang. The easiest way to do this is via the Brew package manager, preferably after selecting the correct Xcode version:

brew install libomp
brew link --force libomp
  • CMake: CMake version 3.15 and later is required. Refer to the CMake website for more information on how to download. CMake is also widely available on package managers across all operating systems.

Build Steps

  1. Ensure that cmake, python and the C/C++ compiler are all located over your PATH. This can be queried via echo $env:PATH on Windows or echo $PATH on Linux. If not, locate them and add their folder to the PATH.

  2. Clone the repository and switch to the pmmc/ folder:

git clone --recursive https://github.com/fangq/mmc.git
cd mmc/pmmc
  1. One can run python3 setup.py install or python3 -m pip install . to both locally build and install the module

  2. If one only wants to locally build the module, one should run python3 -m pip wheel .

  3. If the binary module is successfully built locally, you should see a binary wheel file pmmc-X.X.X-cpXX-cpXX-*.whl stored inside the mmc/pmmc folder. You can install this wheel package using python3 -m pip install --force-reinstall pmmc-*.whl to force installing this locally compiled pmmc module and overwrite any previously installed versions.

How to use

The PMMC module is easy to use. You can use the pmmc.gpuinfo() function to first verify if you have NVIDIA/CUDA compatible GPUs installed; if there are NVIDIA GPUs detected, you can then call the run() function to launch a photon simulation.

A simulation can be defined conveniently in two approaches - a one-liner and a two-liner:

  • For the one-liner, one simply pass on each MMC simulation setting as positional argument. The supported setting names are compatible to nearly all the input fields for the MATLAB version of MMC - MMCLAB)
import pmmc
import numpy as np
import matplotlib.pyplot as plt

import iso2mesh as i2m
node, face, elem = i2m.meshabox([0, 0, 0], [60, 60, 60], 10, 100)  # create a mesh

gpus = pmmc.gpuinfo()  # list all available GPUs

res = pmmc.run(nphoton=1000000, node=node, elem=elem, elemprop=np.ones(elem.shape[0]), tstart=0, tend=5e-9,
               tstep=5e-9, srcpos=[30,30,0], srcdir=[0,0,1], prop=np.array([[0, 0, 1, 1], [0.005, 1, 0.01, 1.37]]))
res['flux'].shape

plt.imshow(np.log10(res['flux'][30,:, :].squeeze()))
plt.show()
  • Alternatively, one can also define a Python dict object containing each setting as a key, and pass on the dict object to pmmc.run()
import pmmc
import numpy as np
cfg = {'nphoton': 1000000, 'node': node, 'elem': elem, 'elemprop': np.ones(elem.shape[0]), 'tstart':0, 'tend':5e-9, 'tstep':5e-9,
       'srcpos': [30,30,0], 'srcdir':[0,0,1], 'prop':[[0,0,1,1],[0.005,1,0.01,1.37]]}
res = pmmc.run(cfg)

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

pmmc-0.2.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.2.6-pp310-pypy310_pp73-win_amd64.whl (504.9 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.6-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.2.6-pp310-pypy310_pp73-macosx_14_0_arm64.whl (345.0 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.2.6-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (186.0 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.6-pp39-pypy39_pp73-win_amd64.whl (505.1 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.6-pp39-pypy39_pp73-macosx_14_0_arm64.whl (344.9 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.2.6-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (186.0 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.6-pp38-pypy38_pp73-win_amd64.whl (505.9 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.6-pp38-pypy38_pp73-macosx_14_0_arm64.whl (345.0 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.2.6-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (186.1 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.6-pp37-pypy37_pp73-win_amd64.whl (505.3 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.6-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (185.6 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.4 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp313-cp313-win_amd64.whl (505.8 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.2.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp313-cp313-macosx_14_0_universal2.whl (345.7 kB view details)

Uploaded CPython 3.13macOS 14.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp313-cp313-macosx_13_0_universal2.whl (188.3 kB view details)

Uploaded CPython 3.13macOS 13.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp312-cp312-win_amd64.whl (505.8 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.2.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp312-cp312-macosx_14_0_universal2.whl (345.7 kB view details)

Uploaded CPython 3.12macOS 14.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp312-cp312-macosx_13_0_universal2.whl (188.3 kB view details)

Uploaded CPython 3.12macOS 13.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp311-cp311-win_amd64.whl (504.0 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.2.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (744.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp311-cp311-macosx_14_0_universal2.whl (345.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp311-cp311-macosx_13_0_universal2.whl (187.4 kB view details)

Uploaded CPython 3.11macOS 13.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp310-cp310-win_amd64.whl (504.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.2.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (744.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp310-cp310-macosx_14_0_universal2.whl (345.0 kB view details)

Uploaded CPython 3.10macOS 14.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp310-cp310-macosx_13_0_x86_64.whl (187.4 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pmmc-0.2.6-cp39-cp39-win_amd64.whl (505.3 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.2.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp39-cp39-macosx_14_0_universal2.whl (345.1 kB view details)

Uploaded CPython 3.9macOS 14.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp39-cp39-macosx_13_0_x86_64.whl (187.5 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.2.6-cp38-cp38-win_amd64.whl (505.9 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.2.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (744.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.2.6-cp38-cp38-macosx_14_0_universal2.whl (344.9 kB view details)

Uploaded CPython 3.8macOS 14.0+ universal2 (ARM64, x86-64)

pmmc-0.2.6-cp38-cp38-macosx_13_0_x86_64.whl (187.4 kB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

pmmc-0.2.6-cp37-cp37m-win_amd64.whl (506.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

pmmc-0.2.6-cp37-cp37m-macosx_13_0_x86_64.whl (186.3 kB view details)

Uploaded CPython 3.7mmacOS 13.0+ x86-64

pmmc-0.2.6-cp36-cp36m-win_amd64.whl (506.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

pmmc-0.2.6-cp36-cp36m-macosx_13_0_x86_64.whl (186.2 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

Details for the file pmmc-0.2.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c3adf908fa273bb1b7a41d8838c8981e30e6a35b9c0cc19496ea091ed3ad8efb
MD5 1e8794da69861bcc76a52a07d2a5b285
BLAKE2b-256 cf3eb5e5303413dfdb9ce0f7e8993322b23a1ca89933d2e187886b8a9e59b59d

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8046532ad8bf544a459d252524a7a1855483ab25bd331cad18ad11c4e5f27c99
MD5 1106e53b0e036fe8aed9c10fde8eee94
BLAKE2b-256 a007b9b3d59be9db3bb6200f92f69454f88540517fb0f9bf551758f410a72a9e

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dc2180d7fdb12e9b3fe0f90e3fc7dcc8e0232c0465ebb667b95fecd5e67be873
MD5 8cb6e6b37f110f872a620c5a46f83a4b
BLAKE2b-256 acffb6e644f65870a1cd3fb0f7e6ea6be9be3d03b11fae0c94550604cfc08e4d

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp310-pypy310_pp73-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 407c7a77da59896f47ebdeaaf3d426fe62cf43568025b2694809d865e2e5bb5b
MD5 50b633619ffa222904f3f8c9780ee384
BLAKE2b-256 3baf18c194bb028331c276380f9956cff72c8a6a68fb213f2e1b3088b38944f6

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp310-pypy310_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f195d492d9477850d5496573a0567d3e5aa5036f0a39a7557a2f7eedf38d1717
MD5 f087d51e3f59a9cc968f509231edcd7b
BLAKE2b-256 b6f2316d5c0f025eaa7f85ddf18519701381ef4d148abfcd3a12deeb11641027

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ff5b41fdb7cc38c0704e14a2b2193cd9a01a72c4e4213e32c1f300b45b30bfaf
MD5 da07904732be3df91922c4df4922e828
BLAKE2b-256 06763b849dfcca64ee3ebeddac25c4c0292adcc3d66b453a10615132f0611ea7

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp39-pypy39_pp73-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d19b1b0402fa61062456bccf6aad097c44c3328b3e896422945674e9b49a10db
MD5 38428bab1d4d27b37195deac32709078
BLAKE2b-256 b38e89126e87ccb85176fa72bf325697b8768b88c131dcc36b8f5d7faf081fcf

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp39-pypy39_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 25fea431a40231b01d168a986d8f45926bd98c98538dc7b193371b9b149f0eb6
MD5 b3e245a03f3359e5b821dcac6b36a4ac
BLAKE2b-256 ab1b479e0b89d6b3b04c418aaa586bb40911c680be27fedc508101e01fcc649e

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 50204b30bbdb86bf80827b38d7a1e05db863eb7b76388a9a905f7d2e5a94b1da
MD5 1d88f6cf5e04e27d8788d49b67b000f7
BLAKE2b-256 b87f17a7c780a600623efc801e7f565947a36e9bd359b6bce4fa51bd2a7e246c

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp38-pypy38_pp73-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 cb7097f013b69e1d268e57a72d9f4b8ae57f7c6ff411969ee4b9f5f545da203a
MD5 bb45b5510428432c57aa25e05559f881
BLAKE2b-256 21002e13c997853754f45813a1088d58b8419c84346d5062d258235d80ff5aee

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp38-pypy38_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 5e625ef4de62a41fb5d35ab764e10dbb2c758c192f0dd65da6a2a3b378fac733
MD5 4feba9a60f33a7af4cc90d3a1e36fc05
BLAKE2b-256 cd6ecc6888c3164d8618de332a464e2276b0151617a179fa6aaae3e49a2b552a

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ea5cf983931f4e38064a3cee37d85a083b4ec7be11aa755b808d712fd600460b
MD5 3fb1f3b4f3d585af254afdaaff6814e9
BLAKE2b-256 ee9e0c26899742732e541de8e6d67555a034726de78793c89aed8eff8703c24b

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-pp37-pypy37_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 99c57203fb8608a23c214729d510220f7f4cc93f93daba2cf29b5814ae4e47f2
MD5 b23d0e47415b5e54207c8ad7b733caf5
BLAKE2b-256 02d46d1ab3101435ea8f1a95f7ad82282d568a21955828e6b542c86f2583c3aa

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e2d5093d8bf0a24ea7ef2e2efc460ae83dcd0168875b50cbcda4211e8fcba0eb
MD5 414891f2313be3c0b5650d023d9436c3
BLAKE2b-256 82c837390e947ca5bad03eae9a6d102c403bd3fa5b0fe572736cb3596f12e9ee

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f7d7e4a93a799bbbaa417678c13e9a82829adeb2313f4f27e24eeeab2f83c6d5
MD5 1347703e6ec8843f82b954daa1ab048e
BLAKE2b-256 39c529bb458e84582fc54711af0d8c8bd0a0f385da50c6dda60cb51d31bf4f9c

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ff6d1c311466860f9538305975c4be770186b3d9b66d1aa484ef0e9c4e2e63bf
MD5 c6b9491936561ba85fa9be3bde943e95
BLAKE2b-256 be4d46b23716db35efc28519685fe3f47c5fcaf53152f3a1f58dfa00693e86c7

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 505.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 42145ec50ee4fbee2d9f84248ff5c88a1d0c7b2d18f361f9c0572d837f006767
MD5 bc6c01de06e8bba0caa7b88479a06505
BLAKE2b-256 e144e8b10360e81ed265f67ab15e9d2fe7ca6db753ec26ddd440f81a28a388f8

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c257ac95118812eba1a7c8108747efff02ad3558e83eca98fe52031bad415d8b
MD5 871af81a6b3c3716cead6258a626e280
BLAKE2b-256 66f236c91c7faa8c2a7866e3cc4eb637f21afe8aa927807ab0e7f74b95e90d37

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp313-cp313-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 6d9192f51f3d099d721c51256832bcbb17e38ce01e6db37e88cc758465e4bfe7
MD5 a328335d7ba623251b6d868d7f10af0c
BLAKE2b-256 8fcef22ce2b38522026a135e8b60be5c3a5b4a128b2d22fc47cbd9f1e7920183

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp313-cp313-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 c9873fafce4db83d5b1b8ade9c3df68b44ffbe277567cea86cc9aa2b80b5cc32
MD5 7dfd96561dd90b3f898b0b851f6c040a
BLAKE2b-256 266144d31e0633c47ce4c14e6d1cf644a18c5e56a4b015ee3df71aaac1f952af

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 505.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 58965fc23733e68b15431f866549d43ed134be64806e8239206bcb87b9197602
MD5 8afa895eaee5386b9e1fe4c86d14eaed
BLAKE2b-256 15da9f3dbeac8c36dc0ddc6510b9f7956f255990b5d54d4194defe50612b88b6

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bf412fd0c8888f78773d027c205ef4b762611213b106106277df2e425c6272e7
MD5 7a496d7b4ee985b7990b75bd18cbbadb
BLAKE2b-256 efcbdb585fcf3c8a7907e15952b3424b7c02b7b56be1ae5dc4e058bb640ed8fe

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp312-cp312-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 1f6b64ce7ecfa0e7bd71cee7ffa5703c16ecca2ccad44e761a29e389425f1693
MD5 7584f25bc06e15f1baa42cce06097617
BLAKE2b-256 349b0701a9b22f9cf62851d5b1340804282e9a97b0cdd37c511f448b7626e91e

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp312-cp312-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 252e1728cec7247c21544fc08a008dab15d29c79a3a556d7705e400fe5d42a84
MD5 afceb9b3aa26bdf6022c1e573a0d6d02
BLAKE2b-256 8beaea9f185cf60782584aeb03a7767e8ee6b613b34b8d7ec316cf503b0eb7e8

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 504.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 81900916c6b6e9ecd212a0965b5fad0397d49c7fc1a1194fa8cfbf4f92f6957d
MD5 3cfb87e37ab769d840cf8cb7e33ef6a7
BLAKE2b-256 2878a4939f08d2e30ef5e7f2b378fbfdef3d8a6d8e7bb1bb00a87366ed255371

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 87f8e23aaccde4d6a4fd82790fc8f9485d76ef7f1adf9fc426d2ae1173ea657d
MD5 e21d138684531b7a4bb86158f86119e0
BLAKE2b-256 c6fd1eb54e5daca03d58bd52f0285752da080c55475493089cdf156e00cd513e

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp311-cp311-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 c300b1d184688932bea7b9f0d345365090ee2f71d68cabbf9b3b3b31abe1f378
MD5 4096630831745509b507766197ccbd65
BLAKE2b-256 32ce131008358e689ee77d5f686598b5cf3b4304e917a9a950eef312a8d7b687

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp311-cp311-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 fcce73224311a6bc426209dd77c2caa1ba683cdfe3861421649d2584864acf1a
MD5 bbd1e045d714b1a7f880b0a5e5914afc
BLAKE2b-256 42ecaa71ed764f271448fb5747cab86926f0251cc66a52727d4071fa2fb6d7b2

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 504.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1b72873425f9f1cfa7dc1bfda56185df39e736612f64c31919d429ab7f53d427
MD5 a9d18145244dee9de25fbfd77ae49d4d
BLAKE2b-256 6a40e82e71cf15ff3637200a5145f6747c4ec012efcce1969366cc07a5c23e55

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 79ed3437a468a8c2fc71beea74184504317111a361191f16575c1f5c2e484abd
MD5 86760348aa9684fdb2eac15aaab8bc6c
BLAKE2b-256 57c2922da6f355f0e9a1776372408d54271b95829338f0e2caf77f3622ae8bfb

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp310-cp310-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 f7ade05f468c9507d8f6534f96cf3e871771ce0275b095c1997c3c09d458567d
MD5 420cbacf32524ce34433c8664c8fe2d2
BLAKE2b-256 d79a010946ddf3826ae07951dc29062ff5ffe090da60ef4c68c96a91cc5bb5c2

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 cc8b6242cb7121d193498f4558431e3d7b0c4a5d63eb0403cb91c30dc1252c95
MD5 610d9df2fc4f2a0237145536cfebe279
BLAKE2b-256 6de739edc65fc56806c6d9ee6e5b88c3095dad9039afe914e33df1043babfd42

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 505.3 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6477d355b19b12f54db036c3c556172cecc024b2e9510e1f122fe9fc6fd54cc7
MD5 76af8b559527368eeaed02d5e14bbaf4
BLAKE2b-256 88f5c080a6d62ff001dc277db4323a52d1d7f7243d33688b03b7a9044e5f37b0

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 393d3b55039db4c8d081445f8e38f7c5c96e976420fcc405583c431475818e6d
MD5 74f69bd91abf4a8212df149c7ede4fa3
BLAKE2b-256 29f24dce3ebfc77cb40acd2279d3c1a0bb2d84da1406e703dad54e429387b217

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp39-cp39-macosx_14_0_universal2.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp39-cp39-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 345.1 kB
  • Tags: CPython 3.9, macOS 14.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 ac276dcfbd2e9a60ce320fc35578b0e8e3b1993261d4df568ba1e30aa3aec1af
MD5 c2280aa533a8487b02c2881d6bf1fb51
BLAKE2b-256 1ffe67a1d007840448e17907ed1d74d62db044ec3e3c5155cacff43517c13345

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.5 kB
  • Tags: CPython 3.9, macOS 13.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2830588209073d015c8fc1a0ea79ad4cdfde18bbf3097e2aa71d4b08b5eb58a4
MD5 861500aa78758a5e315dfdfa36681812
BLAKE2b-256 1f2969a423fb69a3f9baa51030e35236ff2d339bce7de197f9f7b22f7cf87a7e

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 505.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dbf552e3ce374a2c981169501af72f8636387d9dfe80b0446e5591f8f7c1dd9c
MD5 48eca88fedc00241a836b133f4586b1e
BLAKE2b-256 c10c9d501c1c0d660f9bddd364b7926950d423d773a5ea48d4dc0a3e1ffa3142

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6ab4dbcdd4510746f20cf6791664b7b1a51bfd1c15b77a82aa5e9cc2a1e20cd3
MD5 007c3b77ea21f2f92d87a4e046975160
BLAKE2b-256 5a627d47c633172793786af71e2ed2fb6ce022248d21bf3616ab89b0b12cd228

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp38-cp38-macosx_14_0_universal2.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp38-cp38-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 344.9 kB
  • Tags: CPython 3.8, macOS 14.0+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 cb338adfd2a0b6aab8ccae3c61b1a7f80507ad2423c26a441e901cab4b620184
MD5 0e9eb4abef4e4f9f11c9214a0067853e
BLAKE2b-256 b5cad36ba935c6458850d9b773012a591b07c035829977446a47f85c8298f2a6

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp38-cp38-macosx_13_0_x86_64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp38-cp38-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.4 kB
  • Tags: CPython 3.8, macOS 13.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 831d0e2f58f2d2fc4c6c7bd368c9f9f27411e0e160cd825f567b85e006aaea7d
MD5 24791bc7d314d1c6dad55477c1909b1c
BLAKE2b-256 ace4bdfd01aaf538452d0d894477d711bf449a863d78a5d963ea0a0272edf11b

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 506.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ff8d1a6f858883fb83c888fef40bf269c8d6f2cf0fb8213d38298b939b552b95
MD5 dc1127e2b73161ebd395530244883dbc
BLAKE2b-256 253ded52eb7758595eca3ab754f5338e52c476808a65d646df306b8750fba1e8

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp37-cp37m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ea588c0fdddb4dc5710a089c880a595f9174d99baeaddccf95a46fcd7807fe4b
MD5 3f60928e8dd22422ad1f9d845c541f63
BLAKE2b-256 8e0f1f708df4ec0ff75909763afc06663f6240d7f6e21e223387f2565d3baef9

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pmmc-0.2.6-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 506.4 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 61e5deba5b15f4d59abcf99c9943af2fb59ad3cf2dab04499d2be957ab4f6763
MD5 688cbda283b8e7cf193a23f3430c9873
BLAKE2b-256 8e61ad71f7c562f0c52385b4315b795604edfc87263e069f2eb83cd73170ef94

See more details on using hashes here.

File details

Details for the file pmmc-0.2.6-cp36-cp36m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.2.6-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e8b64a95bfdb0e4c0292def10052a7cc10ef70174c0571a7cac2565f88426f05
MD5 bc6031a0791f507e0ee0ece547f043b1
BLAKE2b-256 acaf85eb900d1a29c17b2b4b94e748253129d176b73735d870dceb6155111bd7

See more details on using hashes here.

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