Skip to main content

Python bindings for Mesh-based Monte Carlo (MMC) photon transport simulator

Project description

PMMC - Python bindings for Mesh-based Monte Carlo (MMC) photon transport simulator

Linux Python Module
MacOS Python Module
Windows Python Module

This module provides a Python binding for Mesh-based Monte Carlo (MMC). For other binaries, including the standalone executable and the MATLAB bindings, see our website.

Mesh-based Monte Carlo (MMC) is a 3D Monte Carlo (MC) simulation software for photon transport in complex turbid media. MMC combines the strengths of the MC-based technique and the finite-element (FE) method: on the one hand, it can handle general media, including low-scattering ones, as in the MC method; on the other hand, it can use an FE-like tetrahedral mesh to represent curved boundaries and complex structures, making it even more accurate, flexible, and memory efficient. MMC uses the state-of-the-art ray-tracing techniques to simulate photon propagation in a mesh space. It has been extensively optimized for excellent computational efficiency and portability.

How to Install

Runtime Dependencies

  • CPU or GPU: An OpenCL-capable CPU or GPU; most modern CPUs or GPUs support OpenCL - an industrial-standard heterogeneous computing library and specification (https://www.khronos.org/opencl/)
  • OpenCL CPU or GPU runtime/driver: Both NVIDIA and AMD GPU graphics drivers should contain out-of-box OpenCL runtimes or drivers; for Intel GPUs, one should install additional OpenCL runtime support from https://github.com/intel/compute-runtime or install the intel-opencl-icd package if the OS provides (such as Ubuntu 22.04); one can also install an open-source OpenCL runtime POCL, using package manager such as sudo apt-get install pocl-opencl-icd. However, POCL's support is largely limited to CPUs. You do not need to install CUDA SDK to use pmmc.
  • Python: Python 3.6 and newer is required. Python 2 is not supported.
  • numpy: Used to pass/receive volumetric information to/from pmmc. To install, use either conda or pip package managers: pip install numpy or conda install numpy
  • iso2mesh is a easy-to-use mesh generator for creating the tetrahedral meshed domain for pmmc, install it with pip install iso2mesh
  • (optional) jdata: Only needed to read/write JNIfTI output files. To install, use pip: pip install jdata on all operating systems; For Debian-based Linux distributions, you can also install to the system interpreter using apt-get: sudo apt-get install python3-jdata. See https://pypi.org/project/jdata/ for more details.
  • (optional) bjdata: Only needed to read/write BJData/UBJSON files. To install, run pip install bjdata on all operating systems; For Debian-based Linux distributions, you can also install to the system interpreter using apt-get: sudo apt-get install python3-bjdata. See https://pypi.org/project/bjdata/ for more details.
  • (optional) matplotlib: For plotting the results. To install, run either pip install matplotlib or conda install matplotlib

Build Instructions

Build Dependencies

  • Operating System: pmmc and mmc can be compiled on most OSes, including Windows, Linux and MacOS.

  • OpenCL library: compiling mmc or pmmc requires to link with libOpenCL.so on Linux, or libOpenCL.dylib on MacOS or OpenCL.dll on Windows. These libraries should have been installed by either graphics driver or OpenCL runtimes.

  • Python Interpreter: Python 3.6 or above. The pip Python package manager and the wheel package (available via pip) are not required but recommended.

  • C/C++ Compiler: pmmc can be compiled using a wide variety of C compilers, including

    • GNU GCC for Linux, MacOS (intalled via MacPorts or brew), and Windows (installed via msys2, mingw64 or cygwin64)
    • Microsoft Visual Studio C/C++ Compiler for Windows.
    • Apple Clang for macOS, available via Xcode.

    Refer to each OS's online documentations for more in-depth information on how to install these compilers. MacOS provides built-in OpenCL library support.

  • OpenMP: The installed C/C++ Compiler should have support for OpenMP. GCC and Microsoft Visual Studio compiler support OpenMP out of the box. Apple Clang, however, requires manual installation of OpenMP libraries for Apple Clang. The easiest way to do this is via the Brew package manager, preferably after selecting the correct Xcode version:

brew install libomp
brew link --force libomp
  • CMake: CMake version 3.15 and later is required. Refer to the CMake website for more information on how to download. CMake is also widely available on package managers across all operating systems.

Build Steps

  1. Ensure that cmake, python and the C/C++ compiler are all located over your PATH. This can be queried via echo $env:PATH on Windows or echo $PATH on Linux. If not, locate them and add their folder to the PATH.

  2. Clone the repository and switch to the pmmc/ folder:

git clone --recursive https://github.com/fangq/mmc.git
cd mmc/pmmc
  1. One can run python3 setup.py install or python3 -m pip install . to both locally build and install the module

  2. If one only wants to locally build the module, one should run python3 -m pip wheel .

  3. If the binary module is successfully built locally, you should see a binary wheel file pmmc-X.X.X-cpXX-cpXX-*.whl stored inside the mmc/pmmc folder. You can install this wheel package using python3 -m pip install --force-reinstall pmmc-*.whl to force installing this locally compiled pmmc module and overwrite any previously installed versions.

How to use

The PMMC module is easy to use. You can use the pmmc.gpuinfo() function to first verify if you have NVIDIA/CUDA compatible GPUs installed; if there are NVIDIA GPUs detected, you can then call the run() function to launch a photon simulation.

A simulation can be defined conveniently in two approaches - a one-liner and a two-liner:

  • For the one-liner, one simply pass on each MMC simulation setting as positional argument. The supported setting names are compatible to nearly all the input fields for the MATLAB version of MMC - MMCLAB)
