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

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.3.8-pp310-pypy310_pp73-win_amd64.whl (520.1 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.8-pp310-pypy310_pp73-macosx_14_0_arm64.whl (349.2 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.8-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (186.0 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.8-pp39-pypy39_pp73-win_amd64.whl (519.8 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.8-pp39-pypy39_pp73-macosx_14_0_arm64.whl (349.2 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.8-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (185.9 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.8-pp38-pypy38_pp73-win_amd64.whl (520.0 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.8-pp38-pypy38_pp73-macosx_14_0_arm64.whl (349.1 kB view details)

Uploaded PyPymacOS 14.0+ ARM64

pmmc-0.3.8-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (186.0 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.8-pp37-pypy37_pp73-win_amd64.whl (519.7 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.3.8-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (185.5 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.3.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.6 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp313-cp313-win_amd64.whl (523.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.3.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp313-cp313-macosx_14_0_universal2.whl (349.3 kB view details)

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

pmmc-0.3.8-cp313-cp313-macosx_13_0_universal2.whl (187.4 kB view details)

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

pmmc-0.3.8-cp312-cp312-win_amd64.whl (523.5 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.3.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp312-cp312-macosx_14_0_universal2.whl (349.3 kB view details)

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

pmmc-0.3.8-cp312-cp312-macosx_13_0_universal2.whl (187.4 kB view details)

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

pmmc-0.3.8-cp311-cp311-win_amd64.whl (521.9 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.3.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (748.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp311-cp311-macosx_14_0_universal2.whl (350.7 kB view details)

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

pmmc-0.3.8-cp311-cp311-macosx_13_0_universal2.whl (188.8 kB view details)

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

pmmc-0.3.8-cp310-cp310-win_amd64.whl (520.8 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.3.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-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.8-cp310-cp310-macosx_13_0_x86_64.whl (187.5 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pmmc-0.3.8-cp39-cp39-win_amd64.whl (521.1 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.3.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-cp39-cp39-macosx_14_0_universal2.whl (349.5 kB view details)

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

pmmc-0.3.8-cp39-cp39-macosx_13_0_x86_64.whl (187.6 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.3.8-cp38-cp38-win_amd64.whl (520.8 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.3.8-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmmc-0.3.8-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.8-cp38-cp38-macosx_13_0_x86_64.whl (187.4 kB view details)

Uploaded CPython 3.8macOS 13.0+ x86-64

pmmc-0.3.8-cp37-cp37m-win_amd64.whl (523.6 kB view details)

Uploaded CPython 3.7mWindows x86-64

pmmc-0.3.8-cp37-cp37m-macosx_13_0_x86_64.whl (186.3 kB view details)

Uploaded CPython 3.7mmacOS 13.0+ x86-64

pmmc-0.3.8-cp36-cp36m-win_amd64.whl (523.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

pmmc-0.3.8-cp36-cp36m-macosx_13_0_x86_64.whl (186.3 kB view details)

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9d992d3a58ecb3faa9a1cbddb52460ed1e61dd7e1837b3fc0de641e12bde47a3
MD5 17fc9f4ad3aa8aedc102d80d2935abb9
BLAKE2b-256 12e88829c520b8a11708f34d2a15f719325b230258958c3a4497d196cc8909c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 475dae9fd895af1d0881c4bde5736ef81c7f9a32605937a7518858cfc7c64ff3
MD5 992f9940907a0e24395f1d405fe01331
BLAKE2b-256 5e700e8e121a4afac28530ec6c24434d55bec22e00d87c9d1bcac7cff3484439

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp310-pypy310_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b0e6ba872058eceb089f966dc00a0edb2b73151d1b25a8342869e0e5d0963420
MD5 c3c155fc50e60af075adae8636820d97
BLAKE2b-256 1a52f27d384593cf705214cb5d5e3e1ca7844b493c6867bd0fd79e81f0fc1cc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 b6f8dee766c70660b7831abfdb30c6e720fecf881f9f8d2f83def63b87074cac
MD5 a589f59f647c08854c3cacc0cea79828
BLAKE2b-256 9b3ee3703e23576b756171534a48548c98e041872c65ecf707fc4afb643fa0a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3fed6b98d69af54d8e22651f45d70c7595acab9758c4615f8619f57bdaa4c914
MD5 44f14ed7404d7b00cd08f99a31ffb8ce
BLAKE2b-256 303b39be1787c10373434a8b384a72364e27857401ca7fef29cc07edf841093c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp39-pypy39_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4b2045673b4093b740dddc20d8beaada9288465a6865d108ba943db598124196
MD5 7a4696e7432f720d05892db69668a2d0
BLAKE2b-256 ecea2a749ff888a9ac82f583f996f1273d1ea2c0abc80a878d98e13f6ad59564

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 df0764ee6d339e72d2dbf3c6eddbb960a06fe9786973fc267b272819198de04d
MD5 e262f839bc2dd199254654c3232e552a
BLAKE2b-256 aa3d49ebf0b3b17932b3c381ca1a37647f84a9ac4987e32c79dc3a13e060e80f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 6603b6a35114e2104b5210d9825559a9abd8e938787cecf4695b17c07e086123
MD5 03eb603ba78f97031e7c5bcd51b74749
BLAKE2b-256 44471b572c374558246079d36f2be6b6191d34be001f778c076aa13f2f6801d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp38-pypy38_pp73-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 a7d7eb0e3185a61140a7dc5c0d29f89cd2129d082ea7c817bd109a94d14c513c
MD5 a1c6b91a042d3b31a41d3515aa18fe87
BLAKE2b-256 c6b54565deeceb900b3b03efbff6d2d261208497adebe7a8de7b2679d4315a96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 062dda6f13bb739fc7c09e4bc877a33d1a4234e38b46197670e21728c78308d6
MD5 7e76784c0ef3756e9b74d45b2266ea36
BLAKE2b-256 cf9e7a78e702f6654567074d79c1daf402f8470e5fbe885dc8afe6a92f257a42

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 9a5a1c4d7e1c107d088b99832028078f1587bc449efcea1de86636dc2077ec35
MD5 187413e1c24e3f871b732cbc2cab3f0a
BLAKE2b-256 02ab7538e57ccbebcc8da90a1fbf4660827777e5b9d55c3bb7eae4bf07fabdaa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 20b98bedfc054aaef03789834b400033f9b734728922528530d32d3381cf36c9
MD5 aebb73d4610db9518cfdf2080e166c8b
BLAKE2b-256 8925578779d54a13e8fda248f2d6385898c907fa57d87678354fae84d3b28370

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 326c674f378bb642318bf7db4ad0f38ba226cc5acd34a1fd9516bd61a4d6367d
MD5 ed9268ec7bd7718e1d34d0e74cd8c6d0
BLAKE2b-256 aff76a401ef118a363adad31ce2f478a7fade235d6fa4bb503a2e47ae1f63c8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 377993834e86f12a42298ce9debfa4af82aaaa849bd714fb05dc57d132a78cd4
MD5 39ca068e3c9a48a41437dddd474d4c2a
BLAKE2b-256 a57893157586bd20fc7dc1794f03334b391a7c21d50cade76ae163f20efc99db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 008ae608dddc1853eb3239488667e4c7104a6edad5105a553af5d50e3d015849
MD5 3c80acc972db3c3ddd9ad5d27d529b7d
BLAKE2b-256 04214584daaf3e9bc35fcd4150c3d4b378e9c1e43d62bf51c3c35b6d07ce2480

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 523.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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dc1a5ed3d17415db2fc9075f5e6659682eda45386d7ed648eff69a55e8ff8111
MD5 762979bd4e27099d8149509966649fae
BLAKE2b-256 17b6b315dbbdb036274f8ae08b048a7bf68c6bc085bb5011a6de011d31962a2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 c78570746ebe36ac0f5efe7bb2c6f7bb5b005a99c5b0846d7d78ad8f6b6e68ec
MD5 6d19a90ab99a737161404e5485c340d7
BLAKE2b-256 0db995df6a88ebfb627940d364a68543abb7f92ff6920cb88f1db5d125dea3a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp313-cp313-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 6a0c30a103efdbab8f45dd7819872b7a2a3d1e377a3aa9289b7b7089e2b6c1d8
MD5 6a99fdaddd9bd401a97fcf4858185b83
BLAKE2b-256 4e5bc412514f03150678795aaf40907eb2e5381bbe8385bd395462bcd25f1fcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 e59cde8a8a0e84b8c7d50b797e46ad64c581c732c348944b122931bea341b648
MD5 39dd32711ce8384b1eabe44736d1c6fa
BLAKE2b-256 b9f24e26ef6826d311139152164ac391c73f1912d6774750d5b6477d5b53e0d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 523.5 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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f3bd426216290e079eb880ca575e0ac53ff407b8f9ff15533a679ae734ef1f34
MD5 d8c3b4ed7f44f088d75906fc52519242
BLAKE2b-256 d308157729ff4a6aa60eab330dd34edc444480f1fe9a682b2838a6f8eca65ef3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 779277d9819584fe4765e86dd8cc7bd5eab577be97181e78861f7cb2139b4800
MD5 8d2fa2488c31c773b8ef5da055c217ee
BLAKE2b-256 3af6f826804391e5f2b449fa1026d8ff6a9429a92007abd89b7a2b99e54f0699

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 197bdf6cf183f792031e29d626986c500fc94dafe3fa89333dec5517ef6a28eb
MD5 3703f8cd15a046976047c52f6d8d802a
BLAKE2b-256 73cb48a48e5627b2533a860869aadbf21dca3763ad13926fcd27299ee8895612

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 8100a3ff146a87b8e92804f6f533cca8054fd3aa8dfdb944bf0b78e866001909
MD5 79726765916055d47dad4f7f5043c165
BLAKE2b-256 ca2402dc4b3860860b9f565105c0edd42085c943f1874a01c69bc77f5d763379

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 521.9 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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b81655cec271e350d3335036e060736ae841fce8f2ef740ca3b3bdb4b0760850
MD5 8f61ad1753fa8e601478a582b0190434
BLAKE2b-256 893774fdf346855bf180d5b22ae9d65d97251ab69f0bd39eb561e8f813dcbbc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e1e494fe529a16585b76894c2008b73d702de75204ca31fd8e04b94984c1c63e
MD5 dd7f0865261f32cebf0f8bc64aa840d5
BLAKE2b-256 64fe24f4e9fc754e772879713e030d7c5b94fa756c4e4748b34a3425b54d3bf5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 5a0a642bb4208deebc7e7e8627ab969b77b8248da34152192e4d6349d8f509d4
MD5 70943dc1f6668a6a2367f8e488ab193a
BLAKE2b-256 58f5dd6ca888577b29187ef46f1778637a9816cddfb38a70ece0d2b6e16181ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 14cf217b0e11d16707bbb20cc1d3190ca72efeb5a095f6fb69c372bdf4d3fff1
MD5 d0202bb5ee9a2f655ab8726f5a081dc4
BLAKE2b-256 da8bbb86f2f8b382bd0daddbd3786c3320dbed5fa4b668d924d5169a56ecafc3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 520.8 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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 20c934360aa94891ea89d805fb2eed830dc2967476aeb03d0d079b5be13c7f63
MD5 c7635e556932b2ef84b405768f2df9a9
BLAKE2b-256 d75371fa9ef1550413158085e71184dd8e3c722975ca38a5923f401648b6a819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8c467865e92afc3b745cf87ac2d3efec59d439f93618edca471f7efea8417889
MD5 0d0e708e22f658960d2a7ed8cb2d4bad
BLAKE2b-256 91897ec8d9d8d89b5f991225bfe2078129596a22ddef8d1d73670b27ed59add0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 9031615350702e18cfa54df91d22f63c83d017ea73ce65734ecc25d1b771a68e
MD5 019cf035928f2d98901908990ecc8228
BLAKE2b-256 60d8e718084f3c36479b49c217c21fea6c3e0281c60c0d7a7d80d4b69599582a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d44312b8afa087b6e01bfaeddff5c6509922a1690708b42f00021aaa40f8bf36
MD5 6cdf62f6cbb1817e3ad6357c323d0352
BLAKE2b-256 43378703c059e9b9fcda759a7b25f73e5495b82b77905ad43dcadc47aaac7e54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 521.1 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.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a2fa09463e9a4b36f9509a8f45ecdf36b88bf16301ae76074350494c2c807825
MD5 9f0acdc5180f8e9aabb6f16baf26d373
BLAKE2b-256 a4d13ab4bd19a874966846e48e4d7fdd12f7d1df56764c951d2ce8781833b4e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 6953064fe08611e44c3933554342f83fe582f22cb7febaea7b7ec22fc8ec9e2c
MD5 8e64dbeff92c68e40cc32335431225a7
BLAKE2b-256 a1633e7f5ad7f2aa0e50ac5fa2d98933664daf13d0ea744929b22f55550e4f63

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp39-cp39-macosx_14_0_universal2.whl
  • Upload date:
  • Size: 349.5 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.8-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 969c05558cc2b34974e087d7aed3f53bfcb759f500109220a809cd1f1a938971
MD5 4ea0cbebc3c5b162555525de56c30fad
BLAKE2b-256 70f03db3fb9b1dd521844719aa00a6f9341c4d207571c6d6e0c7a1d70ea3a1ce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.6 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.8-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1bb13a00439cab8e66c24241c19d7059df6b3722c2f206f49c9d7ff71c79b9e1
MD5 ca0bea3910edc85458de91c99ec66124
BLAKE2b-256 113060d75bf868bf3d2237fd7cb8b14d0375cd3febfb25ddf35e5f454e7f1be6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 520.8 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.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a1b2c784b760d427ac4c811860d6185f628f111205ec7b2475cc56e57c9d206c
MD5 b7a81a9cd41fa380b83361d55612b633
BLAKE2b-256 c1fafe02c7cfc87f07cf80ba7956a7bb73a355cd991849b2cdd031600e9e613c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 45b7b6a286d46ca7317ef2e4d148ca45dc44ab1a4fd33d8a33426f5111587989
MD5 54fdf5298b54515f732c650354c7ca00
BLAKE2b-256 2721a96826d4c26263413bda7280f58d66c8adc796bf4096d2a57cf7c11b2e62

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-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.8-cp38-cp38-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 25539644848acc870b2b0643e72e0e14133fdee295b2642191854f69abf7d752
MD5 18c1b78d309bc9f7f289e31d9c8d83d4
BLAKE2b-256 7df561f1cc8d185b621163ea2bcd30a812f8fa039bf3e4b4a1614758646f73ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp38-cp38-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.4 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.8-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 b979b750b949cdd1de2d849cbe404452adc7af492b16ad2c1f45fe7f1ab798ef
MD5 2c691d94e13e9ccb81255dbb5531ef1d
BLAKE2b-256 56fdbe084dff8756ce130cd5dbf78fc4226318457c66c8af99e3c61144670613

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 523.6 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.8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 89373e45fa97eb092bccc968b5453c8e23ad7f8c9ba412c91e64efe33942b778
MD5 10e9cf6e75858ffddb1ad3f7ea34b9a3
BLAKE2b-256 4617b871b7ef6589e329977ff5cab6783d0e637d32793eeb4093663fd106e3cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e3da52e9ae2fcaeb53b75eee73873c36099a43994a1b506d8ad2c8fa4ae2b787
MD5 f7d86393df303ef0f9dcb360a2bc6389
BLAKE2b-256 19417505e1fba17e8bfc690acb05db54b399ccea693333d5adee7c702b4cd851

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.3.8-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 523.4 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.8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 dfb785a96c18af2deb416ef90211884bbf2861494c7db8fbd5827f779deb111e
MD5 6eca3a1be2f55c1efa9823f629fc7a9f
BLAKE2b-256 d181921f10e00d0eb60f7c98a1f98bd248240f136a8de582780ec1eef581919d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.3.8-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 803f35465d181af017ecda5fb9bd9e5626da01d0cb0e68c2f85c659a4539a187
MD5 30962e21f4239e32071dc62169a5eaec
BLAKE2b-256 615ec8424696099b908d18d935b5ba15c6cb82bf8b85d71d869c34f816fad087

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