Skip to main content

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.

  4. (optional) To also build the CUDA backend (cfg["compute"] = "cuda", NVIDIA GPUs only), install the CUDA toolkit and pass -DBUILD_CUDA=ON to CMake, for example CMAKE_ARGS="-DBUILD_CUDA=ON" python3 -m pip install .

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)

Metadata

Release files for pmmc 0.3.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pmmc 0.3.12
File Actions
pmmc-0.3.12-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-pp310-pypy310_pp73-win_amd64.whl PyPy 3.10 PyPy 3.10 7.3 Windows x86-64 Details for pmmc-0.3.12-pp310-pypy310_pp73-win_amd64.whl
pmmc-0.3.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64 Details for pmmc-0.3.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl
pmmc-0.3.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl PyPy 3.10 PyPy 3.10 7.3 macOS 10.15+ x86-64 Details for pmmc-0.3.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
pmmc-0.3.12-pp39-pypy39_pp73-win_amd64.whl PyPy 3.9 PyPy 3.9 7.3 Windows x86-64 Details for pmmc-0.3.12-pp39-pypy39_pp73-win_amd64.whl
pmmc-0.3.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64 Details for pmmc-0.3.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl
pmmc-0.3.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl PyPy 3.9 PyPy 3.9 7.3 macOS 10.15+ x86-64 Details for pmmc-0.3.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
pmmc-0.3.12-pp38-pypy38_pp73-win_amd64.whl PyPy 3.8 PyPy 3.8 7.3 Windows x86-64 Details for pmmc-0.3.12-pp38-pypy38_pp73-win_amd64.whl
pmmc-0.3.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64 Details for pmmc-0.3.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl
pmmc-0.3.12-pp38-pypy38_pp73-macosx_10_15_x86_64.whl PyPy 3.8 PyPy 3.8 7.3 macOS 10.15+ x86-64 Details for pmmc-0.3.12-pp38-pypy38_pp73-macosx_10_15_x86_64.whl
pmmc-0.3.12-pp37-pypy37_pp73-win_amd64.whl PyPy 3.7 PyPy 3.7 7.3 Windows x86-64 Details for pmmc-0.3.12-pp37-pypy37_pp73-win_amd64.whl
pmmc-0.3.12-pp37-pypy37_pp73-macosx_10_15_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 macOS 10.15+ x86-64 Details for pmmc-0.3.12-pp37-pypy37_pp73-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pmmc-0.3.12-cp313-cp313-win_amd64.whl
pmmc-0.3.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for pmmc-0.3.12-cp313-cp313-macosx_11_0_arm64.whl
pmmc-0.3.12-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp313-cp313-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pmmc-0.3.12-cp312-cp312-win_amd64.whl
pmmc-0.3.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for pmmc-0.3.12-cp312-cp312-macosx_11_0_arm64.whl
pmmc-0.3.12-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp312-cp312-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pmmc-0.3.12-cp311-cp311-win_amd64.whl
pmmc-0.3.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for pmmc-0.3.12-cp311-cp311-macosx_11_0_arm64.whl
pmmc-0.3.12-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp311-cp311-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pmmc-0.3.12-cp310-cp310-win_amd64.whl
pmmc-0.3.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for pmmc-0.3.12-cp310-cp310-macosx_11_0_arm64.whl
pmmc-0.3.12-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp310-cp310-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pmmc-0.3.12-cp39-cp39-win_amd64.whl
pmmc-0.3.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for pmmc-0.3.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
pmmc-0.3.12-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for pmmc-0.3.12-cp39-cp39-macosx_11_0_arm64.whl
pmmc-0.3.12-cp39-cp39-macosx_10_15_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp39-cp39-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details for pmmc-0.3.12-cp38-cp38-win_amd64.whl
pmmc-0.3.12-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details for pmmc-0.3.12-cp38-cp38-macosx_11_0_arm64.whl
pmmc-0.3.12-cp38-cp38-macosx_10_15_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp38-cp38-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp37-cp37m-win_amd64.whl CPython 3.7 CPython 3.7 pymalloc Windows x86-64 Details for pmmc-0.3.12-cp37-cp37m-win_amd64.whl
pmmc-0.3.12-cp37-cp37m-macosx_10_15_x86_64.whl CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp37-cp37m-macosx_10_15_x86_64.whl
pmmc-0.3.12-cp36-cp36m-win_amd64.whl CPython 3.6 CPython 3.6 pymalloc Windows x86-64 Details for pmmc-0.3.12-cp36-cp36m-win_amd64.whl
pmmc-0.3.12-cp36-cp36m-macosx_10_15_x86_64.whl CPython 3.6 CPython 3.6 pymalloc macOS 10.15+ x86-64 Details for pmmc-0.3.12-cp36-cp36m-macosx_10_15_x86_64.whl

