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

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 15.0+ x86-64

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

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.10-pp39-pypy39_pp73-win_amd64.whl (525.3 kB view details)

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 15.0+ x86-64

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

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.10-pp38-pypy38_pp73-win_amd64.whl (525.4 kB view details)

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 15.0+ x86-64

pmmc-0.3.10-pp38-pypy38_pp73-macosx_14_0_arm64.whl (352.6 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

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

Uploaded PyPyWindows x86-64

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

Uploaded PyPymacOS 15.0+ x86-64

pmmc-0.3.10-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (749.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.3.10-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.10-cp313-cp313-win_amd64.whl (526.9 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.3.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (749.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

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

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

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

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

pmmc-0.3.10-cp312-cp312-win_amd64.whl (526.9 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.3.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (749.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

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

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

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

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

Uploaded CPython 3.11Windows x86-64

pmmc-0.3.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

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

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

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

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10macOS 15.0+ x86-64

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

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

pmmc-0.3.10-cp39-cp39-win_amd64.whl (525.3 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.3.10-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (750.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9macOS 15.0+ x86-64

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

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

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

Uploaded CPython 3.8Windows x86-64

pmmc-0.3.10-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (749.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8macOS 15.0+ x86-64

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

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

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

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmacOS 15.0+ x86-64

pmmc-0.3.10-cp36-cp36m-win_amd64.whl (528.5 kB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mmacOS 15.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 af4e57eaf8f49a7f3d1c2b091d0b4c0d5eee21849c4f076739b19ebe6125d28d
MD5 d6714ab46dfb344810f250aa400e5f40
BLAKE2b-256 d79185f3b414e3bd385e6cc4b152c3165c31ccd3487c5b3d83ad707d86699bbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 fe318cd8a54152a157aa7fc56ff0d5a1d0ac9214c85c59d81bb79b7089366dec
MD5 a5b7fe3ae05daeb1d7c6c4cad58a0dd9
BLAKE2b-256 1271e97e85081cfe0fa575d0f472e2da6ea42feff7a417d64dd6c122dd32e85d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp310-pypy310_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 412c185c2923ce996ce0247e9a72cea6b48840067ec15c745094ab5a805815ce
MD5 95d41065e8f2a1fbc4274750c44142a7
BLAKE2b-256 b88d68f6da2a599c4ff82b153019112b12eac606f25007b157aebc5de396a159

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7a8138bbc6cdff23cb97077e58a02026dd87332e1353f5af401dcb909af547a6
MD5 a8ea478f7c7983765dd7b22245d59a50
BLAKE2b-256 a24f9bf4291926b1311388ba575584682da3f906ef7a458b0523521ebb92a94c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 158e6bf5e4dd39327edd855d91f6837222ef023ddce5bba385326125350b0507
MD5 61c7478f84a13067a7722cc3599f134c
BLAKE2b-256 f198945d28af66af802275166de004d37dc84eec65ea3c73e0e1b9c84a646a97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp39-pypy39_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 c1de230fbe75c9eee65b08fd69e31f012f78ed07417f6eb6083716a6020d55c9
MD5 3672aa4866cf54d8c4d95ca83acbffd0
BLAKE2b-256 d6f03319f778accf8f26eb23b55faed5374f94d168b9167d824cbeb63e79496b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f1f1d1cfc71fe157e52f0e014440d637a2754e8f27a8a5fcc32c20d183a2b67d
MD5 5378889ae30f9149a3a762aaa17a63da
BLAKE2b-256 1dc50b4f6e0bb11641af97310c2ce849c09e2be2fef0a2f9a6af9c01520ae6ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 27e83ea1657e57d83e89d4c2599e3f9a46706158cfacf6dc89f6770cc261cb59
MD5 012164f28e892dd7bd32e433f30afaa0
BLAKE2b-256 0dba3a47ebad1a8f9f24e1930d470bbe18408f007b3d6dfd016ead1836c44ca6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp38-pypy38_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 b526e3d4cc6f4d5e589937967398cc697cc38ea1323af3eaf6cb55be0192467b
MD5 d781e58d8286313aa2d1389f99ece910
BLAKE2b-256 acde5df5e8ea1b4f40ce14f63f43e9f8d7f6d9283d96545447ee462e74e38abb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d82b9102755e240f0a30f5d131bd38b72c162a5883a77d5a365af9cb8e0dce9d
MD5 f59c2efb6c7c4eb7682e0baf7d9898da
BLAKE2b-256 57a2706350e4061e314a7294dfe017dd15175b42faf234efd56868e5f9188a09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c03110eb66053a7bc18b3cad8870c33415f39d50965e20c6001d1e5b42e307fe
MD5 b244ec8169d22f7726f1f8103e5ab5fb
BLAKE2b-256 e9623aaa59c405d2daf8abd87dbbc9210992ffc081a41e815ef547a940a59b9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-pp37-pypy37_pp73-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 2ab3cb930ce0bbbbe07a2b9d8704b1ff0dc9c9850796ed636891165fb87505ac
MD5 930ff3b4761d1b8fc096fa0a3722a728
BLAKE2b-256 3ee58fbf9eb590a8a9ea305954972a002a82be5c6056c4b658c43eb97c974733

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 717f6e5470db778cb8128eb9f6e53d0a392c6d3c684060c91289de4b054121ea
MD5 375ec41c5c348dba99b2a8cc032944d9
BLAKE2b-256 b705510a3ac1fcd561350d3adf9f2646f0a4968da2d137a2c87ef7b01b5a8796

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8cfe0a7e95067c0f930039eddef81653480e075509dc861c65a3d6e2a0bc3dd3
MD5 a06378ae64c539b1ada703c23ae3491e
BLAKE2b-256 c6f5c2fedf850c93a0d6421be0d4b495ed8f11b5f04efb5fd0cb1bfa15a84fe1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7aaaf727665ac2c5b2ca3014e322e4160bba1f450b34a65cfef3f0cbccbe36f3
MD5 9e5382a267b0e89470b2933dbe5db04b
BLAKE2b-256 a32028b5f332ccb96f8e7a1943e6b2f2f552dd2c9b4a6a58b155c1f40cf19209

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.10-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 526.9 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.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 752c5460b554c0cfac44d7244f64f5d3f452428206401a60925c599b7db353bf
MD5 82448a57713c58b53df40365c18b3a2a
BLAKE2b-256 bdd6fb136db61f24380c4cd291fb178a4a1162ad60d873a45909cbdacc11c1d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 64fba44cb29534d264f5a2ef6db7c00dc588005f119a934a497b6427a9794e61
MD5 59f8495c29197b0e2e6bf6aa979ff529
BLAKE2b-256 844ead2949eb2775bf15bad77dcc5ee3fec1d84979864600381e0a93e6e9ef24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp313-cp313-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 31a9613c5438c853c47165262c6753343442f74a2c3c4a9b34b3e886b600c779
MD5 8f42ddc7ec65c81141be13aa5c414bf4
BLAKE2b-256 f9ac42b7d3d740721ebf377ce0b81af979c5e24cc05d3bf93d7db7b387f436f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 e8ff9357f1f515c39f0162c9e61f72cfb0cd55f9a0546e4a98991dd9dc408673
MD5 d3353be52aa3770f871b0a3d34485459
BLAKE2b-256 5e30ce97125a2a7bbbbb8dea10f01f9353fd2de3a9f6ca1a67663d87b4c8836d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.10-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 526.9 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.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4997839aa5b9c195129cc5403654bbdeeb0945c6108dbae48dfb1053078bde20
MD5 3a7f6ff799293351d0c4201e43e996dd
BLAKE2b-256 160736f1c297f1aa73ecec248f25507287640660e637139d9abe30fda7169f89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 53f37ac0d58a47b81b951eebf858d7316fe3f861c8f2b88b989bfdda91f8c7fa
MD5 234e6dec9db5316eb603fc72e6191a3c
BLAKE2b-256 958b0208bb84c5988c6d82690f21ca9b93560da3193ec0dc59a2a95d81fc8270

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp312-cp312-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 3412fc6a92d26aaf03b0360b79a06d082b095995160a93d117210c76351f4485
MD5 8737d2425e4779a87e8849fe61f6b393
BLAKE2b-256 bdcd0820349d2600c213a51b8bbd54edbfb6c02fda5578bf397b436734045df3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 d4ea0d6819b9cf3baa63097d1a99af29a4b86be7a1eb9a8a649f8a72d9a37d4b
MD5 e4f5048e250c249f732dc40b6e01ad2a
BLAKE2b-256 11a976d2acb696ba6b8337ae0ca3d7fa78604f71bbf189905a2a107cd59720d0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29081ffe18e6aa67463b1e396faaa5f893dff5a48116b64139ef312a970a2547
MD5 e1f6bb19cc45f65f35d39db85c7e5174
BLAKE2b-256 dd0d69780c641ca42cd03b42654be6dc87d9468ef7bb002d010a394dbccfd52d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1105597d8695bc491174a5adf30d42e53876679ecf58228a55df7404cd473409
MD5 e1596c76e9b0f83b095290a2aa285747
BLAKE2b-256 6b869aa616c803dcec83f05cfd162bffe08664c2baa43bfe2d5e5255829b7a9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp311-cp311-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 6e31dad1d69748833e51f4221aef2fd5c9c3067ead319dd6fd744474a60b8bd2
MD5 5c09f930b655ff954ccdc8a9342d7e7f
BLAKE2b-256 935ff242ffb7315540ae9fb0e087f4b3058e75c623d5a49f23f2336d41f00a52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 d39454ee2d189265f2acbf17b379bcebb4998eeb21754aea72c862d97d46ae8f
MD5 9f50d9da9e1ea0ebad9b5b58a928c090
BLAKE2b-256 ded3beaac758c878a6463b6b29fb74142fe553cfe06b89b12d9222638c6c156e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dd99b3ef2c844d1872ba3b0cb286f5ec13d0efca741aa98bc12054145384e0e7
MD5 4abacdc2c4df0f468bb441419bff36bd
BLAKE2b-256 0c9f3a32859f3c6fd4912ccaeb619e2c0b23312c06edad5ea40f93740ed6ad7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 105ed32475b77c6bd9c4e57066ecef5463a4b2c7062f0ef7beb8b0a956411ea2
MD5 d6c6aef1923b541cb215c50d1290b9f8
BLAKE2b-256 30af715b4ab9198c03a30c666c603eb63a9da02a0749fb634e7e8959a7031a55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 7e3536effa3bda63ce8b51de6f3745959d1e211f92ee228244f15f1d8aa15275
MD5 d8943a56a0e504d9931bd78b1401ab15
BLAKE2b-256 ce8ed4bb43d28f6fb99067ce1d8f8f208bd2bc7569ec4f2c5ef65d45e553c492

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 8cecbb86cc553886f014ed78162272cffee266f75778fd9a7ca76b7475106b47
MD5 f0f5ad22be7a42dec0556357a66df80e
BLAKE2b-256 04b4106136a5106b4855c58ecea242e2b23ed14ba5bbfbaa695c8c852bb4d45d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.10-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 525.3 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.10-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 85eb7e74c866ddfe1d3bf31ad587f7d788b57ad702ecd2544d6cb43ef2236789
MD5 1eb3fda9937eb64be0a21b091339ee42
BLAKE2b-256 12b1f43016b5f08cf05843bca895f7e8c133f64a7627975939be946957c092f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0a85db841b7832676f2cd4728395290657c6c3617da65c5b2b4fb92deac5d5fb
MD5 9ac3cba4241885e8c50971e1d40883d5
BLAKE2b-256 1617a82b9b32f9da321783768c72aef7bb710b90e96257760cc467e9e3688ffa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 6a0185e92d2607e410821feccadb0af359a8627fbee86eac41ed65af4fd02a03
MD5 c971f3f4c1eba98151ffe6a53e0d0886
BLAKE2b-256 23e8c89c3f09f4529be5e526a7dc903353bb7712d5b2b4731f1f025f375077ec

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.10-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 de990cf8cd1a975fd817518ec2ea4808b4b7a71e69929f6a627fa5f7f7caeecc
MD5 f3eff4dce5d61ae20c548f8557863689
BLAKE2b-256 e88294c79d6fc343960711a08605606a781ffdbb5ad405fbbfb856206791c5af

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.10-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1fde1013e24c9e53dd7b6235962dfbc321b6068de17a457885b9ec5c4ba66d9b
MD5 537658eb4cde1f3419fe8ca9ac249425
BLAKE2b-256 77a34dceb57d8e21be436692fadc319ae5bfda008c59856ea1e477a6bee40d62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 7b4ec4c14f1e8abdd13648b9cdcffe2c3baa6b59d7d484031a3add572cc859e4
MD5 e9fa4c09a8c902092d010da5ce9b5cbf
BLAKE2b-256 b3d9c42db314b3c440e713bc8f89f22d485154238f110a1c260cfc940587ae8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 5fc1979f06b0767b58fd2fd89d3fd20ce24843ed9d39ce44711064c39f399d0b
MD5 2baffee19da79355705c20a85d3aab17
BLAKE2b-256 2a74538287632e2f948925b5de011d4002bdb0cc3606cd1a51b0b898b9850063

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.10-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 77bb6ce85cca5df7f472341c00aaf700ab9c8ce5356a05e4a5aec2c42253e835
MD5 741af3d530f2a2640f8214e5fa00f262
BLAKE2b-256 83eb630b924504f6e64f22e225342bf0f6a3a0abe3aec92cff9f19fa5aad9cc3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.3.10-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 42e7beaba46b9de558ff96c6ebdef369beffcc0c3c14d548236acde145029677
MD5 f9ee0d7cf2903412f8237ba379022e17
BLAKE2b-256 a364b26892abb05b0e5ca708bd863b9a706ef7baf7a69e9a899d7698e373c7b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp37-cp37m-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 48cfd0dc2a0dc2974053962e4d3bc03b3eda971eb24453cb27586086384de84a
MD5 3e4b71822f1ae1211b62bd3dd038329c
BLAKE2b-256 e186473a95d70c4e63cd902409ca5c1d1ce3db5c2ec733cfed856b2dd599c1af

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.10-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 528.5 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.10-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a47a00d799ff402c616cb12a03ffbe7ef13c11d597ac70d32f75a726be4941e8
MD5 c4169042058d5713cede3abf3422297a
BLAKE2b-256 2daa9e04d09bbf7f1fe63a75200f7e6bd393048474522fba58b184c15becfd8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.10-cp36-cp36m-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 c6280e3bc7e9471d3f8c487b4dd4ad0feac6adc03d2cec9a1919c25df597e1d9
MD5 cd10a9b56344350cbcc56424aba97aa3
BLAKE2b-256 fd1df2d6aeb2ebb96c19f4db622649d8bbd2f9ece64c5c18f11df84a7cc766fc

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