Skip to main content

Python bindings for Monte Carlo eXtreme photon transport simulator

Project description

PMCX - Python bindings for Monte Carlo eXtreme photon transport simulator

  • Copyright: (C) Matin Raayai Ardakani (2022-2023) <raayaiardakani.m at northeastern.edu>, Qianqian Fang (2019-2024) <q.fang at neu.edu>, Fan-Yu Yen (2023-2024) <yen.f at northeastern.edu>
  • License: GNU Public License V3 or later
  • Version: 0.3.2
  • URL: https://pypi.org/project/pmcx/
  • Github: https://github.com/fangq/mcx

Linux Python Module
MacOS Python Module
Windows Python Module

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

Monte Carlo eXtreme (MCX) is a fast photon transport simulation software for 3D heterogeneous turbid media. By taking advantage of the massively parallel threads and extremely low memory latency in a modern graphics processing unit (GPU), MCX is capable of performing Monte Carlo (MC) photon simulations at a blazing speed, typically hundreds to a thousand times faster than a fully optimized CPU-based MC implementation.

How to Install

Runtime Dependencies

  • NVIDIA GPU Driver: A CUDA-capable NVIDIA GPU and driver is required to run MCX. An up-to-date driver is recommended. The binary wheel distributed over pip runs on NVIDIA drivers with CUDA 10.1 support on Windows, CUDA 9.2 support on Linux, and CUDA 10.2 support on macOS, respectively. For more details on driver versions and their CUDA support, see the CUDA Release Notes. To download the latest driver for your system, see the NVIDIA Driver Download Page. You shouldn't need to have CUDA toolkit installed. MCX is built with the static CUDA runtime library.
  • Python: Python 3.6 and newer is required. Python 2 is not supported.
  • numpy: Used to pass/receive volumetric information to/from pmcx. To install, use either conda or pip package managers: pip install numpy or conda install numpy
  • (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: Windows and Linux are fully supported; For building MCX on macOS, OSX 10.13 (High Sierra) and older are highly recommended since 10.13 was the last version of macOS with NVIDIA CUDA support, and matching the CUDA compiler version with the C/C++ compiler shipped with Xcode is easier. Newer macOS versions can be used for building MCX, but need to have System Integrity Protection disabled prior to installing the CUDA toolkit due to the NVIDIA installer copying its payload under the /Developer directory under root.

  • NVIDIA CUDA Toolkit: CUDA 7.5 or newer is required. On macOS, 10.2 is the last available CUDA version. For details on how to install CUDA, see the CUDA Download Page. The NVIDIA GPU driver of the target system must support the selected CUDA toolkit.

  • 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: CUDA Toolkit supports only the following compilers:

    • GNU GCC for Linux-based distributions.
    • Microsoft Visual Studio C/C++ Compiler for Windows.
    • Apple Clang for macOS, available via Xcode. The last Xcode version supported by CUDA 10.2 is 10.3. If using an OSX version higher than 10.15 it can be downloaded and installed from Apple's Developer Website with an Apple ID. After installation, select the proper Xcode version from the commandline, and set the SDKROOT environment variable:
      sudo xcode-select -s /Applications/Xcode_10.3.app/Contents/Developer/
      export SDKROOT=/Applications/Xcode_10.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
      

    Refer to each OS's online documentations for more in-depth information on how to install these compilers. Note that the version of the C/C++ compiler used must be supported by the CUDA toolkit version. If not, compilation will fail with an error notifying you of this problem. See the CUDA Installation Guides for more details.

  • 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. Additionally, on Windows, make sure Visual Studio's C++ CMake tools for Windows is also installed by selecting its option during installation.

Build Steps

  1. Ensure that cmake, nvcc (NVIDIA CUDA Compiler) 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 pmcx/ folder:

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

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

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

How to use

The PMCX module is easy to use. You can use the pmcx.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 MCX simulation setting as positional argument. The supported setting names are compatible to nearly all the input fields for the MATLAB version of MCX - MCXLAB)
import pmcx
import numpy as np
import matplotlib.pyplot as plt

res = pmcx.run(nphoton=1000000, vol=np.ones([60, 60, 60], dtype='uint8'), 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,:, :]))
plt.show()
  • Alternatively, one can also define a Python dict object containing each setting as a key, and pass on the dict object to pmcx.run(), or preferably, pmcx.mcxlab()
