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.3.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (751.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.3.9-pp310-pypy310_pp73-win_amd64.whl (525.3 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.9-pp310-pypy310_pp73-macosx_15_0_x86_64.whl (188.7 kB view details)

Uploaded PyPymacOS 15.0+ x86-64

pmmc-0.3.9-pp310-pypy310_pp73-macosx_14_0_arm64.whl (352.6 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.9-pp39-pypy39_pp73-win_amd64.whl (525.2 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.9-pp39-pypy39_pp73-macosx_15_0_x86_64.whl (188.6 kB view details)

Uploaded PyPymacOS 15.0+ x86-64

pmmc-0.3.9-pp39-pypy39_pp73-macosx_14_0_arm64.whl (352.5 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.9-pp38-pypy38_pp73-win_amd64.whl (525.5 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.9-pp38-pypy38_pp73-macosx_15_0_x86_64.whl (188.7 kB view details)

Uploaded PyPymacOS 15.0+ x86-64

pmmc-0.3.9-pp38-pypy38_pp73-macosx_14_0_arm64.whl (352.5 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.9-pp37-pypy37_pp73-win_amd64.whl (524.9 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.9-pp37-pypy37_pp73-macosx_15_0_x86_64.whl (188.2 kB view details)

Uploaded PyPymacOS 15.0+ x86-64

pmmc-0.3.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (751.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.0 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (751.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp313-cp313-win_amd64.whl (527.1 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.3.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp313-cp313-macosx_15_0_universal2.whl (189.7 kB view details)

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

pmmc-0.3.9-cp313-cp313-macosx_14_0_universal2.whl (353.2 kB view details)

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

pmmc-0.3.9-cp312-cp312-win_amd64.whl (527.1 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.3.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp312-cp312-macosx_15_0_universal2.whl (189.7 kB view details)

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

pmmc-0.3.9-cp312-cp312-macosx_14_0_universal2.whl (353.2 kB view details)

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

pmmc-0.3.9-cp311-cp311-win_amd64.whl (525.7 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.3.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp311-cp311-macosx_15_0_universal2.whl (189.0 kB view details)

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

pmmc-0.3.9-cp311-cp311-macosx_14_0_universal2.whl (352.7 kB view details)

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

pmmc-0.3.9-cp310-cp310-win_amd64.whl (525.7 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.3.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp310-cp310-macosx_15_0_x86_64.whl (189.0 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

pmmc-0.3.9-cp310-cp310-macosx_14_0_universal2.whl (352.7 kB view details)

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

pmmc-0.3.9-cp39-cp39-win_amd64.whl (525.2 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.3.9-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp39-cp39-macosx_15_0_x86_64.whl (189.1 kB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

pmmc-0.3.9-cp39-cp39-macosx_14_0_universal2.whl (352.8 kB view details)

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

pmmc-0.3.9-cp38-cp38-win_amd64.whl (525.3 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.3.9-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (749.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.3.9-cp38-cp38-macosx_15_0_x86_64.whl (188.9 kB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

pmmc-0.3.9-cp38-cp38-macosx_14_0_universal2.whl (352.5 kB view details)

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

pmmc-0.3.9-cp37-cp37m-win_amd64.whl (528.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

pmmc-0.3.9-cp37-cp37m-macosx_15_0_x86_64.whl (187.9 kB view details)

Uploaded CPython 3.7mmacOS 15.0+ x86-64

pmmc-0.3.9-cp36-cp36m-win_amd64.whl (528.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

pmmc-0.3.9-cp36-cp36m-macosx_15_0_x86_64.whl (187.9 kB view details)

Uploaded CPython 3.6mmacOS 15.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5c99d110583065a40e40bddff2b858db2142f36dbf36c58d37e914212a49f869
MD5 5bf78570d0a694dadf2c442837171a1c
BLAKE2b-256 25083581c3f389a7b21e6f9645d319feccb479275002c49b5f28bab484472930

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 74c0166b16e88260a09fc36470ff7b8bb7b7cd5ac540d7e7d663360f6d7591f4
MD5 4c918c6bb77810c70e08f9057b9e56d0
BLAKE2b-256 40cbfe908a636824f61d50be83632a4366166e8608bdeab11b2e20806efcbf5b

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-pp310-pypy310_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-pp310-pypy310_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 e5fdb4926acf64682bb87fea3302c3330442594867ef68869151951b0da91081
MD5 3b7f4af9bb96acadf37ef3573cd11f30
BLAKE2b-256 17f107fd34b982f727ff2797964a1d985a66243644f0b728820f36958107bdf3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a3340db1f17e63a1e7809532aaf68668c2a18396a8abf4b10c7ebb7c214c895e
MD5 03d16c27110c1a9f42ef9dd040bd5557
BLAKE2b-256 c922374231e28e19938d2b95c41c2c2f10740bae71ee744927af313d9237bbdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e37000055abea012c505ca2b16177059bf55fc4b874becddb93a2ef5e7a95566
MD5 5dbd9ab763da92eedbcee5fb135bacce
BLAKE2b-256 7d153da0888686d9167a062c78a8b0c31bb916f9bfbca82ba1c26ce1eff00e39

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-pp39-pypy39_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-pp39-pypy39_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 6cb9bc4d2c20ff82a63ae201401ac1a07791f16e4ae03de3b37a8b9361e0ba24
MD5 f5741d34dd5b758b908d13decb779c8f
BLAKE2b-256 8a400565a91137b92e585e7e491a5f2c486d3b6512a73c3005e00daa2112279d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 472fd741cdd00537669901cb13baead2daceb8c3f8a14a2a62b30f6b30f0b0cc
MD5 797a2f77e85b8f39b2aad5adbac02d61
BLAKE2b-256 e1f9e8757f347084883b3b75d86a905dc20a040a89476ef40dc1e29ba4380275

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 813d5621c91c4121841b032d98730fc422cab652e9d48244282a61dcc87fe4c7
MD5 750d37bf8f003b9de60ba010172f0a02
BLAKE2b-256 07d3f5ee6d0b05bb83a5667c07c46aac847873ba2d42138fe229b6c5ef5f7fc3

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-pp38-pypy38_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-pp38-pypy38_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 6fe66403ac9fb1e8ecdd6a6b631996467a39da576eb2dc46c04b750a2bf07f12
MD5 34905fa3888af285d33d6f8fb8a79512
BLAKE2b-256 d3f9e15bfb28e69111de257f72ed33576996b31832249575604c96bc24b6694a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4d5ef0d64b092fbf338801cc419b06fdf1c020a2c2cb7074719e871df9f83809
MD5 59895dc645b0d346e8df4547b1c485b2
BLAKE2b-256 6632bf380ddc89aa6c2fc0bc1d3542283ba0bcd7621496acb4e32578c0e8fb91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d8a45cb01c4ae817c61cbfda6873eafbdd4bd2eb42172f8bdbf671ab39b16e3e
MD5 0f613fc41872c511b8c03f59046df2c6
BLAKE2b-256 27a4af2939a5dfe18f6bf2aec2d68a1c8831c8e6d33f5c635470b9205c0a3551

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-pp37-pypy37_pp73-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-pp37-pypy37_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 cf83a338bdc05a5e09e339feb90ff2ff3a4b955e9bce3e70d41fbd52090ad607
MD5 36b8c5cb1144cec599cc38ff8bbead2e
BLAKE2b-256 194e7504b800bb8bc5e5cbefde37f44aecdf313357c4a841d7879d40d7eee6d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ffcc356bac3d764c939fab2b6d3ec84a7cedf08e4494f75dcbd2acc25076afeb
MD5 aad1f283e5f96dc3464361a68a58fbd8
BLAKE2b-256 179d586b28ad76d4ea2506c1319672f84163cfb644d149b47ca51930a67c5d83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 76c493144c8a2dfd674c11f6fc5662576484869ae2f7651f6310b4318e977009
MD5 5164eeee076c82becc4f3af3724821a0
BLAKE2b-256 842fb0dfd1a536868192199706463948b03f59376b8ac5652f2bfc29439020ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c8f784137e866f49f1671811bd1dbea801c1920f071d58f897859ee0e1577fde
MD5 a9f5cbb1dd1b4e1adb3e902b729e4eed
BLAKE2b-256 bc655d7fea499ca4435a886582567e924e6632b69175dbf984464ccf0b13dbe0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c7424fab73824edcb4053456fb5728b2b78108a23c67d4bfb139c7d58c57a5d3
MD5 6243c8a9a8965b708d0363b5f665d337
BLAKE2b-256 592842ae8bcb02e04d27e7adf9958645e9b1271f06c3bc9ff9253f0196e08717

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 38eb5f7e55d4855b553d7351aed71016933ad3e15889d2c431943b5d9389719f
MD5 e9b3f5440ee7cb55f63806f10b16bd80
BLAKE2b-256 f62a011dcb126af432bc7b1716f076b38d6ce5f71e197bdc593bf849b4b32fa6

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp313-cp313-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-cp313-cp313-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 3b81cd83a24ea085f85ceaa7b4a4a0f149a4578f5ac5e6d49daa151dc2aec01d
MD5 8bf9f4f93cd99ca70bd9c9eb474a550b
BLAKE2b-256 ae9688adb60d0b9b9aa6a355829602c042a557934d583a2c5ec7598f9c1cb030

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 450ca1176f757ce877014c98a4e5e8bbb797f5fa2de2f144e715b56f05a3ea66
MD5 c81c9822c6d9d2cd22e5700f034b6d60
BLAKE2b-256 3d9ecb849ea0520b40217f19b806852d60c97d36d9dcd1d30c7dde40562452a9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4a45b1fd152aad455b895ceaee4a8b5ae62207beeb1547a72aa549ca1065aa30
MD5 158dc7e02b34b298af97fb5b2ef5e244
BLAKE2b-256 9a56444f5e40ff4b0181cb3dd31c681a1f88645eddd3cdd39d494d301fb32c3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7bc8061f8a6655a4b2ab0abdc91f355789468169557624af7889769f0a73e64c
MD5 f1e79dc7f6dbe5b39f409548979ad711
BLAKE2b-256 8d4a4e6a7b42e24b3ac86b12f2586ddf4a89e19336fe59d30b000a22e6229e69

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp312-cp312-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-cp312-cp312-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 3764e5315a0f5f7635db763b45259ce190855a3367048f9a83992e9bbd3e2a0b
MD5 0aee1ffff387fa284ee849ac7ab210ab
BLAKE2b-256 e0f4117bfba575612ee133c793304181f31e71dc638b67e9ed2369e2115ee82f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 8bd154790ad6971ac256d5247a60c31a7919efb19564538f198fa26b10a9a51c
MD5 c5292602cd937d073c75f9cf59437973
BLAKE2b-256 8923f5ce129b124f821aac57c1032feeba821f2276b8aa9f34d5d5b0294b6dc6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6c3502e83e5d331ea1f9fe4140bf149cb985173c8c50f7872435f44ded7087d9
MD5 3eb2ffa7ab9290635887f33f0cfab18e
BLAKE2b-256 c9eaa48bdc324fb6f53f258dc446fe1461a86b38cb070b7da1457b7cb063ed9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8df52cb4c42f4b17e599955bc509e043ffb8c696487707b3c9996b56d1ddb36f
MD5 525e6dc1e36e47761c62066528bdfbd7
BLAKE2b-256 3c8a57d767fc33d6645cda3301b6c20294db84ac88dffe6813daab5c6599300d

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp311-cp311-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-cp311-cp311-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 fcfa313ceaaa89ef67c254e1a1e71be5a93e780dd5e7366da249500f0f3e1a76
MD5 516774f58efb15896325de9727d58a89
BLAKE2b-256 30c0817b50b39de8714eff137eb40a20e9b858a85521ec1099d7bfc94f47609d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 5aa1946e852aca7a8c57fe99c8aa00c13ea0eb72e2e1714e164a025269f2fb7b
MD5 7a9d4163676bbb883e16fcaa25d4863d
BLAKE2b-256 d60b08c04dab7d9d36932d1100d03b228f63a1e6e1418adb8f3e661e5aaa3497

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bad5ba14fce3f8b8c25c1e71b4e5e196630e634309195f2a3493f5e833ed8443
MD5 61bf6c75024a23cb7c3cd2a4affc5c97
BLAKE2b-256 5a1296e60a5354b2a3b54e29418db7f74c942bc4806737ac1d75251198694d38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ba86bba36419a994b11ab73ac5d8551e768c45b8bab12bce8eac8188e8da3919
MD5 ab851a63e135873bb8706620ab3f833d
BLAKE2b-256 2aa36c3ec79e08a021f3e3f9724a497ad8335c40f90ae9fb4ff9749a83b95607

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 ad60748fa12fea32b88f2717e5a45f625852382f2d23e93b00181d400804bf1c
MD5 cdff8850c4e41a5abdf8546df58f414e
BLAKE2b-256 f5e563e39f9bca0bab4045e70e67da425efc0a91e3071cc8d6e3c7774e3a7a56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 ae7d81330f2fc2118b3c6bef5445cc9d277a2ce604014ccf589568df5cab8644
MD5 9636c0841c55d22372ef535c9e1036b3
BLAKE2b-256 63f1c3401c057057cf227af3ab5aa286f85a977d7df0483ecddd4b451e8d292d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f503c081d383d2692da5bd346e58fb8cdaca29137051c676cd55681c254b28ee
MD5 59832a8cc91924bf4ca85122e1b449ce
BLAKE2b-256 496bf305876e7ac91892e1723dec769dea8ebf1a4392c5e96a40ee618fcd4bf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b5ce100994ddb7d92035e53e0294f6e4b5c60fead6ce225ed5bb1a07277546d5
MD5 b4ef2e5c09b869ec978e743d7bb49587
BLAKE2b-256 a249b1a954b68bd8e06d30ee63f8103bb4650b1706d05d761bd3df76eac94f1c

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

  • Download URL: pmmc-0.3.9-cp39-cp39-macosx_15_0_x86_64.whl
  • Upload date:
  • Size: 189.1 kB
  • Tags: CPython 3.9, macOS 15.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pmmc-0.3.9-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 00e4937507b59db8aaca8541569d77fcbc57e391aadb0e432825f0db05666c63
MD5 303f7945dcf21ae1b07e5ad16757c46e
BLAKE2b-256 d6863af0462e4208daceb9087ccffade9f1b63bdc9f885d66986573774ff222e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.9-cp39-cp39-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 352.8 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.13.7

File hashes

Hashes for pmmc-0.3.9-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 f3d15b60cabf438c27c33dd7d01ecf1b15ea7e494be7240a8df4e7e9ca443d53
MD5 7a2b574b1366580ef9cbf5550cdc1a0c
BLAKE2b-256 26d7ff25cc068b42fbd112ce0d2c303555194c1782271722dd62956e3cb39a3c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 859c24613d7d2ad236b04d3ad0f21e1b355e0ed0031532cce6276df453dd281b
MD5 af8eeb42d7befeffc048209c9a21a99c
BLAKE2b-256 9ba0d851cba94fb2777080ee929c7b5af59131c5fb1fbb0f885084679b921362

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.9-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d3b49ca1e5f9d6c88c03c40b036c1bd1bb2a0b12b9e0431453f8846e995af3e6
MD5 1ca550860d98d8f709ee17677f2831a2
BLAKE2b-256 04368e52950aeaaa8a8623595ec372daf610fe523a3169bd6283f0c8adf2d4f9

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

  • Download URL: pmmc-0.3.9-cp38-cp38-macosx_15_0_x86_64.whl
  • Upload date:
  • Size: 188.9 kB
  • Tags: CPython 3.8, macOS 15.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pmmc-0.3.9-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 b448ed2f11b6e5ca70c6375e98c3fab609ad926389063cce9d8923947c2d9ea2
MD5 8e1ca08618082d87cffdffe87864e336
BLAKE2b-256 708485dfd839226685c7acc1b46b77e99a0459ecbe0f8f7121a04fbf3f1a4d39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.9-cp38-cp38-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 352.5 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.13.7

File hashes

Hashes for pmmc-0.3.9-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 82b57822c096115015daf4c50d2052a038d04a1705ebd28a77d8dd3a81ddeaf1
MD5 0e61dd8bf7663f3fef8251cd42dc89e1
BLAKE2b-256 d1293f0a08ee0fbd73a878bb341cf191d0eac2494cf3c3e9f8baa717963f0f19

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 99f4764e09aa235f6d45c78a774a8386c7b95bad6cbb33e26cfe3de86fc2831b
MD5 0a9d45ff38b80ec04f35c5d17d95a52c
BLAKE2b-256 26c58f45854a03ef1300040a8fc815d0044dd1cabe67070aef0f0d6206882086

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp37-cp37m-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-cp37-cp37m-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5626661c224ce77fcb439989a34773bfd42e3c4c13d42cd0cb12a019b45a4d7c
MD5 18f6742de3f6186d3ef71978c67586f3
BLAKE2b-256 c6b0fff58d47d03d629c0351a076c8143406cf18a656bf04815363a0c53db909

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 119125e9f7b6da4296049076d016ce25ad28caa280ec8d06e8110355399d3953
MD5 a180580d01b8a172496d53780f4bee7b
BLAKE2b-256 619ab98c082bb2ae4d97d41b03a8ea1c0aa8e2401b6e7800103fa5d8c8b91c30

See more details on using hashes here.

File details

Details for the file pmmc-0.3.9-cp36-cp36m-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pmmc-0.3.9-cp36-cp36m-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 b29f3665fc229315a81de977c9bfb483b9c8973395c1f9ef726ccdbbc66b1140
MD5 4fdad192052706ab16569a84ef096ff3
BLAKE2b-256 d26fc94ed8e6d20b8aa140a9af2f95405819ad82717f7af58324fcb96cef04a5

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