Total release size: 22.7 MB

Release files / pmmc-0.3.12-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 786.4 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
c90a8ae13fdb1081a0738708d0e583e80d7e11e8995482c9ec28aa15917adcce
BLAKE2b-256 checksum
How to use checksums
aa0842b0b1fd1b5991581a9f4b6e8a9a16bb61aa65ccc6cc45b2792deb9fefef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp310-pypy310_pp73-win_amd64.whl

Download URL pmmc-0.3.12-pp310-pypy310_pp73-win_amd64.whl
Size 550.0 kB
Tags PyPy 3.10 PyPy 3.10 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
9a3d5a941860b2e9ebf1e258c486509e2f8ae616574aa40d4afe32e7283d8939
BLAKE2b-256 checksum
How to use checksums
3e9c6ed275625efc1392c14a8bb392c5fd30c89385ae8212f8172a031da5bcad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Size 371.6 kB
Tags PyPy 3.10 PyPy 3.10 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3a030d6cb28902d24e1213f172ebf712fef1318e36a504654e251a61c190976e
BLAKE2b-256 checksum
How to use checksums
921f28d33801903c641f988d18cf9422baa7b4f723aa81353d811ca73997cd02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
Size 405.4 kB
Tags PyPy 3.10 PyPy 3.10 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0aa03ca4edddc5162ff22ca7062f58a48600981e076eafafd7af5cd28eb0c5e9
BLAKE2b-256 checksum
How to use checksums
79f67cbe72457c7c6db7965e97149cad8f0ebfda62aafd108b237074e0f4c599
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp39-pypy39_pp73-win_amd64.whl

Download URL pmmc-0.3.12-pp39-pypy39_pp73-win_amd64.whl
Size 549.8 kB
Tags PyPy 3.9 PyPy 3.9 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
f7b9915cadf6180740a25f7d74c3def00aef655390de96df22e3b033a8da5a2d
BLAKE2b-256 checksum
How to use checksums
78cf96082a39585d14f4257cad56989ea5df2974be7b99db52c520846baea7a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Size 371.5 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bcff63a97a2e9a7c26ea23ad28fd7a87cda54f2e970e5782049743c6c6908115
BLAKE2b-256 checksum
How to use checksums
ec30a2b53fc239ab355f5021723d843e1cddf7e77a14c72b0f5aee97e74d652c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
Size 405.3 kB
Tags PyPy 3.9 PyPy 3.9 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1362247478f85cb136e51d290b31d986c99d8c90d78fdc36995c7b59c4693acb
BLAKE2b-256 checksum
How to use checksums
eef808edbc92f0b451047e04a7c1159504510394563b9f48ff04ce9f1bf75942
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp38-pypy38_pp73-win_amd64.whl

Download URL pmmc-0.3.12-pp38-pypy38_pp73-win_amd64.whl
Size 550.0 kB
Tags PyPy 3.8 PyPy 3.8 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
de344ab3c5903aae0b31d0006dc0cb86379386194b408f53d9688c501b0b1106
BLAKE2b-256 checksum
How to use checksums
bd49c57316b50c8d7b5168ab2d6f980adee0e99a11e3a896ecc3c7508e2a7d40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Size 371.6 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3b056a003bdbc901d15a79632f1d9c9b272d1e1161cfb83a499e429266321687
BLAKE2b-256 checksum
How to use checksums
960fdadc980bfc524bde417eecacc34f004ede509cdb4a8b5862c83967d6fbaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp38-pypy38_pp73-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-pp38-pypy38_pp73-macosx_10_15_x86_64.whl
Size 405.3 kB
Tags PyPy 3.8 PyPy 3.8 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
abf40e3fd0636d21d1f848e83cb8997afc740ad0d95e239de0fcf45aae74ddfb
BLAKE2b-256 checksum
How to use checksums
95a755c66265054b311a9498c63c8fcf732c86b74047eabcaff391b43155b556
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp37-pypy37_pp73-win_amd64.whl