import pmcx
import numpy as np
cfg = {'nphoton': 1000000, 'vol':np.ones([60,60,60],dtype='uint8'), '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 = pmcx.run(cfg)      # pmcx.run returns detected photon data as a concatenated 2D array res['detp'], same for res['traj']
# or alternatively/preferably
res = pmcx.mcxlab(cfg)   # pmcx.mcxlab calls pmcx.run, and postprocess res['detp'] and res['traj'] raw data into dict form

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.

pmcx-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.3.2-pp39-pypy39_pp73-win_amd64.whl (4.3 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.3.2-pp39-pypy39_pp73-macosx_10_16_x86_64.whl (4.7 MB view details)

Uploaded PyPymacOS 10.16+ x86-64

pmcx-0.3.2-pp38-pypy38_pp73-win_amd64.whl (4.3 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.3.2-pp38-pypy38_pp73-macosx_10_16_x86_64.whl (4.7 MB view details)

Uploaded PyPymacOS 10.16+ x86-64

pmcx-0.3.2-pp37-pypy37_pp73-win_amd64.whl (4.3 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.3.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.3.2-pp37-pypy37_pp73-macosx_10_16_x86_64.whl (4.7 MB view details)

Uploaded PyPymacOS 10.16+ x86-64

pmcx-0.3.2-cp312-cp312-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.12Windows x86-64

pmcx-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp312-cp312-macosx_10_16_universal2.whl (4.7 MB view details)

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

pmcx-0.3.2-cp311-cp311-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.11Windows x86-64

pmcx-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp311-cp311-macosx_10_16_universal2.whl (4.7 MB view details)

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

pmcx-0.3.2-cp310-cp310-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.10Windows x86-64

pmcx-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp310-cp310-macosx_11_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

pmcx-0.3.2-cp39-cp39-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.9Windows x86-64

pmcx-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp39-cp39-macosx_11_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

pmcx-0.3.2-cp38-cp38-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.8Windows x86-64

pmcx-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp38-cp38-macosx_11_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.8macOS 11.0+ x86-64

pmcx-0.3.2-cp37-cp37m-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.7mWindows x86-64

pmcx-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp37-cp37m-macosx_11_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

pmcx-0.3.2-cp36-cp36m-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

pmcx-0.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

pmcx-0.3.2-cp36-cp36m-macosx_10_16_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.6mmacOS 10.16+ x86-64

File details

Details for the file pmcx-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2694ce3aa933e9e6c19ff0cd593c5e300c868bca4ff6f5c7e46582f7510a9d27
MD5 96e0df80d9389119c2ba48ed1b9bd910
BLAKE2b-256 6cbf1fdf68a04fb09ea82845fd399c992f21828dd09c7a30072937601460b10c

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 d3b2124becc8e75b5241725e6130f2d48bfd878d1f3cda3277703d6cca84ab6c
MD5 48785a651060af19f204cded66ac6575
BLAKE2b-256 73398f104527d0c1e9128b9bf03a1a83559d45e3f2c3a8e3f4058cf108c71681

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc09d6e2180045a608f1c3ed9a12c2fbf6544535329b0d2e745d74ff33dfbb12
MD5 68cf5495de9ea048a34d22b604317748
BLAKE2b-256 8b10c8c76549a1951e792d82be545595a7ae4f17a88231db5bd4de50f40ded37

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp39-pypy39_pp73-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp39-pypy39_pp73-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 46d6ddc2f833f80ad6cf72e53403e88b8641e8e0dcab2f0e74d8a3e5f4033c9c
MD5 81a304892fe850fd2ce8c9f2c29330e3
BLAKE2b-256 a2509a88ba58357f98078315b717612ceff471dbaa2fef389d129f53aa24ee12

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 ee406d3d73bd663efaf50ff6579a6893763327d00e3e1b6382b398bee69bc7be
MD5 cfb1e88285f3bbfce04bb5bdb306a93d
BLAKE2b-256 965870f17a8becd92da983d73207ac222474ddd19b69d23681fd6f0536bfd152

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2604116683d40ee1c73201f86f6cd0b47affa22091edb0efadc0c28908d75766
MD5 abe62291c06f5ddf7a4ffd74a1aff8a9
BLAKE2b-256 8df289d84c615202eea9d772507d8bbfa5dd32b910e601e1db9ce8530d985fe8

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp38-pypy38_pp73-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp38-pypy38_pp73-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 766bd643c0d8c949a6e2b0170eeaccaf3a1ae0d31e0b6e6cc32d12b6907a10be
MD5 7a8e80e19f5b43f0782b61a599ea8d5e
BLAKE2b-256 d38af411218b7b0d0eb4434e92064330f6d217df82331a03c163bb738cd4b03b

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 b1c778db2ef99d92f6b8f1c6cb4880a152fa8a6e31ed45e38343cb98f5be5b6b
MD5 627848def0dc59b89b22ba6ff9296b8b
BLAKE2b-256 51415b13b61e347326c208c7f04d4fad9573c376d70b23586bf427b7386e3382

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b9ec4aa9b7159be6b385069d9f68f55f00f5dc64c00fcd390cfa9feeafb9cac
MD5 86a4993b0b841c0a253a2615255c124e
BLAKE2b-256 821afd84584d72d8b9ef4cbb0cfa7e0b9a1bb94175ef058044e47ecfbdb9404a

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-pp37-pypy37_pp73-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-pp37-pypy37_pp73-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 5c64fbaa3a511402ecebce8d95fc21cf708d739a09574bcd754ca7db938c3d03
MD5 7ffcc4ed9f077ea59d16a710f314d194
BLAKE2b-256 0e2ac49206f865a805394453df9ff184a274765bd0f40315e1798df935f7c581

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3cf44f18e16970891a6c4b9b5cdf3e9afd91e46dbee11a7927c2dfca69681b1
MD5 3d2c0d5d394d74741949f37fc0714ab0
BLAKE2b-256 07c02e9304117084d825b31d8e7ff1fb91ad7a8ed04ab21e332e42e0531932f6

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 784c94441b4db18f330894a972e50a566b39d797fe502af3e565756051d13e50
MD5 a0914f04da321617c1a491e2f6900eae
BLAKE2b-256 2942d420b0db97e21a8be8717298e5e6cd92f7f3bbe61432c02bee1fd68a188f

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp312-cp312-macosx_10_16_universal2.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp312-cp312-macosx_10_16_universal2.whl
Algorithm Hash digest
SHA256 c43e8d486ed6a934725a256feef1788385dc975b4c242f9fed20a7b84e74cfc8
MD5 a6ba98eee95fbea7074a92ec123ae76c
BLAKE2b-256 d8bbb3ab4aaea04f03a2ef57f3ad82789493c42aead3f53a74269058b48ad834

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 245339583bb15656eef8edd74cf288dfe8449329c470040db02008f75e8732fb
MD5 0f329c2da15e275e99263f289bcbc50e
BLAKE2b-256 290da4c83c671a2b425c33d16030a6dd4828a5faa085c57381ae7608cdce9041

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f2a9b457ae0b39fbf3b9c121902e997a52f274c8649c9ea2c90795aab0c452b
MD5 ea1167c6717ab09dd2ee44d95f289f08
BLAKE2b-256 0cadb1f67d25b1a60412b15be634a165139a49d8dc871674d82be9dbce109ef1

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp311-cp311-macosx_10_16_universal2.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp311-cp311-macosx_10_16_universal2.whl
Algorithm Hash digest
SHA256 199ae7d52587dc9e8621dad496d27f2025558b543a4032c80513e4ea2c88c20d
MD5 33f56d76c9dec35828d50140242bc103
BLAKE2b-256 40dbd2c130c56a3274ebc71e882db33bc17e66a3141a425a3d3672d192a60f27

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e91ba23dbc3480119cf21717428e77cecadf106168d5f1fc624b5f5b9424dfa0
MD5 034207b66dcd12241c32076e23a85f90
BLAKE2b-256 5b1d03bab240ba81f821e9c825ac0f043e7d47cae3ad69b76e3b5680fe02bc3c

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1090f58e0fb781c212a3007aac277c975e270e51e2b243dcffb6e4ef4e641a45
MD5 f8c87574a4d6f081a643c5f711067caa
BLAKE2b-256 a61b76f86f4dfcdcffbbe693497c7066e3e9a3e2b9808264285c93469e0d7588

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 02f2e5d789fb3b1160f7681b9d1c8a2067eccdb56b2da28f33de9997d3ab7e04
MD5 e61e9f4fc453fc86026d7ab5b52f27fa
BLAKE2b-256 559f0bc3535e8f8abc28c3542b0c3a2e7f79eff723bcc8f11e469594bfdcac62

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9c7db00c33822900413040c4779647029add5dd27fb7c8f5ae9c4bc8f49c1ee3
MD5 1bd8ba9fc2c63a5a916c94048eb9091f
BLAKE2b-256 65305226f8db377d954de46be9b063dd1181600a393ec015fb8d285ef5a9e7bd

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6360bbc8381c09c6da8ca0048d417794d1a3edfdbb1d8178243bb519b93c3244
MD5 739a8fe18fb0ff43e0800c9be1653a81
BLAKE2b-256 01aae5f2559464cef4048f9cbca71e20e1bd636e30ca9c76a74ca8e008b72c34

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp39-cp39-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp39-cp39-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.9, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7f4639552b91446de463051a16ef8db932d077437e4b02f00bed7452d2e1cfd6
MD5 3c83e1053c6424d3d0d05b4e7245b75e
BLAKE2b-256 bc57a756c08876cc08ec3bce8b1b6811a89922bd94f82d990165eb589901f06e

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f51ab1772f087a98dd012cea0632d895da5d1dc371f39fd248730a5c1f826020
MD5 136449ed18745f4f0193c076fc4440ab
BLAKE2b-256 b10da3108474ccc1f72c33feb1f118a905e53ef44c172423069cba98e3dc217c

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36f75032f58fc1af06eb236ea5f7acb7954f91d3b3ff6c3119c9707983e066e5
MD5 8cf20fe67b08a40d104d9256e89d5758
BLAKE2b-256 d7c5783b14ea92942ff68de4a1beef129cb073deb4401f2085b17b14670c2787

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp38-cp38-macosx_11_0_x86_64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp38-cp38-macosx_11_0_x86_64.whl
  • Upload date:
  • Size: 4.7 MB
  • Tags: CPython 3.8, macOS 11.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 c97e0fad5d01698565497206c5bd2e40808710edd8b13f897f7045ac9bb3cf42
MD5 64959f92dfbc45748c71ba99327058f7
BLAKE2b-256 e2a13bae72235d8278a818a1bed3f8d2eda80e2584f85e3074fe20b7c930054b

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 80f68f1c2e37d2ec935e7d911ff9d3302a4dd9e78e9b5317a103181b73729bdd
MD5 713efb1de72e3c7df300dd36b93697a3
BLAKE2b-256 36e226ac460edc303902d8da61e77e8c14d8c3fb9cbf71a21f52bd7b01b4b0b4

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40bc4d138822689d18f667345885c0872811b20735b7bcc47708ce707530d0e2
MD5 3be4af27d1d7b2123b44ce8ccb680142
BLAKE2b-256 1eb21d81143fc35048fa3d4296a30eb8099cb97b2132e490f16570c9a1ae5ba7

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp37-cp37m-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 3faa14dcebf8f4394e1f9161386de4414a4d5640d90a7a776288cc9fd20ece18
MD5 dd1b2f3ddf84d287730d605d3761ac15
BLAKE2b-256 602ce5d460de09e66f8650fbbca0115cb88b3d849bf930aea82563ebf4fd8716

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pmcx-0.3.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pmcx-0.3.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 0bfb88bdc5f3bf056b480b76e7a630133c4447577b61fc86ef1cdec7d35c90db
MD5 8753d1539877669df4205ca9e0d30020
BLAKE2b-256 ad88e93f7074c1203bc6be11f9d918d3ebcb8eb2cf75c212d274cc09f4f67caa

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdffee23ee29f4aae43bbd09ff4b4ad96818de842cc9df833140c02f729099b8
MD5 74ee9c63d65ebdab217c2fa781af9dd1
BLAKE2b-256 45f589cf923e11c1156f24cc0136e20a64e537ef33082198e48ae12e5ba41e83

See more details on using hashes here.

File details

Details for the file pmcx-0.3.2-cp36-cp36m-macosx_10_16_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.2-cp36-cp36m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 539e10f9fbad8623f05f2b70896d78d4c7663150157636216ca05d4d92bc500b
MD5 850e426ecdd400477f69f17d9688e2f9
BLAKE2b-256 bb9ea666d344464ec7b98485d69a72ff27f301e7c29971ad89c54b505e8f0164

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