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

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.3.7-pp310-pypy310_pp73-win_amd64.whl (521.3 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.7-pp310-pypy310_pp73-macosx_14_0_arm64.whl (349.6 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.7-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (186.4 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

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

Uploaded PyPyWindows x86-64

pmmc-0.3.7-pp39-pypy39_pp73-macosx_14_0_arm64.whl (349.5 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.7-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (186.3 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.7-pp38-pypy38_pp73-win_amd64.whl (521.3 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.7-pp38-pypy38_pp73-macosx_14_0_arm64.whl (349.6 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.7-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (186.5 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.7-pp37-pypy37_pp73-win_amd64.whl (520.8 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.7-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (186.0 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.5 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp313-cp313-win_amd64.whl (522.4 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp313-cp313-macosx_14_0_universal2.whl (350.1 kB view details)

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

pmmc-0.3.7-cp313-cp313-macosx_13_0_universal2.whl (188.7 kB view details)

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

pmmc-0.3.7-cp312-cp312-win_amd64.whl (522.4 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.3.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp312-cp312-macosx_14_0_universal2.whl (350.1 kB view details)

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

pmmc-0.3.7-cp312-cp312-macosx_13_0_universal2.whl (188.7 kB view details)

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

pmmc-0.3.7-cp311-cp311-win_amd64.whl (521.2 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.3.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp311-cp311-macosx_14_0_universal2.whl (349.8 kB view details)

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

pmmc-0.3.7-cp311-cp311-macosx_13_0_universal2.whl (187.9 kB view details)

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

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

Uploaded CPython 3.10Windows x86-64

pmmc-0.3.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp310-cp310-macosx_14_0_universal2.whl (349.8 kB view details)

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

pmmc-0.3.7-cp310-cp310-macosx_13_0_x86_64.whl (187.9 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

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

Uploaded CPython 3.9Windows x86-64

pmmc-0.3.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp39-cp39-macosx_14_0_universal2.whl (349.8 kB view details)

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

pmmc-0.3.7-cp39-cp39-macosx_13_0_x86_64.whl (187.9 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.3.7-cp38-cp38-win_amd64.whl (521.3 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.3.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.3.7-cp38-cp38-macosx_14_0_universal2.whl (349.7 kB view details)

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

pmmc-0.3.7-cp38-cp38-macosx_13_0_x86_64.whl (187.8 kB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

pmmc-0.3.7-cp37-cp37m-macosx_13_0_x86_64.whl (186.6 kB view details)

Uploaded CPython 3.7mmacOS 13.0+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

pmmc-0.3.7-cp36-cp36m-macosx_13_0_x86_64.whl (186.6 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f70bc023065a30d082e7737d0963de320a41efffbcf082ebcb546832ea762bc4
MD5 443d989ea6135ab1221922b55a52a9b6
BLAKE2b-256 05fc505e30aae1b7960e11bb2100346f61e3e5828425783329d102da1ead7b44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 fbcf959d70799379e6642ea6c1a3cb37cc1e3d288a82fbec227268127478d454
MD5 5ef02a466d64ae99605c77184cad3567
BLAKE2b-256 42c34523fb0ac11c6a7233591a4ee83407c104c40651c57b050bd2a6dbad662b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6c6b90b40c3c52ddd0e68624a6bdd3efe1d2470de5290e0bfd60a4ba7b1a797e
MD5 2f9433f27c4edc970df1628c8c5225a9
BLAKE2b-256 97eb1b5fb5ff6cdcf72d10bc7c16ed525b2b5b6f8743ce14d841ba16cb2b4e90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 004ff0dff738e671a630a920856001c4d401dc7da92b1ca438a1af235a8fec96
MD5 f5e5522364c5258f81162de07f5e5d25
BLAKE2b-256 13cf1ef107432aaa793f3b4ff5d035782718060709c02101a8e1ea3532957963

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0fecd3bf7c95fa7a42e48200ae48b2d9e924f6933a9870ebd29731529cafe8f4
MD5 e3fb66a779837189a88bb51219a063a4
BLAKE2b-256 dbd224390e8e93768e95eeafea80c1315f43d28e6fc6c0a96d36be086521b7a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1ce36c2010d0a1cc0bf79c8348719323fe554078344dfc4c459c31582d16801b
MD5 cf99409c053d1f44640e8ea36a9aeef7
BLAKE2b-256 5cf7232d2933d6b6de0a267aa04c0eec76bb13e7e5dd857e6fa600c6be6ecb09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 587bc135d642b090bc7bf474ba3bc32a3f1c8faba963a16356ba4a2c43db5d2a
MD5 07517e4c5fc57fce973ee1ad7911bb00
BLAKE2b-256 0d16ea353b1a1f809b11d23029418333c3d534f554ec9be4decc30e0c616b519

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 8e4c9660201a7f507e03745101c24b929c595e7e5c70d377bb638307d3a9da09
MD5 600223ae1d2eab470eac3507805493d0
BLAKE2b-256 af0fabcdfae7ab91031d456f072a4af0f867a127091305cc606c65a10d15f6f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ec49de5792566b330aa85ed9db61dbc9f6de87094fa3a54b12d11200d2dad4be
MD5 ea58d1b9bd30e997cd868e206eed37bd
BLAKE2b-256 5d4b4f389964ab8c92d6f44deb567e80675a656e0da6b0c861d65c4295c70b79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ce479b206641ee465bc851181b575ecca30fd3b7308a1b372f4d4f26c4f0ad4f
MD5 b22a8b89386cacd430de785276fbbebb
BLAKE2b-256 f0315cabcaa28f21fec98a1b4d8c65a193409e744ce9003fb1cee6e09a3ba3d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ce529f8e6c59a7e5b5b3ae5ba48f2f85b72486c70216736d74de6884d12cfce0
MD5 2e3907d5811f0e20f681c7b86b1b1da7
BLAKE2b-256 ab4419c9a476c9a355689e31be44df1b0966db7dc5a1f9dcecfa313778b0d38b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d5e4e58996d394116975bfc0d963ec67e4222289fbd8979810a34b9df096c82f
MD5 46173bd35c5be27ad03ecd8cb2010880
BLAKE2b-256 8848724418e111f84500202ccedf3583a2ec32d5b0d49b4121f5d6903fd6749f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f11b755c1fbd37711eafdb6f5ed60c667dd344dc3f6b57eb4375cb81971213ac
MD5 f5436ed50f693c79a2c884613d12d084
BLAKE2b-256 22eae568ac4f0c49e005cbea9a0a93706c3d54aa37e284e2e4a25e6b4251e9ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 dee8b817ba175969026aee1de1faf1b2079e61e4bfd2d085da4453e4ccf0a5e9
MD5 87d8bc64e64b3d655f9b95c2b29578f2
BLAKE2b-256 b6542ab78ba4666519e75b3251eeea53875de19c68356dcbe2eeedb9e64d6ea2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d2f74ea8dc06d1139686c0f778cc69cac9ce9da94443df197dd835af0792a694
MD5 b1df1ccd634a8e06aba1a77dcc56b040
BLAKE2b-256 341fc57fca26651c8a18c2110e5cbe2fe207ad5dc74c206f0ac5cd7f6b6a5484

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 522.4 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.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8dda8b621535bc6589a1f5c84ea4bb7b49776f33ea705b94ecd8d042f2412e6e
MD5 242f35721a6783b3aa8283d6c6471ab0
BLAKE2b-256 681e41499348f059089bca0e2e8fcdc7418e38fbd0c54feb9c975cefa3c15775

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ceafe35d2dd69d233f46078ff755a9495c07174f9596a628363ca7f5c6f39999
MD5 c429dc0bad300a1f01594ddaf00d37f2
BLAKE2b-256 3dc4245a50445e46a2594903ab64204df5d465f8e644aa426be84703df621d24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 9c45f3d6806664d764dd3d370d871c17f7a147dbea8440dddc5a403ab4cba318
MD5 e183ac1f3dec34336974c70f1e2339b5
BLAKE2b-256 4e1065c7283b58a4f82d4da93589acda14cb97a73ecce4d1eb88cfffcf0f1c27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 26f426a34529371c0a4f9f399ba1e886681392f2a4933f333521ca7a7e654d4c
MD5 5dfee3dfd1b3a77f21fac12b3d4a5df1
BLAKE2b-256 2c985ca99dca5f05aec0d251b565ebbdae66a12a3ea025722a711ed4f375b492

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 522.4 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.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a1ba2a2a2dd8b7d5eec4cb50834a4a8ec4a53a198b1ed6b9eebf278c635baebd
MD5 96c8a60ed26b2503b31c5c6fe1e325cf
BLAKE2b-256 cb7b53d215c940fe427b2a1b3a85a4e01a3e9857852f559ef60da1bb95dcae5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 716d2ebdeeb258a62c6c4919cb16bf345b4ef742f422973269f1465e6000fe1e
MD5 7a191dd511e5e5ab311a05288e209626
BLAKE2b-256 cc5947f6506c6c1a2913997643ba95d34e4d6242c34462015085a156c6557d04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 7d4caad05355a98f7d9006be193c0f9b81aa0aa65769330a9e65baa759840af3
MD5 810ccac02d3f6ae9bdd875c139d24650
BLAKE2b-256 e8b3c9c11d8708021e82e8415ad7a3a5517c1a6cb3ab26cbc81e26171a5128fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 f385762108396adf29f25659d2e7d2f99a9029f9ace0b904c0deeac6df39de3d
MD5 652c539b4efebc3d59d9dc08890c4001
BLAKE2b-256 4025d85f57bf8225113edbf1b67645188d48ca4f8170ce6956cb3a5c1303008f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 521.2 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.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 072e2f70015045df60be8630642b3542055f1c470de8207ddd8e7e4ba919cb40
MD5 1444d1cb7e139fdfe2280298d9765220
BLAKE2b-256 0fc30b407fa983e8539b4bf269c92bc8ee9384509c7b4595738c4450362ccf9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 bd51011ce6783ab6cddcd25cc2ab4d301ae0dc6817ebe8cb29c870a4e119f7b0
MD5 dac90aa9bfabea1523dff09a8715d31c
BLAKE2b-256 2a5f04c4e7ef750902a0330a496335a0e63cb922169adb2734e5c10174ea899b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 3926d2a4c7ab557fd41f374d0a4dff108a38555b5d44a38e99011f1d99f7435c
MD5 0bb8b4e3c746483793fb663e30847dc3
BLAKE2b-256 e5291e02a1571c7077fc459789321b22b4b76f6041f8e4826dd7c4e3cbf99129

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 4427b2c1e12073380c62bc8c8825d22e6c7e445d1ca32fb498e002e22a740884
MD5 698403bc6d59a44cbb28a40f59d5e8d9
BLAKE2b-256 bdb163689cd988222ed5da36c8d0ebaf4ca1dacbc7d8dfc5bc8f4de486b7b6b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-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.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a32060f31892c9a24bdd0aa77ad6c381b7e29d82d1b8ed316f353e7a76513a66
MD5 8d50f455fd9ae8c34f2717a22f8beeeb
BLAKE2b-256 68b0bf5c3456a155161ab15317559847536660ff115e86b71dbc709d0338125c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 23c091f6edec69d7edaa1be7111e6e953dad6e66d740f4143f8d45cd706edb0e
MD5 26a4d4bac53b990c757e037f5e544a74
BLAKE2b-256 72a4ba093dd26b7d6da7d2429bdb612191d7289ca041602608967decab8be427

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 cc6bb606eb77da7a89bceff493e402322bae32bb5ff859c76cb30adef79d2646
MD5 18f71813df147186b06255bb78f07a47
BLAKE2b-256 3d1c6eb4ac358d4dbb4ed5dda68d382580ba06f824c7e0b4318347e38a5f85cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 f0e7a67aa11e9f4ea64b87e91c58e60523566785e96d882229f75ce367ee4306
MD5 e7a661a240fdeff87c351e91ff9bc8d2
BLAKE2b-256 23a808f29bf4e3b79d49742f4a2631a1e3c0b817c2cfe83d0f30fe5673e399bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-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.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bdcb16e27b10b9287e870c63a63f257c540a9d9b0b362563f67ff8016c2c0d2a
MD5 50143633180c4b9add2a5330da2a6b6e
BLAKE2b-256 72885840f6b77bf5864fb3a6a04edeb0e9038e531140ea1601e9713061a471c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 5f2d450dfc514e6b5a9bcefc0cd400cfdd7a63ae35701eeb9f7fb3f23bf6b49f
MD5 a456fefd6db7e738a9beccbfcc09bdd6
BLAKE2b-256 094851bfc3c41bd5f7591abb15d3b0cd999f76f33eee42c957edafcf7a4cbba9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.7-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 6aafa082285fb19a7ace2561251e994cf8564dfcd538f6da771d71bce79d03df
MD5 a6da0bbec20a33b60c601014642b13ba
BLAKE2b-256 18bea5852377876eabb4edeca0f075e60abadf5fa320a61b7502ce904eebad3d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.9 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.7-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 17875deac0291617f3c593e55cad289ef63f142ce8ef9d5bf111b15118635965
MD5 8fb7f42727c5ede3f3a97e9cfeed0563
BLAKE2b-256 ca94ebbaf1abb61960fdd20e93acee630faffac2f82e59e7c7e4dfff822dac78

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c6f8f920c833b9400b09665c106adae36b45dd052b86bcbddf72c9576b03f79a
MD5 3996920f3a35f67b613cfad4ffcbea0a
BLAKE2b-256 7fdee0757c7e79e1860457e4e5f8d44b4bbfe2fad961d1c8ac4108b037bedda4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f22d3a4f0836def424706ee70e0108cc8d72ebc8a017267bd3984b5d9c7e4b50
MD5 e0ae3f4e4e59d0c190ecf5e3acb3c0c5
BLAKE2b-256 c27b954f016a0492b21e4224bec4538982e4e4d9c37280ef144cb648b97e348a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-cp38-cp38-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 349.7 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.7-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 3496345a5eb23e725101682f3a638f89f8ce58ce0fbae3c110afd9dd458aea62
MD5 83be40a77fbf915f2a8545577f9cfbb2
BLAKE2b-256 6414a8fff7fb69eece55abcc5c1e180655089a22132af440d18d824623266929

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-cp38-cp38-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.8 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.7-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 67f9d24a67adae3c6315692ed06d0d1249475cc078cca5ebda1f055de9abc864
MD5 56b34d92b29a1bfe79475f10a1947891
BLAKE2b-256 ef5fef0445d70ed67248297b0ffe81f13ec0ce9f6a795fd3a70962256d38d4af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-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.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 df9ae861e962c74212a30688e60d31f1735cf03a347c78551f1dba0ade38a0e9
MD5 06802bd20ab9ad27c12ae227c83c2982
BLAKE2b-256 c9ba3d9ab2af2d14a3830a27cab93bbc564c51b42298a6ff2124f170d660f363

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4124271d2aa6f728c360e804ef9de8f48cedf3a47d1ab4a16b98b9292697ad96
MD5 0499c6db046c03759695119d55ee752d
BLAKE2b-256 c69f3c8912d0c21c37f8a15dd358438986aa8882cdbb085a713361b39cc73991

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.7-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.7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 bf430500ef9b2cb4339a42ff380d58e037226d4278f9c165bfe03c94e1091cab
MD5 07529b78091b2b28d4647d156675fc6e
BLAKE2b-256 1a33df7b41c649d3f5db5b57460b7cf61e2eaed910809936044de96361937992

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.7-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 eb191045610ff944906d86f6fcb1115de7a9016b534ce59507c6551f551a0093
MD5 717919e1fda42d77c0e6bfd7e8663fd1
BLAKE2b-256 5bb5f86bed37ee494cdbf4e6734c45700b334d0875c5f3fd4af84ada40f0b155

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