import pmmc
import numpy as np
import matplotlib.pyplot as plt

import iso2mesh as i2m
node, face, elem = i2m.meshabox([0, 0, 0], [60, 60, 60], 10, 100)  # create a mesh

gpus = pmmc.gpuinfo()  # list all available GPUs

res = pmmc.run(nphoton=1000000, node=node, elem=elem, elemprop=np.ones(elem.shape[0]), tstart=0, tend=5e-9,
               tstep=5e-9, srcpos=[30,30,0], srcdir=[0,0,1], prop=np.array([[0, 0, 1, 1], [0.005, 1, 0.01, 1.37]]))
res['flux'].shape

plt.imshow(np.log10(res['flux'][30,:, :].squeeze()))
plt.show()
  • Alternatively, one can also define a Python dict object containing each setting as a key, and pass on the dict object to pmmc.run()
import pmmc
import numpy as np
cfg = {'nphoton': 1000000, 'node': node, 'elem': elem, 'elemprop': np.ones(elem.shape[0]), 'tstart':0, 'tend':5e-9, 'tstep':5e-9,
       'srcpos': [30,30,0], 'srcdir':[0,0,1], 'prop':[[0,0,1,1],[0.005,1,0.01,1.37]]}
res = pmmc.run(cfg)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pmmc-0.2.3-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmmc-0.2.3-pp310-pypy310_pp73-win_amd64.whl (505.9 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.3-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (745.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.3-pp39-pypy39_pp73-win_amd64.whl (505.8 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.3-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (185.5 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.3-pp38-pypy38_pp73-win_amd64.whl (505.4 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.3-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (185.6 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.3-pp37-pypy37_pp73-win_amd64.whl (505.0 kB view details)

Uploaded PyPyWindows x86-64

pmmc-0.2.3-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (185.1 kB view details)

Uploaded PyPymacOS 13.0+ x86-64

pmmc-0.2.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

pmmc-0.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

pmmc-0.2.3-cp313-cp313-win_amd64.whl (508.0 kB view details)

Uploaded CPython 3.13Windows x86-64

pmmc-0.2.3-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.2.3-cp313-cp313-macosx_13_0_universal2.whl (186.9 kB view details)

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

pmmc-0.2.3-cp312-cp312-win_amd64.whl (507.9 kB view details)

Uploaded CPython 3.12Windows x86-64

pmmc-0.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmmc-0.2.3-cp312-cp312-macosx_13_0_universal2.whl (187.0 kB view details)

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

pmmc-0.2.3-cp311-cp311-win_amd64.whl (507.6 kB view details)

Uploaded CPython 3.11Windows x86-64

pmmc-0.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (747.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmmc-0.2.3-cp311-cp311-macosx_13_0_universal2.whl (188.4 kB view details)

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

pmmc-0.2.3-cp310-cp310-win_amd64.whl (505.6 kB view details)

Uploaded CPython 3.10Windows x86-64

pmmc-0.2.3-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.2.3-cp310-cp310-macosx_13_0_x86_64.whl (187.0 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

pmmc-0.2.3-cp39-cp39-win_amd64.whl (504.9 kB view details)

Uploaded CPython 3.9Windows x86-64

pmmc-0.2.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmmc-0.2.3-cp39-cp39-macosx_13_0_x86_64.whl (187.1 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

pmmc-0.2.3-cp38-cp38-win_amd64.whl (504.8 kB view details)

Uploaded CPython 3.8Windows x86-64

pmmc-0.2.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (746.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8macOS 13.0+ x86-64

pmmc-0.2.3-cp37-cp37m-win_amd64.whl (507.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmacOS 13.0+ x86-64

pmmc-0.2.3-cp36-cp36m-win_amd64.whl (507.2 kB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mmacOS 13.0+ x86-64

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f3973db204edeff24ac4567b5f0034feb44cb28b43280ab856be8fe9b0ec3df5
MD5 84f7d67b729f1ce89645eedfa4afc1cf
BLAKE2b-256 2d7359dd592d572900640931ea10f982c5d7ecac1937d12511ff91435844d452

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c84b5a02d57ba1d8f50b1f59ad6abdb664d26f460f68ef8583b67bcd12608e38
MD5 962b64e7e043607089e37cdea0eae5a8
BLAKE2b-256 194defc95152f1e4a4000e560f1ba711436d8ed43c1ea72cffd4fdc80d926a32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 004aab02a080e220a99af94ac0104446ce26b71f5bcebce2e21c6f6ee8fa4f0a
MD5 c960166a108308a4131d3e08cfd70a5f
BLAKE2b-256 a1d62aaf4c35c1d7ac86a33dd54593b81e1e17118df769cee53ddeafaf4a5a4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 cc7bcc46c4e247f1bba65b821921b5281c6e407ced0a0e0c6a874f999333ec03
MD5 409b1aedacd0e2be64ac4981382a65ee
BLAKE2b-256 9f5d6c0ad5239bad626566dfc84dccd417186d8655ef4bf3b8fc0087b4e28734

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3b3ab59a7d0df5e519af590786c7144698fa02d398f6ad72481f47c4442fd2d4
MD5 d6ba31594ee62aa9381aee5170e4bd52
BLAKE2b-256 a5b6fe97b1e47f61dba6f2e8ee100a0220a10b3780337aabb6c0eef26c74295e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 fa8b4fb174aba33ef6f71dc1bf455d8fa55d94cc090c475f51467bf19ef6c7a3
MD5 d197b19ab4f212af4956f694b8df27ba
BLAKE2b-256 ebd7c22953e33c67b5efb0eec75dfe8f763096af3baa2cbd5694d6e2d9f39888

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ac9956bb7bb58d85ba8bd7cad0ba2fdf5f6f521634b5454f544d1949dd7fee91
MD5 556bb34240983b29763faca4907006ab
BLAKE2b-256 9edddcaa5beac83073eda19633df59818ac60cf7b713fc845f026a7b4c3a3514

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 a9048f7591fe82b5e4fad53936ded7c6bb11d251c0ef55032902d9777dc6963c
MD5 5809570d9fe708a1c0184cdfef816c32
BLAKE2b-256 ecb024078f6dfb19c9f3e0f6ae584379f7076bf73bdf1c1ec53574c59455f5cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 bc5a256e099c4d54d700fe594d6f7dee5f670428c3e63f494e41e4ec1b3dac78
MD5 1fcfddd90d0920a2991cee0728f1bdf1
BLAKE2b-256 addced0dbc2ed6c30ec3b53f3761c18c8be325b93af21ea3f5add3b034de5d02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ec020d35f62769b9af324912580f74940494dedeeff469767ce53a838ed2c2d8
MD5 a8e0825a6792804030d363a0276c4fa1
BLAKE2b-256 96ab83b3a9967c84f60865ae3b3c282d826862b42e22ec2772d9cb6bc29c1249

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 58f6481466c207edca8e515c1710294426cab86aaa616069503f202327abe7a9
MD5 037fa457a518ab056ea13a393a04a2c9
BLAKE2b-256 1359cbb987fb7a0c6420a62caf2f65848fd3974e1334f559cac062d0c12623a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0a2036926e6332e2702d152445def41c9fbbf7045f29c93cee212edb2f94c34b
MD5 d9207d2ff48e0ed1898609533e249c1c
BLAKE2b-256 d0ec52df7bf807ff4e3d9193eacd41b2a123a85b128e1974fd779fbd9477fba3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0dbad32b7861411e776fbbb84948b332fd979d8d3411153642bb4bbc370b3b62
MD5 a2fc6f5ae00aee3567fe2487e7b55c45
BLAKE2b-256 c525d3dc3f13f12ee163ac0f4c8236cd17c5d452991a8f5d19263cb1085bc8ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 508.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ddd10ea56412861613217d9f1f1095781f2e17e39a56dbe3fe763037d30a0b81
MD5 0417fa997be1c1d3ae485f7f4cd639d8
BLAKE2b-256 2d17232c7c5af57b80fa3a0864b9c9cf07a1f306df63747ab6ec04eaa49f8052

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 838e1974b983b43d5032833e4ac67cc1225e5ca97f71f2ce206cc7f44cbb1eb7
MD5 cf32744f27cf51c520bb058f5673c95d
BLAKE2b-256 180bb4c226b57ffa6713c2a35e4c0359f777afebf1e92163eda8ed69b02cde86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 979fd09cc34b8e7e91f5643c379016bf266fd974e16208c7fa39405e368ca67e
MD5 4112e7d6fd7f75d4b287cd62d52a0f51
BLAKE2b-256 35871173caf09ef19bdb7d1e89537dc5ae895021a1ad6c2c859372df806efc71

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 507.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 96c6c7cdb2e1ba1c0f7deab3bc04c36f10bbd1840b17a272df81a533f5ddfca7
MD5 055ff888b41d3589400e15d489e6cc25
BLAKE2b-256 0d169df982face1365c1d6190aa70647e97ed7fbdffd29367a71ca68da4bda0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f9beb0a9d6178024396bf907308a4b99b50b13000272afc1da25206db842ef43
MD5 801c3735a267fd2cf4a58d46c145c29c
BLAKE2b-256 f55eddf0059628c02654c1f9195649b778a1ab24f0cf7b38ba1bcb36f82baa67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 6a86f39682ec4d14fff57bd97c0a7e17508dfc861c2b46d0821060cf1f50e13a
MD5 ab292a20bed7772127f096f1fc1b6821
BLAKE2b-256 f2ad914c86ddc70bb9e3e6d1de5d06f398057c8568dd325685dee9a485fbdb13

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.2.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9f931b7a4fbc42aff780fd8a64496e8f97dbd455106d9e22a19acfdc38582817
MD5 0aeaaa78bd593296feb19a87d23a7ee5
BLAKE2b-256 5643fc42f88445af5181876e1aa018e1a459fcc833716d4b8657eafa2c4d89de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3481895cc27097074f6915bd06d592c5c62ff9633796aa928be11193999e6c80
MD5 2f127e231de7793003ade28705afffa7
BLAKE2b-256 3f0cf5eede3d5b212718bb2904e280ce08c61fae297a83745c87bd3485b2c0dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 d9979355e6f677cfc51e53b00fce39495cfddfb71482e12165a347e775215700
MD5 e7d6edcbb68361b860adadfe2439a30a
BLAKE2b-256 ab83d45fe87cfe6ca665f18f09240c798b53b5924db02fbeaa1b9c358fcdac2b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.2.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1a4fbdcf8eebb4f2017223bacbf2b17f0d1cd48f0000ff007b2b9270d319196b
MD5 463dc98d931fceaace605f633c60d778
BLAKE2b-256 b919e0561ea854114ca5747f79e2683ba331dd5af6330c2c63b6386d3e981e38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e142e0d88b83cf01cf8c8557bf3d45cdf82b7f0d6c5023d55bbdeeefa6cc66ad
MD5 795664f65328470b83b9895976ded407
BLAKE2b-256 03455689eb19178eca2b5a4c142b0878b98fac1a6a94b8b2098d04596ca6ca40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 21cfbd63c81780c91cd6d924c52d6eb01b9d44a1458aaef1b6270fda653f02ce
MD5 672f5eb5e6376f32b2149f544470adcd
BLAKE2b-256 a5fb9527419b3c762b2f5762fe0184652c94d4e99302c9dc2c2bc0acf6369b9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 504.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b18df66db0d9806bd2ae12703ffbbedee842d555976c6554f0d6de845d8ce419
MD5 855dba37f4e0f8cc0d64bba8bdaf1387
BLAKE2b-256 d6c9b13ad54d1e55144dc9ffca37eecf38f4e39acc0f5a6993438fa6d29a80ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1363d611c53e2050404034c91167522295b76bcd2c6f353c245423544be305c2
MD5 53f12b8d686b2e286772bb0546e41afd
BLAKE2b-256 87308761eaa68a3d13edb20a08576c6d5d40bb4988a2386a4f92953229de87c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.3-cp39-cp39-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 187.1 kB
  • Tags: CPython 3.9, macOS 13.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.3-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1f7e330416760efb402df087cab69c039254ef9b200c04399d86225d604bac63
MD5 cd14e1cdf68289ec001a3af7a8048256
BLAKE2b-256 932a90c6bd818a606de3b2a828d2636f92b82506906f3dd107d4de68f3d48d09

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.2.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2844e0ed17fbac41d9218a1e2094fc3d28214ea4c09bfc20b6b52d5a6efc7073
MD5 cf050eaaa1ceea9265172da2a3185b6a
BLAKE2b-256 d062d1f41e86f5b861dc30eb98884eb34d3958ae7773fcf5fbc5610a5772e6da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cab785d0d052243e19ce477e270ce26f2b89b6917f109fb6bd2c2754fddf9b64
MD5 bfa7c4b3da637b5f0531c212c2e4a57a
BLAKE2b-256 c6315c4285821557bf29c2d78a90b17cbca99345f53188ad52e2bb1d8b424256

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.3-cp38-cp38-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 186.9 kB
  • Tags: CPython 3.8, macOS 13.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.3-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 1cdc143e09eb43c9bc8e0b865d3315556300b4f4ffce4d88dff5e79e7bdc085e
MD5 c21f814aee7124281932e7725466023c
BLAKE2b-256 85665f469be7be1d3a12c74f01b1e5464d1bc56bc652bbe36ee6680ac10fc0f2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmmc-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8b178ea45efbbd4f64879c99335d346470a12034daf0603183b9a3e54b5c89a5
MD5 7cbc0a526c990168cf0de0fd671dfb26
BLAKE2b-256 dc5a575f5a9988027548c318e9b37a79df46768674706da1198de631edbc9bf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d7d673d9b4fe320a787092aebdd63497bf6a6dfac10542e8c39d8c15900e6b65
MD5 8b791e8a273f90c72bb44c62ad957337
BLAKE2b-256 95c8e2f0a553878d397b466df2f9dd4af05e79738e88f3debd7b7465e48830b7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmmc-0.2.3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 507.2 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmmc-0.2.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 da4e8d81701a0ed36335855debe05715b113b9236aa09c71a7638c971fdd9c6e
MD5 3c51fa0a56644e18524d6a24205755e7
BLAKE2b-256 efeb93a3d0e4988a39dd5256f3b17da80ab5a76a027f2248c60cd6eaf24e4a80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmc-0.2.3-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8858da4f80eeaedbb4a15e405fdc671f3285be89ab231a4b5ccea516a5ea8ec6
MD5 ef378769921a22da042f5625c39d0578
BLAKE2b-256 610a7a7386d3c9ca85f2bb4793555160ef4576e78c38a08106a5a733834429d4

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