Download URL pmmc-0.3.12-pp37-pypy37_pp73-win_amd64.whl
Size 549.5 kB
Tags PyPy 3.7 PyPy 3.7 7.3 Windows x86-64
SHA-256 checksum
How to use checksums
0cb50f8b1c9564f9ea0d222b603577519d0d1034886a7bf0025982abfd7f406d
BLAKE2b-256 checksum
How to use checksums
ef809e8fb989bbc20aca5a91f3c048cfbf83b9428f9632af0f3c7287e76e46ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-pp37-pypy37_pp73-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-pp37-pypy37_pp73-macosx_10_15_x86_64.whl
Size 404.7 kB
Tags PyPy 3.7 PyPy 3.7 7.3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2639acde00083f1cb546101285b0f5e76322f0b93e638706bc5376aeebd2cdba
BLAKE2b-256 checksum
How to use checksums
17801a66bb70fa101a6f3f450151960cf39859d83af54b08083c42555b163489
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 784.4 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9d386407d447719c308baa9811cc87d9648bee23c0708c02adc80bb055421c24
BLAKE2b-256 checksum
How to use checksums
e89bfd4625b19cdcd22160517977f7dcc1a4059fe8cba82d4494a3ba3978cce2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 785.3 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
268985cb122dcfac2e084a9886e41a52aac772024e98459122f61a4994c83113
BLAKE2b-256 checksum
How to use checksums
7651bed6657ea728aad7199e4155a1e7eca8797f187e9b2f40a24b47a6a29686
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 784.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a8ed74ebbade157a4f9e11b0920bfc4ccd279d773db89b729d0940be8df2a6ff
BLAKE2b-256 checksum
How to use checksums
843e1250e5a355b0169b7beeed4b868d1b16ae9afae6eec3d62bba262b9aa0ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 785.3 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
7f74ef55782b9cc19d6661781d9686c68b83b82f419f69736d7877f837905788
BLAKE2b-256 checksum
How to use checksums
f0311d0e71b23d4ce4ed3da53220347f8e18772af815ca2043ac343a9e73cccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp313-cp313-win_amd64.whl

Download URL pmmc-0.3.12-cp313-cp313-win_amd64.whl
Size 552.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
db5ccabef9389ab7fe6530ba31eb3c50c40b0c68afec7edfa5cc2d48912f82e1
BLAKE2b-256 checksum
How to use checksums
33fe0ea4faba8a2d55729e4bdf883b0187050747d4ed81183764c37226ca9140
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 784.8 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
23657d7337301e51d0c3ab7a094d9f016a23db28ceef35238cb3efac3f66b23f
BLAKE2b-256 checksum
How to use checksums
22943dc42748ddb88afa3cfdc20857afde2ed76569c587e3f5add632a5a6eb77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp313-cp313-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-cp313-cp313-macosx_11_0_arm64.whl
Size 372.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e48f7547ca560e97737165bc4bd684808577b9b28e56f0105672a1aa1e12c5dd
BLAKE2b-256 checksum
How to use checksums
85b7d61b52c7d6d501ff925d34c8add6ddb3dadbcd6de1b5e1b448bd182bfa16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp313-cp313-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp313-cp313-macosx_10_15_x86_64.whl
Size 406.3 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
20e3b37e037df33cc439bc12453c95f85d0fbbe7b5f5adb827dd1f8837b7ebd1
BLAKE2b-256 checksum
How to use checksums
2eebb0e4a91a66090c87c0ee4d184db8f41a92a173d6dae90bc0c929b0c2cac7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp312-cp312-win_amd64.whl

