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

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.2.2-pp310-pypy310_pp73-win_amd64.whl (199.4 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (333.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.2.2-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (185.5 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.2-pp39-pypy39_pp73-win_amd64.whl (199.7 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.2-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (185.4 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.2-pp38-pypy38_pp73-win_amd64.whl (199.8 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.2-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (185.5 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.2-pp37-pypy37_pp73-win_amd64.whl (199.4 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.2-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (185.0 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (334.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (334.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (334.0 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp313-cp313-win_amd64.whl (202.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (334.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp313-cp313-macosx_13_0_universal2.whl (186.9 kB view details)

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

pmmc-0.2.2-cp312-cp312-win_amd64.whl (202.4 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (334.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp312-cp312-macosx_13_0_universal2.whl (186.9 kB view details)

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

pmmc-0.2.2-cp311-cp311-win_amd64.whl (200.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (335.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp311-cp311-macosx_13_0_universal2.whl (188.3 kB view details)

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

pmmc-0.2.2-cp310-cp310-win_amd64.whl (199.8 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (333.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp310-cp310-macosx_13_0_x86_64.whl (187.0 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pmmc-0.2.2-cp39-cp39-win_amd64.whl (199.0 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (334.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp39-cp39-macosx_13_0_x86_64.whl (187.0 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.2.2-cp38-cp38-win_amd64.whl (199.0 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.2.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (333.7 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.2.2-cp38-cp38-macosx_13_0_x86_64.whl (186.9 kB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

pmmc-0.2.2-cp37-cp37m-win_amd64.whl (201.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

pmmc-0.2.2-cp37-cp37m-macosx_13_0_x86_64.whl (185.8 kB view details)

Uploaded CPython 3.7mmacOS 13.0+ x86-64

pmmc-0.2.2-cp36-cp36m-win_amd64.whl (201.3 kB view details)

Uploaded CPython 3.6mWindows x86-64

pmmc-0.2.2-cp36-cp36m-macosx_13_0_x86_64.whl (185.8 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 96c8f409ed35d0b3600a3f2099f8148acc5e401c646f3bd7d68d080c3d24b1a9
MD5 5de494612cbb12a11844ba5006c686fa
BLAKE2b-256 7b45abb6d4e400bad60095f267a9e7873bcbaceab63474998607e26acff1de49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 4b60896986c5bfe1f0e0c7d4e5d6e9b8149e492f24faca3ff0d5e1bda54dd7f1
MD5 26c80b98c0b3862a28b5b01508c5f63a
BLAKE2b-256 22a81e5151e142dec8bca3f837492be95da3a605749d06f26002024d0fffc011

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 441604fb54105f7d980958dd87818e1551c8cb90b10df001eeccc0b5ba8bd6a9
MD5 7f792d427dfd207362aa1149ff7d3646
BLAKE2b-256 b988c9c1fc16752b123a75e235dfdb2779da8c0210dfdf41a36f5dd1c56bc3ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2912ce61b11b2d4a41cab3987c835aeb10ec1bf20bc5382854af439e4d567e40
MD5 c23a0eeae20b1b005ee06ff4356707c8
BLAKE2b-256 fdb2c342dbb2ce7d1be7167a37c7d3813ea9580bce8ca33cca69c93828b39ad2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e53c9c6686d812d332dbaba0a6d1431af7551f99f90bc91bc313566d1df8a0df
MD5 78cd0f7e8981db6618d9145143f26c2c
BLAKE2b-256 5259f0ede9efb6492266a377abcf4b08093a97c16284565c78ab7265c6380a5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 95a7b4530ab914b2c846938d81c473416517b80c5038ddc0931956154a7a8e05
MD5 ad95dcb3c3cd212db50493887a94680f
BLAKE2b-256 7dc562ffeefa0e40512048c276ff034c28ebf5b5e1a8d41070dc1339488ed854

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e7e76ea09fda0d00550b25ac1f7cfd9094f35f14093f6bbdb548975f04b8f350
MD5 6bf52afab296dc0bf531158f11a9b9e9
BLAKE2b-256 67460cd95d603d4005d693a9706e52f9fe9d48c6acc896d4a4e09adb90b29700

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 be70c6030ee14cab4aff99da61dba080ecc08f3617aea2c78ad15bfe55f4b4aa
MD5 1a4e3350e3294ef283b14dbcd018b960
BLAKE2b-256 7ea4fb86d11add0e3a9ff48007221152accd0152a30b1466425700ca602c186f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 bd6cb390c0a5087106f7a801e37c83ebebcd11d07143c7e8f5b1bfc5a093c924
MD5 0101d2e9acca9de92239bfd08cfecac3
BLAKE2b-256 9332773fe8ee97ff772ca7e298ba6422f4807dc980c1d07e8e35a9fd0b91f2e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fe04cb21ebca26413844753382a61f3c8868439f87c2a4d1c8319a032d5fca56
MD5 4393d10b87dc69cb7835a633e5c6a216
BLAKE2b-256 de15bf6b013425bfd720bbf454a2f97109a72cd6b4d4a42cded584bb9c1a7bcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 2b2ab42d8b9a5425ec85ab8702a4b4c51c2fbf1d707c09654cd5c6aec17b6ec4
MD5 481c52984bf3077a1f4508cf328b8fea
BLAKE2b-256 6a02bdb88223a8d48e0f945d286a76a05be249759cd5d67caf9baad874556fa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 34d8105a2d97b53e132d6141d95662bd62256832b4d1299bff43bd58773bf2c7
MD5 df8c176eea7e1201d86591443e6a2768
BLAKE2b-256 4a679c72df41f0526e9ca52e21251dc49610d491cfa97c2e3c6f78c10c09f24e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e6f70507ac6e50c8ecb9f639f94db7793335d341d03d57af647c1d853ad20332
MD5 1f0a0013b04ce69e68957bec11d7782e
BLAKE2b-256 77ec18295dc00ee38d65f772345eab1ad0fcc609644fcaaa4c1ef31b15c0c6c6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 202.4 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 90846caae75715574bbb2e883760fb8863340452cefc4628e28281aa0b55feae
MD5 e4f3c0852c92f5f08afc554b813b6f0e
BLAKE2b-256 454198830394d10fa2e226f1d37721798c09854cb7c26dc11856726f5ba95417

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6ac72a440bae722780a45588f799ad38ed6b1668045a6e4ed269d64241b0c80e
MD5 15e8af5c8a4eeb439137c6c65d6b40cb
BLAKE2b-256 4443330d367b8e637ee77f9af0b5921ec5211ed2f6e26d0b99aa08ab7289aadb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 2eebc92ced2705516d4ec30ff2cd4c38a828026e63ab76a1fb0db4d473b619fb
MD5 c4e16625d5c1de1a51ded719203c517e
BLAKE2b-256 14bfd98312222d41b0fe40c83b1924381b481a465a7920468474e1107fdfa5f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 202.4 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 503a0dc61a2d014c3e93eb32946d372efd8eba31edc3fe1cee22d79a1ab72b7b
MD5 5e0bb8169700da2f5ae2e882d536eed6
BLAKE2b-256 40fe72ddc9350d2261077d9174291457c5bf12677505109936f9de428d99e9d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6309a0a1ed0503005d6537973c1c114ce77035e7578627202b38e8019a6fc538
MD5 85893147bfc5ab28b38cafdd92750c4a
BLAKE2b-256 98add8911436d5d37fd98f4e77baaa4e64ebfa603829d82b517a3961a7a55ad1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 cd2637987b09c3c08dcfa448634501c9881b1b8aaecc2ed111aad5cf92d666f1
MD5 78a5e088fa1a7942e98b9b1027f670ab
BLAKE2b-256 66cb93a04e0d7876ba17e7dc229106682601911df3a7cfa6495d465b5821aaea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 200.5 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a1fdeb1b7b7fa1d48aaa2b06ecd3f40c27c264085af977bfac08e13a037e489
MD5 13b2152aa131724aabba44c61c24f1c4
BLAKE2b-256 f732f128ead0712f3f3a22fb0f09e6ac584c42364b36893bba928558c4b906fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f906c1d1482d9694eae0d37405d983842f2482dfc7587ec4dfe9c41551f52eac
MD5 effd3935450d10b427b6744151405430
BLAKE2b-256 d9e10e4604f8eb4bbd4017ba9f80151d31cd59804f5d800c208be4edd29c4d09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 79228e48baf30f7a68e02751cb7c562730ad03bf209601d464e13e82f6d6b194
MD5 a0d2ab3b0aec8d30caf754c8ccfd7cac
BLAKE2b-256 6917a786af3c0a06d30f26611c3213e5754080abc109ce09e8ce3fbb34a076ad

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 199.8 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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ce7f8f25cd829377e23b42afcdb57214e665d3a1ea59f6176c541152d8216d08
MD5 d1d5a3b15d634d05fd807f0e47aecb41
BLAKE2b-256 0ec56d9791688fab73ecece8bdb6a5bdac1eb603a044c17a273f14e84519e05f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 fece0092adb71156a01287ee376cec8ccb5e4bdcc00e5aac196850129457da32
MD5 ac40dbf1534904fc4097301ae7f09465
BLAKE2b-256 5a0cb0d48c556c33e17d36d7d7619e2afc6f24c5a6833594aa2509ddd884f433

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7af59638601d303988f55f9aeac52b06df68e005492664952dd8da3229e5a003
MD5 5cbc38a7c330521e9b1490b9b58ca8c4
BLAKE2b-256 6ab11f277e6ad92b4ee965bb9d9d91c490560782034c71517cd3683a7e3fcec1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 199.0 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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 25daff05eac3159d7806b71c8905a103d9301e07c01e9a5e35e2c1df7b57c7af
MD5 608734d2c219bafd5b7ef48cc9ad9c7e
BLAKE2b-256 c7d734cf8d8f8a3c33d3f2a951d6e4576fea5b87ed8fcdd92f442b9e495c4dac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5c169bfdf6e495d5cb5eed066d21e3cc2690c2e46a8468f5152704de744e08af
MD5 8963298bc67611a8912723d61bb869a2
BLAKE2b-256 7e2466c7c8aef0c584eabe55d5d29812f79923d69212ad2abdf23347a44eedb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.0 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.2-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2c1dd6fc525172d1ddb56c25b8eb319d81085f30fbfd253d900d706e6d4e00d2
MD5 b2abc283cfe01c7b0973dc8b9bcf1119
BLAKE2b-256 36724133419bf97a7901a3f442d0b9b83f7c596ccf56e0455ca908cf1e1653f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 199.0 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.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 11f02efebb567e856a138173028d6753d1f4258269722522dedb94fa83d4e4cd
MD5 ee95927ceb0e8a73cb149c8b3faedd4c
BLAKE2b-256 85056bb6747a56fe601ded13596f955e1450b237e113557fdfe51ff8e9686803

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 a456a33a77dc1300412dac04dd8cfce4bd03281874577c8f202024e6884acf63
MD5 72a12796c8547f0e0a2fb9ca0068f11c
BLAKE2b-256 19d9f4ea7f5fb22bf27e121bdbb19e3b9bb37f64e629e7b26b45b2622ea8e763

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp38-cp38-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 186.9 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.2-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7df40cf5c705ab5c748be20f5248f9512d7d838897b7c79f0f20089f04c55568
MD5 f74ab4107745f67eaa9ee583d68744ef
BLAKE2b-256 dc33ad70f36297c16f8d42caa84192a99e051b3d0e2e7f30e32211444c41283e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 201.4 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.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 712e72788894b12ab5ed7c4be53f426d1de91ae47901c3f0f8df1b1697e94812
MD5 5c46c7534ef6b19445b343124938c699
BLAKE2b-256 45a552ec8b7098f3643a2c2690d0140ea4327193abff2f3aa2f06160ac5c9430

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 24961b2d11aedc5dcf4e941874e8e3be257681d5068ae20af5c95c847a3158dc
MD5 1d350c9cb416447ed82233056f65fb18
BLAKE2b-256 341875aeb5a2ee274b999563f1aa2d0ffc5863aa4371318689f6c34dc5da18a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 201.3 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.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 c303d83d93d9595388e8164e8b7b0508d7f8b7ef92137d0ed5d7036ef25c1079
MD5 b569ed8c1c2d2e94f9fe692ef409fc63
BLAKE2b-256 e58c0c9a550bce8937b14cfa30b0ce2c81d7b8cdb06fa64f2b7f113cc17a6f28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.2-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8d7c247a421c8a87dffbee3a1181c67a369a092fc2977b3815bb0345e01b1c67
MD5 54e6a4df77e0c27b79c4ee65d49cebc7
BLAKE2b-256 ca3118363c2ef28eda43ffa26b6f2bc01cb3f1093954e61030622ec4ccbf3cfb

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