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.5-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.5-pp310-pypy310_pp73-win_amd64.whl (505.2 kB view details)

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.5-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (186.2 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.5-pp39-pypy39_pp73-win_amd64.whl (505.5 kB view details)

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 14.0+ ARM64

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

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.5-pp38-pypy38_pp73-win_amd64.whl (506.2 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.5-pp38-pypy38_pp73-macosx_14_0_arm64.whl (349.5 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

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

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.5-pp37-pypy37_pp73-win_amd64.whl (505.7 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.5-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (185.8 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.3.5-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.5-cp313-cp313-win_amd64.whl (506.0 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.3.5-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.5-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.5-cp312-cp312-win_amd64.whl (506.0 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.3.5-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.5-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.5-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.5-cp311-cp311-win_amd64.whl (504.4 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.3.5-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.5-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.5-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.5-cp310-cp310-win_amd64.whl (504.4 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.3.5-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.5-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.5-cp310-cp310-macosx_13_0_x86_64.whl (187.7 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pmmc-0.3.5-cp39-cp39-win_amd64.whl (505.6 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.3.5-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.5-cp39-cp39-macosx_13_0_x86_64.whl (187.7 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.3.5-cp38-cp38-win_amd64.whl (506.2 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.3.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (744.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.3.5-cp38-cp38-macosx_14_0_universal2.whl (349.4 kB view details)

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

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

Uploaded CPython 3.8macOS 13.0+ x86-64

pmmc-0.3.5-cp37-cp37m-win_amd64.whl (507.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmacOS 13.0+ x86-64

pmmc-0.3.5-cp36-cp36m-win_amd64.whl (506.7 kB view details)

Uploaded CPython 3.6mWindows x86-64

pmmc-0.3.5-cp36-cp36m-macosx_13_0_x86_64.whl (186.4 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 33b39481b55c1fe16830e18140b5dd992766b6bc29a48a1333448b96abe51489
MD5 04d0312f0c96e943f358ff7cb8627597
BLAKE2b-256 883178d928573b3248dfc34078fac90f024d896bc5e6a6d4542a3e01bbd3a308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 fa4d23584f9fb7a5e8e50f5700088d6355ba6e52593eaf743e6bde182e24cceb
MD5 eab1e89fbdb1a6485f24a399c019b26c
BLAKE2b-256 260a6201ea7173c03e6622f202a665ab09f3af8934eb854a81878d94bb95a7e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 124432a2f456febbb08924730dead6a4efcfeabb0b823710a63b35cca650af46
MD5 c9536d361106f373965654e5d41c39e7
BLAKE2b-256 d1ab3266cd5899b6479c8158a2c3a916bebb1655f3d6ebc2c487f0c1f81b8568

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6942bea6c19ef1a21ed2013f7d63105fb7be516edaad6bf14cbe0d20d8d5e51c
MD5 6d0c7e9fbfce880d12f56b2a32fcfcc3
BLAKE2b-256 5508ad2b556d0ef1d0a2fa1b9f007d2d63e6a25a318ce443f9f150192d5f018c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 de4c572eef668166cf83f9e3bbfb25b3749eb7917bfae0489f4f02c84f7d8855
MD5 0e29a6c83f97724d232af1a4e990fcbd
BLAKE2b-256 d0cd1a07489956c05fd1810fb0b3a11e232d864b60d292f1c5f28f163d736ea9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f17500179a61dc82941997f717202bde951e0251c100ba0f7468a78bd8dc4e08
MD5 0328ca90dd1a02415411b345951629c8
BLAKE2b-256 51bac1772352701ee205adbcaa4547da0548e7fa79e1c939783b7cc9185223d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1de58346c0e9e4c7d815447c85c0fe8887727d64d48563253bf63bd8cf32003f
MD5 cd396ea08fd9a485e2b828128eacb396
BLAKE2b-256 234268e19fdc39a70b90b69884feec45af43933b00b84d2812d02264c0af13dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d1b748ce7c77a7f4bd0092c338d8ba1e6915d671b9462eafc06d279f78649f02
MD5 72ddaf6bfaa3acc221d12a76b3c12edb
BLAKE2b-256 ebc40101699ef6bdbb713e51e9705a7d6310f24ea2affc215bdf2e8576b3c1ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 c65e35dae010bf175717b0e72a7c419a0e0fa4a890daa47f78398eb62688b1de
MD5 086a1cd887fd4846eba14e5baf79a200
BLAKE2b-256 133d9bd56956002cf4b7a9a0443ec10ea30c592258113930438f9a0264df84b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1b59736d86f71e27ca8ebea2029c7cdff96b9efbb631df9643a4fc865fda08a7
MD5 97bf5db7400c818f2285594b183c6a8c
BLAKE2b-256 189c151e85bfc65e797051022b3dda63c7adf4ac778e009303c284c1fd2850c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a0832df93610847554eeecaa826e03cbfbc1e166f9e39ef13b9d40421b44a086
MD5 d5c3580937213b39118be5a8eb7b6d4a
BLAKE2b-256 02e1015f6b9756ed8808c0bab01ecbef98d4a5e3fa4e42e378e8741a9d9fc2a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2d996d8d5389ecac82fa05fa0b2a0bd80de758107e257a8130ef8fe614c4cc61
MD5 93b78f8bfa1167c3368daa9df3de78f1
BLAKE2b-256 5c5aac1a12e3cdfc53f0201841d72b3598f1b41057a14713e6f9cd996c446de7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bd74c434e092749f3ec722295419bfa462a61b2a567cdaf454af43613f13d58d
MD5 1763361062029034df4c0906174f6165
BLAKE2b-256 2bd7359347a09a960f3354861c921b145364f42016935e00972c43099d4f439e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dbaa9656f120c5f94d30ccaf65587ce4bf475a6008c8a8bb564e944bce7f0b76
MD5 855cca1e965bc671e929aa3b3508cb59
BLAKE2b-256 010fa7178c4b99c53081ab500e74b82c22eb7b36bc916a3829c8cc4eb9f597b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bb9d6442346a4333dbb9c51b14cc5d7d61032c11cb692a5b6627503c407d80cb
MD5 60d7520611c4d3a71024ec20df76bfbb
BLAKE2b-256 17f55b6b848dbd0c320b21cd751a40479b82a5cf2a24c3313a57a9b9a44eb9a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 506.0 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 657a3a53d45dd3dcf609340ac735ef66fbd9033a7c411ba1d4fa679d178126da
MD5 66f2108cb5c0307a8464c3863361dacf
BLAKE2b-256 8635dcf5c1e9fd08a2d90708fffa2de9edd179950a9811f0ef9fd2fa9a96568f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e187743ed8b542b72b81cebb8c735454af91e0a98e9cd772c5461b1027aedaa9
MD5 35188d3fe92d3cd9d495068ace7f82d6
BLAKE2b-256 f78fc4668e5c50a997c0abb2994c2aae1ecab5e2216ff9215a02c560bab1800d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 bd959a3fa4467f75260324dd1363fba1f0cc12cab898cf1e2f5671aa7f84dd93
MD5 30eedf23d14a1a85299ef57054a997e5
BLAKE2b-256 0592a1f8296e7de7f236dedaa5ae685f7936317f548c927ea29c423416f9986d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 f7c17a4e7721a1e6b35b4dccec10dc3b721c78b32e5eecd545f2c31966663e8f
MD5 43d08ebc39fdc925663a35619e584acb
BLAKE2b-256 5c45383bb49ad8ca6478b2fc046d11b2c36cdeb3157dd8e72f27856e19b13874

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 506.0 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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fade7ce08118bfc6c27f2db0506b95bc0f2a25a26e3722db14b613e5ae727327
MD5 3d93f36444d9fbfede9fe21ca8bf9f9c
BLAKE2b-256 c73071bbe0e9282e29b6ff3f8e332e367442bb32044b968e2020eb08af8e5aac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c785a320a36b1e818a1cab83e7a19c978515223f2ba0be0b9492ca64fa274371
MD5 777ca6b432da784ccbd4bdfb2078798d
BLAKE2b-256 2913f911ef58f664a7a72deaca344455091ac9c103da1097674013b2e29a59f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 b919d44119eb5b1c867ec41ac40c4dbfed5bdeffa90a92eb70d260c7f224b417
MD5 847a93ab8aa627ae76ba99b781848cf0
BLAKE2b-256 a1af9ee9b2fa68d6152147bec94e91295e35bc6a04e353091935931c760555da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 93e5b4f950191ea886eb2e36802f16a8b0c9713018dbb0a04411dff8fa000b92
MD5 50c92c5238fc0eb85e827d92c0b7ac07
BLAKE2b-256 ea41a972b10d34c8e13710761122db56134015453b34cdcb4d259d65e5a9203d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 504.4 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b9820c5813d346637946f1736901a891c65945618b78bb8a6cef38addb67999b
MD5 756d3f5a0eeab3a3d11d0808fd908fc9
BLAKE2b-256 c73db0ce2359a1a90e74219c0802ab0cb56577f032c34b285384f5851f75e754

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0966ec918c7278cda623a787e950ffcd28abc60cfff270f24716bfd3ae052850
MD5 807904eb0fd94c1147085841a1222684
BLAKE2b-256 5507762978dd3f663e26c4e1ce6c96a864b82a982dd86d6fe85b9ac6353a8926

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 7ac608c20beb33bf7d342740f0d0b3af324d3a9156af27116f442750ee2a9571
MD5 4bdcdf1717a9e9b81d3e0409bf8d63ea
BLAKE2b-256 6849c8ce4fd3dbe1808c00b1dccad0687dd89a05607088f99d603344c9b58bdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 9afdc362dc420d476e8c44661c6e8d23b389f09e7ae9d3bec4221a134142ed43
MD5 7f9aa4e364d3053bc7e2bd4e67d29754
BLAKE2b-256 0e3606927d9704f487c9a1c32606df233407cb7d2b3bb0bcae7826aae9463818

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 504.4 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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e380eb4a38a7a82e8e15d9b4d1b12f19218f42a7ce5a051b9a8e726f96b8e850
MD5 6edb1aaef18a22b5676fdda20622deb3
BLAKE2b-256 6689e5aedeb005fb8901936129469a805683b6ce43f04da03b09a9b208424aa3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f74b5e5ebf14cb84eeddabc0023785103ab1101bdd802d817069e9e493df3f38
MD5 84dbd3a71d2dc989934af58eab9a8416
BLAKE2b-256 5f6181cab6a04d1adb77ee180e46f052539e293c0ae8c77cc9b8f11844efd57a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 89a0901b0dc0c261f11bf88f1b1b05a44aeb67e16729ec85fe4e48f9dd78f5ef
MD5 b2f6a425bcb2bcc56438fe8d1bf605d2
BLAKE2b-256 c32afd6e8c1964b34d965e8b787858b0de590816d742bbdd9a3481d045084633

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 366cbae95c3de21f56890202487df44e9004c34893cf69503b97530691f16f8c
MD5 c67ce61d946ada3d6a557c82c3a79a02
BLAKE2b-256 7eaeda409529d717f7ef6ac3ecf370b4304a25fbc3dc40fc2b4815afc8bb41b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 505.6 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.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fb17c77e64ed85db91092b1ec1c8f75534e0cce3892308e6ee7d379779173b9b
MD5 ea10122270ac9ce04931e8b42a628695
BLAKE2b-256 a9aed55b82b73333df59a984a4e65c7097484e7fb9edf9c81cea94f650daa78e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d33717e8798d324fdaff75ba8fc8621f7d36a04a6f9b4f9423dbdf5425f71611
MD5 cf2e39038d6cf38d173de555299f2821
BLAKE2b-256 612d5b9fc547738a7c1be53e9aecdd6b2b0f9392c52848d0b8ac45fd46834b01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-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.5-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 2a6aadff1eb8014d27972760a4d61ba41b7b2c7d253f1dea3e77cc83e3de2906
MD5 e9712ce9112585edf638f7f52de8eb77
BLAKE2b-256 71c4a2df2777c39115694e6c2a66b620811864e405c2fbeb647a7f901b301f88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.7 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.5-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fdb2d8fedff2a3b151db850b36691942e8b98149db95d9917147eebdb65d69a3
MD5 e87de88bc9d7e89c1af1bb0f0045bc8d
BLAKE2b-256 b0aeb403f52c0af1c325717fdfa602aa59bc47f6079b5361eb4b967bf6a35aa2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 506.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.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2176c070ff4a87c3c4dd473b604040613374e6edc632dc4d39c1f5c27b4846ce
MD5 a7b43993704886de46187804355116e0
BLAKE2b-256 3e4da2aa09e3d9b90fc5ee519d2985e358d9640c0133cae7f8e4046412dd45c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ab79bd47e847ce16aa64a33275c97a8a4d0f0300a4312612f4e135f00f827059
MD5 eddcbbdc3ef081d8aab68efc581d189d
BLAKE2b-256 ae62193a93cbf90172a749e96327011ea50b908622d8c81805fe1ff064588b8c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp38-cp38-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 349.4 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.5-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 9ac85531ea065f96b14420f37b95e54068b402c84512e026628146217448e5be
MD5 08d269fa7f5cc5f966c688a98f66d305
BLAKE2b-256 3f14831edaa20a6e33cf1deaf82102c20438ac1563fc7f0768f688d09dad4e23

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-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.5-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6a5ae55b10e4235f15f3aef7388d77e1d09dad3931ec3cfb51ef553e564da06d
MD5 0f2714691d12e702b7c1132aff0f0a46
BLAKE2b-256 d0fbb86f861e02b7544a808299b30a67fc906586728e3dd08b94d561597538bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 507.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.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e2d0227e2c39f8b44a3b0f81b16e07126c959a355fcfc50b56503c7ecc047f13
MD5 edf94e16ce853f9e4af25bf2506d68e8
BLAKE2b-256 f68626705671c5030b2df6e84c5ac0d06330867ace92ed156b15d63c701e6589

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e9c1b4525b95be5c79d941d4203b0c730e7b2d8e625b52fb94d6163b85c2baa9
MD5 49b75bc1633702fac3b30f722c788981
BLAKE2b-256 41d225e1741c106bbf1cf23cb8e0fa77d387b0253536b2758e5ee2be5380dfcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 506.7 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.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 803b8fbaa63571c16e643562bbf4f35a86740a5c2dc68bc699063d2fb8a1f6b8
MD5 1615a284a472bf0b7fe20ad67b05d00d
BLAKE2b-256 14c68b376588e61ed7585be63e0ff9e52065a1c353db56cf70426bc8ed0e827b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.5-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a735013396b32b10e367b4f3b89e94f96a880c5649295211df08b5c3cbb51376
MD5 93c652b78b9e19603c19ff5185f73e0d
BLAKE2b-256 071423f16bbf02e0d4508b11ad4d561b6812b778972ad109555d95f9ad583699

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