Download URL pmmc-0.3.12-cp312-cp312-win_amd64.whl
Size 552.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
dd18e7c4f3dbc32773a77e6ea16f7d19343eed5d78f0948854451b578d7f2f62
BLAKE2b-256 checksum
How to use checksums
0b74e622ab04bd4076ff9de0bf3f000b5e996353bd94b769687f3a0b6c20ea43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 784.9 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
25087d8071eb21a8f618d2f6106e11a728dbc9de3730d12b7da46e46dd6c32eb
BLAKE2b-256 checksum
How to use checksums
45d27b63699661cd10ab48c5ba941ad4c3f6d1701995f7823323a0aa209f31e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp312-cp312-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-cp312-cp312-macosx_11_0_arm64.whl
Size 372.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2f403d2e40b5174a4a5484fa0ec422e4fbb45c7dabfcd57f236f99fc8436412d
BLAKE2b-256 checksum
How to use checksums
fe5777da45bcd06a5bf479f036f18527f34c271ba0ec71f5c142747bb2f0e5e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp312-cp312-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp312-cp312-macosx_10_15_x86_64.whl
Size 406.3 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bb0ab63cfea8224b53240aa6e80aafd54ff1a7b3cdcb5fb11157c4080ba8e660
BLAKE2b-256 checksum
How to use checksums
8b2f997afe99611f727d1b903710984b8dacb46331277edfd556a81bbd82948d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp311-cp311-win_amd64.whl

Download URL pmmc-0.3.12-cp311-cp311-win_amd64.whl
Size 550.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b124d397c4a4152b0d4703eb9d6aa65d7d048a32411ca0a77feb28f482ff2e3e
BLAKE2b-256 checksum
How to use checksums
7f031432fd2637f57801fbcefbdfd6aa3fe6267a4e8cc3265ff628b027255b02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 786.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0d0ca5c9871a619f5a86c40fdb24514e32c3929a73fc328941b288d608311254
BLAKE2b-256 checksum
How to use checksums
c6b5ed0bd80054441f38f837d408feb3817e568a3d239c22a4c30e114ee929ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp311-cp311-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-cp311-cp311-macosx_11_0_arm64.whl
Size 373.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
404379fc94ec035df35dafc51ea216565ad150d8de3c597a655430c45b5d1de5
BLAKE2b-256 checksum
How to use checksums
cc89d7d246ba0c9a8f3bcfb5c1171941c44f33d32640a87efd235b6ccae01f5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp311-cp311-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp311-cp311-macosx_10_15_x86_64.whl
Size 407.7 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
636822e776d8cadbc1eb46a8cebe182a0b0f77c0984467525f0495f1c50b229c
BLAKE2b-256 checksum
How to use checksums
f5c516f4acdeba620d8fa691e4bc06eed767dc456f72120c10f443f5e52bc279
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp310-cp310-win_amd64.whl

Download URL pmmc-0.3.12-cp310-cp310-win_amd64.whl
Size 549.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
24f94ceb8bb3bb124a1576b2254eef33bd32cb8c5463ca18e9ab8e34c227194f
BLAKE2b-256 checksum
How to use checksums
1f723681f6b5e9f0e1261dff37974254323d88fd6e4fb1ef17f5ba158e5036db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 784.1 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
068946072c7285ade9be2ec8fbd35d151407e15c457fb09a8adf06ff68577e65
BLAKE2b-256 checksum
How to use checksums
f8f31757dd0bb1eb1bbd0549485f17974d4660b89e78599714b4615ab96f5b2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp310-cp310-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-cp310-cp310-macosx_11_0_arm64.whl
Size 372.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
619799da43f1a7f82beb3046bdca1ab2ccc1d4ce81cc45b6f13a45e810c8bb61
BLAKE2b-256 checksum
How to use checksums
aeefc6ca3dec2b77ac653cba852ec6732d2c5af24ab691236d10c32fa7566ce4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp310-cp310-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp310-cp310-macosx_10_15_x86_64.whl
Size 406.1 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0f5b3ca1a94d7663a65f9c9480883645a61e5f33df76dbe60c6bdaf009019d45
BLAKE2b-256 checksum
How to use checksums
f9280c53ce41e6c6b91c31408aed07290cdf3873ab86eb536096708910f6ec70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp39-cp39-win_amd64.whl

