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.6
  • 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

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

Uploaded PyPy manylinux: glibc 2.17+ x86-64

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

Uploaded PyPy Windows x86-64

pmcx-0.3.6-pp39-pypy39_pp73-macosx_10_17_x86_64.whl (4.7 MB view details)

Uploaded PyPy macOS 10.17+ x86-64

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

Uploaded PyPy Windows x86-64

pmcx-0.3.6-pp38-pypy38_pp73-macosx_10_17_x86_64.whl (4.7 MB view details)

Uploaded PyPy macOS 10.17+ x86-64

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

Uploaded PyPy Windows x86-64

pmcx-0.3.6-pp37-pypy37_pp73-macosx_10_17_x86_64.whl (4.7 MB view details)

Uploaded PyPy macOS 10.17+ x86-64

pmcx-0.3.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13t manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12 Windows x86-64

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp312-cp312-macosx_10_17_universal2.whl (4.7 MB view details)

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

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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp311-cp311-macosx_10_17_universal2.whl (4.7 MB view details)

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

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp310-cp310-macosx_12_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp39-cp39-macosx_12_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp38-cp38-macosx_12_0_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.7m macOS 11.0+ x86-64

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

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

pmcx-0.3.6-cp36-cp36m-macosx_10_17_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.6m macOS 10.17+ x86-64

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 629c468feb5d3b0fd0a96bd2f8d54c6ec62c750cb321799e9abddeb3923c2943
MD5 348ca29b7a8b3f77892e47761248a565
BLAKE2b-256 779d84a52d7caea8ed7d72311aba71fec394da6bb6fd17a176d49f3d0635aa83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 c38fc74ade126475eca51f533588479c2f2abc4504d24833d3b415914eed8a2f
MD5 3894df092f0e8f59f1335768253a1b8d
BLAKE2b-256 a76289311a65ef72b7913bbce27fea0e05065a3b6749dde16198479631b23cda

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-pp39-pypy39_pp73-macosx_10_17_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-pp39-pypy39_pp73-macosx_10_17_x86_64.whl
Algorithm Hash digest
SHA256 8178cb24916c8ad1eb6b64fa904f06b72d07f44e5f387a474f0b7ef6ef45611e
MD5 6ab75efa0f9acf00e0ff6f7c8badd2c9
BLAKE2b-256 2de7ef5782fedbcc647694957029f402066bfa9b3d0b17d33b2b640112ae5a76

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 10179ddda6a303037b7363184718ec45b0c2d073f79347fec8579f77f7ca7f1c
MD5 5d9cc17a899269346e71584d94d9f408
BLAKE2b-256 1a8a5cf3ff2e8d1cc3e3e75f0c5cffe512e5429f000baa1a56b4b6e7c43b17cc

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-pp38-pypy38_pp73-macosx_10_17_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-pp38-pypy38_pp73-macosx_10_17_x86_64.whl
Algorithm Hash digest
SHA256 f29b1a9c61e21897089284f53cb81575b8329404c7c379f971476121ee6e37c1
MD5 c2215615d428a3542fc3bd1c99b93913
BLAKE2b-256 19b81df729e32d3a65e61dcb351b0e33d2ee5f78fefaf60384e31ba98be24735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 bec0bff48ce69d80c993bce7d97ad14bc5113ffd0c363e551424c654521f9831
MD5 dad9e51443d1a0d582701582281e0143
BLAKE2b-256 063a08e4348666824024ff94413a273bafceb7f3a62f586dedb687875c1ebc36

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-pp37-pypy37_pp73-macosx_10_17_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-pp37-pypy37_pp73-macosx_10_17_x86_64.whl
Algorithm Hash digest
SHA256 6ff933daed5716beced51acfe6b2f0b686ee78427c9977d1fa06fe44ec5adf2f
MD5 df04d5db9d3f17d8098a0550d4c6851b
BLAKE2b-256 a8a0e1474702121c65e41357b1dd941e8d4918990423e76186bacd1dd141f945

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 986e0c7d8d9295c492b9251738246f9081c25467b50da356e499d8e01cbbf2c3
MD5 015e17734b53fd08246dd815787e4039
BLAKE2b-256 3897804b897a4afbeedb7ed096c22b6f8ce8657c4a5373abae42ac0f618d3d0a

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 084694c740d955bc29bae90c712dcd2d1b5c6937bc121c6889d5d00a893c1b7a
MD5 6664ad15549b2c12c7f1caba43f67cc9
BLAKE2b-256 13958f59e75681df837074a13d5176def14311d00b1dbaedba5c9d611929e04f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ccc99ff2ed9855e65f547a6f0e1a4c382b6c11649185d3b0eb0c8b3cc120b7a1
MD5 da545d143065b6b530929c5a30f9f485
BLAKE2b-256 3d5b07978c29f36eb5d42ddc8aad45bf027e9cfcc444eac3f41a70051017e65f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d898fc0c3c8f767b0c819b269c2fcb741959ead4598f902e932caad9ba03125
MD5 f35704b52040e62b02ca7011dc835ead
BLAKE2b-256 87e58e87f801a0a0d2c6432974fed1c245cac0a8fd661157ff1ac7b39a3333c8

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp312-cp312-macosx_10_17_universal2.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp312-cp312-macosx_10_17_universal2.whl
Algorithm Hash digest
SHA256 4e11a9989df31bab4fba1f8d03cb7d796bb22b35423bb8f1283edd544b3fb71e
MD5 0a220a02f0d732e1a8312bc0b9a19b44
BLAKE2b-256 2e2efe6169024ae5e747b35a0d94a9bdf650ca15d8fdaea68561147c0e7f3b04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b31084c284ba4972602edd632c254ac10366e93c71e667d61db74974203aca5f
MD5 778d3d8d1959cdf718a4f63eafff2cec
BLAKE2b-256 f63bd4b8373f8b57fb60073c13439b49c62e2e5aec3a037a9e1dddc72913152d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d106b743fbfc513973df11eabac6dfb80d0ff903c37c3433044656bcf0df704
MD5 38adcf28662fb052dd1878fde7d8428d
BLAKE2b-256 fd99cc34099ea53bb4c8ee23d37e63b989b123043be63b121ca721aa296de148

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp311-cp311-macosx_10_17_universal2.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp311-cp311-macosx_10_17_universal2.whl
Algorithm Hash digest
SHA256 926a9daf5fcb5bb0eca7b4ebbf3f973d9d85c5b00042fd757ae14af4796f8b28
MD5 d0ae602aa5bec038d4bd01fe9bba1ebc
BLAKE2b-256 402280dcbf9d424df2e895adc16d8ef9294ce6651af51e022cd52fe391f21b00

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 84682a3fdc7d71b7e1b8b89997e4290048a2d144b0a5324b23e67e082d483603
MD5 15fcd9892a63ef1be9b06712109ea4d7
BLAKE2b-256 4b1cf8c0da5b70217e85fedc238cacb9ce43bd19edc8dbf2a94d60b43ee607cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69cc8be6d666477be2b0392412b1df6574c1b48801762c710f18528185db6ef4
MD5 9d7721f4544667de72c44707fd92df97
BLAKE2b-256 2d6c026912e4ad2dbf837fb9ea4addfaf1cee6b7235ec6a0f73de89239c81c1e

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 62495856079edc8324a3d2e44d1a9fa6de5c9bd4e235234ff26a9a3ac995d9cb
MD5 d2e403b74d8a0cb61bb6275103067580
BLAKE2b-256 88fced07454c3a05dc6cd987bf1dbd90a39997c19dd27deeb89b220ca1f45bf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 519830d25f3da7cc4873ce16412efe5abaad3baa3eb680846fb59ab5ef49745d
MD5 be53aa8d882ca8929ff08fd0d21aaf61
BLAKE2b-256 3934f9b7983edbfe99283836baec7c08458d6c5e459326f45c78198bd740849e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60a73b9c74f2c4c73692e8b36cb090d70420f9c47adc11039cebcbaf7768bac7
MD5 a02d772e9b1faa009e03c7c36bf8fe8a
BLAKE2b-256 d922401a21b573aea2151760095ceae0f4f5027986a18194422b326339c8b808

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 2a7a0c05beec46ff922748d6fbc9b174409588cae6c87094f8e0d2c2d08b2dc3
MD5 f1547231e18fdb16b9a8294f83999966
BLAKE2b-256 111c864c4ea18bb740ae148771336d1ea012c2e3591bf4d26dfbbb2f608e798b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8160ffa23fa27f879e1eddc1304b54ca8aca0a12bd282cf67ac75eadb7b99c7c
MD5 802cd95162ad3d208cd32741cfa9cbf7
BLAKE2b-256 e169ce311ad8171ad90fe27af2557cf891cd963750ad6c92f6fb7ba20d007df6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73637776d651e132cc29164c6af790305d49993a91803e5888739eef94989a8f
MD5 dd0a3dcfa4a4a11029462f234fdd1952
BLAKE2b-256 f58babf9f1668c24b82cf887c8aaef2e65d31b153714719e25331297c3b5dd95

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 c914c01a7eb149472b8270e6a30088f15525e5c097350c149c89bfc905eae9fc
MD5 da579e564ca4374ed841278346f35287
BLAKE2b-256 05cf3683a9119eb91e52b5a58c64814c9a10e7a80bf63a3934a30f807a80f8e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d8ca7869b8c3a83f5c3f46ec6d42e49c27f5bceedb1c401435934d730a656bba
MD5 8b294f5d58ca59382e24a58322beef6a
BLAKE2b-256 3c1eea97a0b09eed29ab939fe7d8f6a140fc92f16895825b1cb29b89e73f145b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 46ac7e2172329aea4d2b16a501c88ff33f8854ec2952b7d98e1f5df02e5f14fe
MD5 34402f6b0ecdeb762979cbd04c2281d7
BLAKE2b-256 c4a04e85e3def8d0a166562dc3cea0e4b1759a6928a7a97e0dc7c16355b0e9fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7df9d9a6b6a4b1a87965f3db4ca467d130b732eb0b943619f21403eb8b2e7b71
MD5 f9333f673f9a182733d0126f8feceba2
BLAKE2b-256 d1c41b78dac4560e08bd009798760495a670cf304ae29b9cdd472b9b5927b649

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.3.6-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.1.1 CPython/3.12.7

File hashes

Hashes for pmcx-0.3.6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 a11d66da8bcb7b0ce54f1bec2d53ed05570976a3cb17ef68960caca87cfda5c4
MD5 2edfedc567b93695a7de67414bf84dd9
BLAKE2b-256 4fc94cff1e7e0762da5a6b0bd020eb4330f9e1ab4cab4a98494a9e7a1f49d89e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.3.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9538111acc04d7e7e333d01003dfe6197703cb8431fb2fefc7071a62a4448fc3
MD5 fc8d0b396d14c50ec4c512931ab7b1f5
BLAKE2b-256 c884ca4e9a5ad6fd84974e3201fe5d3e541022909608f8c4bcde4fd38635968a

See more details on using hashes here.

File details

Details for the file pmcx-0.3.6-cp36-cp36m-macosx_10_17_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.3.6-cp36-cp36m-macosx_10_17_x86_64.whl
Algorithm Hash digest
SHA256 8c09f91187e84d4ead74cef8b8a1b1dfcd79f59c7313eb408a9f160dd4ef3631
MD5 30686cf6d5420de8ec94d8078690f78e
BLAKE2b-256 2466283635ad904a5c62cf67e7a63b70c71f2548e6849e3fc16ed278132e85a3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page