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

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.3.6-pp310-pypy310_pp73-win_amd64.whl (521.2 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.6-pp310-pypy310_pp73-macosx_14_0_arm64.whl (349.4 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.6-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (186.3 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.6-pp39-pypy39_pp73-win_amd64.whl (521.3 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.6-pp39-pypy39_pp73-macosx_14_0_arm64.whl (349.4 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.6-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (186.2 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.6-pp38-pypy38_pp73-win_amd64.whl (521.2 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.6-pp38-pypy38_pp73-macosx_14_0_arm64.whl (349.4 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.6-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (186.3 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.6-pp37-pypy37_pp73-win_amd64.whl (520.7 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.6-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (185.9 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp313-cp313-win_amd64.whl (522.3 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.3.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp313-cp313-macosx_14_0_universal2.whl (349.9 kB view details)

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

pmmc-0.3.6-cp313-cp313-macosx_13_0_universal2.whl (188.6 kB view details)

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

pmmc-0.3.6-cp312-cp312-win_amd64.whl (522.3 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.3.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp312-cp312-macosx_14_0_universal2.whl (349.9 kB view details)

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

pmmc-0.3.6-cp312-cp312-macosx_13_0_universal2.whl (188.6 kB view details)

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

pmmc-0.3.6-cp311-cp311-win_amd64.whl (521.1 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.3.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.3.6-cp311-cp311-macosx_14_0_universal2.whl (349.5 kB view details)

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

pmmc-0.3.6-cp311-cp311-macosx_13_0_universal2.whl (187.7 kB view details)

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

pmmc-0.3.6-cp310-cp310-win_amd64.whl (521.2 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.3.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (744.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp310-cp310-macosx_14_0_universal2.whl (349.5 kB view details)

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

pmmc-0.3.6-cp310-cp310-macosx_13_0_x86_64.whl (187.7 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pmmc-0.3.6-cp39-cp39-win_amd64.whl (521.4 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.3.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp39-cp39-macosx_14_0_universal2.whl (349.6 kB view details)

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

pmmc-0.3.6-cp39-cp39-macosx_13_0_x86_64.whl (187.8 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.3.6-cp38-cp38-win_amd64.whl (521.2 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.3.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.3.6-cp38-cp38-macosx_14_0_universal2.whl (349.5 kB view details)

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

pmmc-0.3.6-cp38-cp38-macosx_13_0_x86_64.whl (187.6 kB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

pmmc-0.3.6-cp37-cp37m-win_amd64.whl (524.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

pmmc-0.3.6-cp37-cp37m-macosx_13_0_x86_64.whl (186.5 kB view details)

Uploaded CPython 3.7mmacOS 13.0+ x86-64

pmmc-0.3.6-cp36-cp36m-win_amd64.whl (524.1 kB view details)

Uploaded CPython 3.6mWindows x86-64

pmmc-0.3.6-cp36-cp36m-macosx_13_0_x86_64.whl (186.5 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 44b66d69c2ffc99c385bc74db0b6221bafd9bdf437575e53cfba14c2cdfb6f12
MD5 5181661502943cc629459e3aee55b1af
BLAKE2b-256 7316c1fb0dd6e3d62dd8839e9cb7eaed8692f2385528159fb3d51ff5c4c74ba8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 247be2e13b8b609f21120971bdd413d217d527cb78b3febc8577b8de8735f1ee
MD5 30929e5c74cb8b08f5256808efae62e3
BLAKE2b-256 912325852da0c7c1f7149f911ff848ef2061e696a05a2fd8ecaab95ae0e52d3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0a25b1ed8cc4b67cdd5e4cf8175c1e3413394365be8b1bfbbfa2aa7174211162
MD5 62976c001eb171cd7e61d4cc28a656ac
BLAKE2b-256 c75d6375ea99b8a571df3e1f114b3cba4d8d0b884cede3c0e84ff8afd0de23cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c1e95cea2080421af7856c5420f3079bf96a5a3b36126584ae6a1674bf83f874
MD5 2046bec0648b16778ba927feea9f7a97
BLAKE2b-256 62eb30185dc6bf84c0673a792f008da95cf73dcf5fe7ad39caa6283135213468

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d6b31838bdcbb073b3bb7b8bd6dae49d77c2aec792dd623208e011f1fd92554c
MD5 648e780668aeb29da92a0be4c03525fb
BLAKE2b-256 045e9e3072afa87f9ad8e51f3fd14c908d2ba7805a13b8e2a9bb8e4f27a99f00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 41e77e7130bc710abe441f5eba745f5780a996ceea9116aba0d2f9f3721b98aa
MD5 1e586fb304442ccfa5c69b2b60bd5515
BLAKE2b-256 dd39f48b2405b326227fadb884d72421d56eb5fcb5073b6920f5662c9dec335f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c19a94c30bb5959bea56c814c2b8646f76cdfd4554c744d737ae530544c5120d
MD5 adf4c9aa6dc1aef7541b0fbb948cb3f1
BLAKE2b-256 9ff1149d986d26c2ad7fd63ba2a3aad3b3b871d80983d3347cb6e1e11a3b1b99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a39c471c15a0d32ad76d8a8d05920aa9a6ea97e350b165b0bf164b7cd4ade5e7
MD5 fd09fdb64538859a066cf91a5800279c
BLAKE2b-256 ad9ba9fb8e3a4555b6b92b8547a86ae4b8f0a7325b0717feedcd3bf9f445af04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b45f439ce4bb6bf90b8ea931d7029db63bd3c6c794061474cb091d0057d7f597
MD5 c2e242893b888c44505763692e6d058b
BLAKE2b-256 b3195240c3e88d5d2ebfa5af8080ed8d75e90a3040ce96420f58939cbbd8a773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3b24ee685ca52c9d0693e1d2e6466c2efe1bc85ead09b9ecd00315b48ee02f78
MD5 7cecb3a7edb65aea149b75107d74a9c7
BLAKE2b-256 f50ec426acea7b51a945120b499da7c61604182a0cf6ed1e3d316c0676326205

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d5c56452c74b21281a93ce10de051023a90c50b8e2730af3e8192d643af443cb
MD5 fde471e36a8371b47d6f9256a46b36f8
BLAKE2b-256 197c71b9cf7ee9bedb6a03d16435db15e6cfc4a77d1a6c8332f0f7c231bce2b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f81c094f1c8c112954e81c9cb967b8fdd856e6d87591a0b4c252d7521c98c97d
MD5 635f80ad57340f3b520a376bc61f7198
BLAKE2b-256 5013dd7e4d04246295e467edd61ff0db7f1a50d53b2eb9b4d2d450698c99bedf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3c9daface20f589a13ac9f5c7afed62c0a4f63df278b41fd5e05a14437d0dbe4
MD5 e50dd1140f7fee5c3bf8113725aeccaa
BLAKE2b-256 5495bb9403e28665ae07dc096db0052658428a75ad09a6fa12e5bfbdb970f3d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 967ae04ea97b77f99cf558e599b380ca9b3297cd446625b1592e445ea982fe4c
MD5 a97861cf1d8c2650ed7d36d16e66b1f5
BLAKE2b-256 8c0b9c8793a131e9f41d440b8326361e6047ecd6efd4a1f6d913688957ef549b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0f87d404b3714098bf0e49cd13ba6c993a3d8c0135349eba5ba22ce59b4b82f3
MD5 36cedcae1b47b006b777a3c1d4debc02
BLAKE2b-256 7dc9878b0a28328124aaec9721f607c2c2bb71ae21243f4a1df0029839be0a2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 522.3 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 73eeaac1a394df3795e0f3769cc4e059a38a17a02e1a8d370d1801247a2ab4f2
MD5 0eff9ca2ab9de66b5831d15e7a1d4657
BLAKE2b-256 fcbf375e953f42d9f32f6d8e292a07dba76398ba75a47503877128cc8b014b5a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 14f1dec28298ca218627b93f32b5403539c727c3e13592858bb3dab2a878f138
MD5 17d4b2e661e1b07cb183da85ea5ed42c
BLAKE2b-256 1f55b0387971f44f73f2c616c4527a0863a25819f44757654a883ca61d6c79b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 12d4073db82dc96edcb289b02d0b7c3c82b8174f766e27b5b000cbbc65208201
MD5 f1d14a749be1bbd91e71ff4a7cd44cbe
BLAKE2b-256 c4c9d76c29faf4634b12f5bd78c9e217ccb3617d8e0766d6dc8ecef397050b7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 1584f268209438dd575fd81678b727c30c573411e0af0da1d635b95f2f8fff2e
MD5 28d47bc713c9f889d7ea8c99faebcc6e
BLAKE2b-256 2e603f7958caab82f9c7e9673114f53e61cce556a428e881ea18929b4002005d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 522.3 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eab83a28e3fe89bfce2b00ce5c04ffe59237c1658370e5d3fbf23a4c2356a37a
MD5 89dde811955990a9d467a273f05a1a64
BLAKE2b-256 63c456cf885395cb39f6cdfb3e39bce3383e60a1d6fb2f0e7c0ba27a5f5607f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 78bb370ef22fca89a6ab7612c357738c0303b50aa26fc6b5bee101f079c37c8c
MD5 c107eb0a7ee9058a178cfc165c23e94a
BLAKE2b-256 12fb3dbda147d9f3df90edb1df25be0ed6f0b57e3cdaa137dd7323f6182d0f51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 f53e4fa1ddb251838f2de514d5f4e9312aa20f3d1919f33033afe5b434d806d0
MD5 ae954f1778bab2d40f07c789a3bd7c2e
BLAKE2b-256 a5812d00f800cba26fa8a5404067861107aad9e33c62d6d507f8eaacf976ae7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 b9df575168bc9a8cf2e5a9f261537f0e9fe29ff381654fa290f0e1d2d9a824aa
MD5 a48f11d2b4c1e336a48c185e4020d7b7
BLAKE2b-256 e8b50410c50f44417b519d25233ca5b323477c6410237465159c793e7b0af5cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 521.1 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8a5f470e237a1e626aa4c8384101cea73bbc5c4d3099c781ad0b010d755aa55c
MD5 75c970e4c39c632c6e55affdfe364df7
BLAKE2b-256 40ae838d2535d956114c413c1b68746e32934e9c83651ff64e9adb4a6cac0ea7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7ce496efad2da6ba88b1cf13f23ddf912547ca3436dfe564fc62b921d50e90d3
MD5 5326fb3e58b5ccc6617de4781837da8c
BLAKE2b-256 68bfd69d0d0a90765a285599220bc71e8f2e88b73ed7ecf13ab43db14477b93d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 9f6a390d30e9bce4aa784d52e8a6ac6d6a49adc647a615fe92bdb1d448e328ee
MD5 c0f3f865fd50cb2a68788ddace78cb81
BLAKE2b-256 217a95c39088c731e31d116c5d044e1b9418a45465bac774e194938531d9f522

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 21c195f765c213ef2000d7c4cd7b9f12966e2fef43b3f456bb51a668c9343ee1
MD5 9fc103ea5c508e1fabdc944bd4ed49a6
BLAKE2b-256 967d426df0f05c3124b8d61a5c3e27f03b3aff2415f09e6749d55861bbf59144

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 521.2 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4abcc1c8dcbd15119327d4e038bb9c9538117b479cf4753bd147327c19ee72cf
MD5 7feff78a60ae10ba675dbe9265858b81
BLAKE2b-256 aa899c28b70e12eb1c7836d365d74ca7e799ef86ee4753b742ed2007e7ed4cdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0005d1747158a1be8d94e00ae815281864fc0726f7b510619811166a68934300
MD5 f80665fc3cd2cb358dd44f1ec02e63f7
BLAKE2b-256 30f10e402def498d3b10aeb58411ae81837e87f2fbeb0f608052876acd011505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 fed9dbe8ae1528c2957d24b9f4f1ebed0a757c1bd46cd38a9cc1cfa50e8f7c11
MD5 6aad960593a887ba46648b715b47f8bc
BLAKE2b-256 f19a1fbf6e5c93ac041b347ef3f171b8556c60e33c628f2b6a280bac92511b8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0dc74be0cdb1e25898080ddf5da92ae2bde4f274efbfab08de2ddcce3724d9be
MD5 1b8e020081ff2b9fd80002e088970646
BLAKE2b-256 c44e5cac49ef3c4393386122f3c8f400c4dd5c6f28d8f35b5d97253d584b75ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 521.4 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.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e61d440a0134cdd3a528de05e1470d3d3de9fa7d059fac9b58d473b2a1dfb394
MD5 712aa17afc4f069440e798cd97ad9e87
BLAKE2b-256 9aad1ab5162fce5d3d2ee70bab8c24b0739e17b93be73611ac801e0eadf2e818

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a406b462061e5ad15522640b1d66c7c84b7e49ce1e3e39637c8f87931305cb66
MD5 c43dcb3a649c36cf790c637dabbbd8c8
BLAKE2b-256 99b7e3947f77a866662c52864dc97519a7917e63d013c3abedad109ef355ede8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp39-cp39-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 349.6 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.6-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 079cc12fc16aaa8f7d8f8ccb4a3d5710fb388d231c3468d0af19cd4ff3951609
MD5 7ae22f914758bb97c734a39fe777dc72
BLAKE2b-256 2ec9fe5be4318dbd8eba5df8cad17460ce07379f2bfaf1ca0bcd43fb218a39d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.8 kB
  • Tags: CPython 3.9, macOS 13.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.6-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 862d4fc3cb5464df18b444e1491b41b253bdef467120033ba1421776d36dd63f
MD5 b359b156abd065784fd1526709a5e6cc
BLAKE2b-256 eeacf7c7ebd3f59d75543a789ef829ec7aacfc30c7d9bfb0a904ef211c916752

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 521.2 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.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 512d006357ada86acaab4885899287dcf45d0e6f8c267c3c3f0e80887a9eebd2
MD5 0d109c746761ad0105924f925c4fa54f
BLAKE2b-256 fcd3f7b1f7d4aaa8ff223602fcce8d571bbb6c24aeff2295b31cc4af7c858620

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0eae0e5ee65b49a44c2a838230fd826a185c2b83858e345036f76092862ab378
MD5 18c544f3c5fe8743a0fbf92f4fbc6db4
BLAKE2b-256 6348c369653f35258a6a31a00ba76c212979be541abc1f4030811962c3248831

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp38-cp38-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 349.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.6-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 767c3d45a43dfcc7f421f7de3238c71c76ef9a18c2031e1557d3626ac99d669b
MD5 1f760d0b877641c6fe8e3c30bc9285f2
BLAKE2b-256 853ac474ea07bb0fd154d7fa584232aa6eb6fc2da5a70f5915867b7b2a6feb8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp38-cp38-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.6 kB
  • Tags: CPython 3.8, macOS 13.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.6-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 35c3cb1fad0441637e831454d8e578460c0190d43fd7835eb51bd827af25433a
MD5 864403939777f99622ddd9089d6b26d1
BLAKE2b-256 ca20d9c7c261fa91c02335dbaedbbed5a5a42e2ad1e5785cf3339137734af0a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 524.2 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.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 11cfa8e38a554e4a6c1ccc08975a167cc6ab6702047db4fbbfa04c8ca72ae11f
MD5 583c2954000c8313182dfb4962933b8b
BLAKE2b-256 9f41bc77ab9235f6a782ce914b17291b54c1cce3993e6583b09d9c61378b1dd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c3cc6c27036dd85bae7e895605e9f8140bc9bd3579e769f70ba12d6409ca57ce
MD5 f50fa93ab5906bfcc670aafefc8cc741
BLAKE2b-256 da309e6eea1c165602ef68bf4154dd399c51c443518416db6cb77e077558297c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.6-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 524.1 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.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5d805b68de806efa8451593118bbc155d848e90d59eba08ed1c6065e9d513bbe
MD5 1bcb9acaa9c23b21c4c4c5ea4e8acb4a
BLAKE2b-256 61f032a55803df76c666e23e4218120e92d0f0e000d59714686af13eb18dd07a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.6-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 112edac3c06988418605a4e4b29e857121d4e024f674db5c533d3f192f3f59d1
MD5 769586e5d12d60ef16d5db6be982bce4
BLAKE2b-256 869446a120e424533ac831f7ecab242507ccfa91fd24b1286e72faffbc84fa83

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