Download URL pmmc-0.3.12-cp39-cp39-win_amd64.whl
Size 549.8 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
f8c1d6b746cc84102a3f0275115f67fd51f5bcf3974986b00bae8557e2061aa2
BLAKE2b-256 checksum
How to use checksums
6b7215084420511d8d490c7cb41bf37928c0d722f6bc9b477b29fef7a9b58fbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL pmmc-0.3.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 783.9 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
003440ed10bfbbc86571c62c4da601e67ea51ba1353fc0c24cef50e2662fd3e5
BLAKE2b-256 checksum
How to use checksums
8d8d4273d3e58430b5eaa35ae7e93b4d932fafbbc69472970476d8d69c54557a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp39-cp39-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-cp39-cp39-macosx_11_0_arm64.whl
Size 372.1 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7236613b90fe1b7c4295ce1f07e2493c8c4c32af7051aaf6489870ada249277c
BLAKE2b-256 checksum
How to use checksums
041c6fd10186c06da41c500e855a619693e62ac14102b3d3196f1993f6c08e1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp39-cp39-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp39-cp39-macosx_10_15_x86_64.whl
Size 406.2 kB
Tags CPython 3.9 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
6428f47769a2487fe36d5b54f3b7c06ecb8980983f0cd77decd23efe5d038300
BLAKE2b-256 checksum
How to use checksums
d66e18b1084e87f087184077d9231006556fd0901ec2f3dc368078909d73126c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp38-cp38-win_amd64.whl

Download URL pmmc-0.3.12-cp38-cp38-win_amd64.whl
Size 549.7 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
b79ee63f738f14c95e7067fa80f68bec6fb0342576d663477189e8b941c8427e
BLAKE2b-256 checksum
How to use checksums
4b28d2f73a4a5c13f9ea51b93adaabc0924cf3312b02d056f43d23bbdafe5c0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp38-cp38-macosx_11_0_arm64.whl

Download URL pmmc-0.3.12-cp38-cp38-macosx_11_0_arm64.whl
Size 371.9 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0372f57bba082051ec47c7f06d427e613465128c8511bd5922ec42b02d6ea9df
BLAKE2b-256 checksum
How to use checksums
7740fd3ea7271bb931f5ed139a69b929d98788e1830348b6a50a1f42cb29996e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp38-cp38-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp38-cp38-macosx_10_15_x86_64.whl
Size 406.0 kB
Tags CPython 3.8 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
deeeb892d6d7c8276896e0ef83556b60e0fa7029ee963c4f7a00aea776b17960
BLAKE2b-256 checksum
How to use checksums
68e41b00eb029f2ce93731eec941be224f3a5c2abbe8f51a12a3d9f2cd5eda8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp37-cp37m-win_amd64.whl

Download URL pmmc-0.3.12-cp37-cp37m-win_amd64.whl
Size 553.2 kB
Tags CPython 3.7 CPython 3.7 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
7d35b57ff2e0321848f3a1c99103156930613668eea7fd7c249b67b2f6585ee0
BLAKE2b-256 checksum
How to use checksums
394413645c02ad1c99580308dede91371495ee24275d0d61c5e89af2676c8610
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp37-cp37m-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp37-cp37m-macosx_10_15_x86_64.whl
Size 404.0 kB
Tags CPython 3.7 CPython 3.7 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f962ecbadb44c316504cb486ee5c113fa95da736e03a57de75570b15bedd1c09
BLAKE2b-256 checksum
How to use checksums
a585b2b699e243ca3e3dd44307c989310d3ddd14cce5ca446a3672e2f9e9ee82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp36-cp36m-win_amd64.whl

Download URL pmmc-0.3.12-cp36-cp36m-win_amd64.whl
Size 553.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Windows x86-64
SHA-256 checksum
How to use checksums
b619174787b959cb2537e6b3bee864568eabd5eca1581b2ff7e88d7efbad17bc
BLAKE2b-256 checksum
How to use checksums
9df2284c2c518f055b370b344cd9bbb3419028fda4d4e14d0f93f97bb1270a46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pmmc-0.3.12-cp36-cp36m-macosx_10_15_x86_64.whl

Download URL pmmc-0.3.12-cp36-cp36m-macosx_10_15_x86_64.whl
Size 404.0 kB
Tags CPython 3.6 CPython 3.6 pymalloc macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0443c0d0b73dd88978edaff3311488d230bf8352599852d3d991493ad138c039
BLAKE2b-256 checksum
How to use checksums
2583a3cdf6ae7870132219c73f07f49cb42908d2eacfc879d3e7cc17af72f123
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for pmmc 0.3.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page