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-2023) <q.fang at neu.edu>, Fan-Yu Yen (2023) <yen.f at northeastern.edu>
  • License: GNU Public License V3 or later
  • Version: 0.2.5
  • 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.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.2.5-pp39-pypy39_pp73-win_amd64.whl (3.7 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.2.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.2.5-pp39-pypy39_pp73-macosx_10_16_x86_64.whl (4.2 MB view details)

Uploaded PyPymacOS 10.16+ x86-64

pmcx-0.2.5-pp38-pypy38_pp73-win_amd64.whl (3.7 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.2.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.2.5-pp38-pypy38_pp73-macosx_10_16_x86_64.whl (4.2 MB view details)

Uploaded PyPymacOS 10.16+ x86-64

pmcx-0.2.5-pp37-pypy37_pp73-win_amd64.whl (3.7 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.2.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.2.5-pp37-pypy37_pp73-macosx_10_16_x86_64.whl (4.1 MB view details)

Uploaded PyPymacOS 10.16+ x86-64

pmcx-0.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp311-cp311-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.11Windows x86-64

pmcx-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp311-cp311-macosx_10_16_universal2.whl (4.2 MB view details)

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

pmcx-0.2.5-cp310-cp310-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.10Windows x86-64

pmcx-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp310-cp310-macosx_11_0_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

pmcx-0.2.5-cp39-cp39-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.9Windows x86-64

pmcx-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp39-cp39-macosx_11_0_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ x86-64

pmcx-0.2.5-cp38-cp38-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.8Windows x86-64

pmcx-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp38-cp38-macosx_11_0_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8macOS 11.0+ x86-64

pmcx-0.2.5-cp37-cp37m-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.7mWindows x86-64

pmcx-0.2.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp37-cp37m-macosx_11_0_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7mmacOS 11.0+ x86-64

pmcx-0.2.5-cp36-cp36m-win_amd64.whl (3.7 MB view details)

Uploaded CPython 3.6mWindows x86-64

pmcx-0.2.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

pmcx-0.2.5-cp36-cp36m-macosx_10_16_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.6mmacOS 10.16+ x86-64

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4abaae8d09e451e28ecdf49f24765fefe7fa17a2f7346a698af460c7d08acad
MD5 b08739f5404365fd8842e4c76de02b90
BLAKE2b-256 d5c2f970b36dd9073bc17f0da2f61688b54c2cd76a8ca4c7f13a8f0515a04bdd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 597d6a170d95ea84c561aeac9a5a2476a08e4a254a0c571931958cd04a70d88c
MD5 99010720cd70095404e4c383e995de2f
BLAKE2b-256 8cc07bade37f3daf5938b13f1df8653e99a4490a31696931e70754841d2604d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 182af4c3e3561bf6d5d777708d1480eefe62760d7e2576b35d1ae533a566ddc0
MD5 8b07b27a7c314a205da71da7d81a6f9f
BLAKE2b-256 eddf68877c1009fd9421c5dae75fe45b76de9cbfb7eef091e6d74308d47cf022

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp39-pypy39_pp73-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 ade728779a80b871dac9270fcf5c1285194efd748fcb88a063ab2a4159d89c4b
MD5 c44de13e93334f0052c11cc94998b2fe
BLAKE2b-256 e515b98d9602f0924f654285d8e31a561a40cbbdfa4f3c325f6b468b8940b879

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 46609cb98bb3ee89f0b03431e6109a9154dfc92020c7aeee3bbbed8af4b91175
MD5 a89f27a1211b5701377e5709acb82c8b
BLAKE2b-256 3cf51b6eeb3dd85292bae33007415fb4eb56c9ecc54536315cd71b6cc85b4162

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 837c8ad6ece225e830673dd251ced2f31dc38f34031bcd83fb4a3e2f7f24e38c
MD5 4dbcfbee45bc54b2582b5e67ab91a901
BLAKE2b-256 50f0f8c6257a13748fe8669cebaff81c773c17ff4bd5ff627816f746086dac29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp38-pypy38_pp73-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 74dc6f0fff74a3ce4d3fa6970b57a3d9ca026b24989111b2b00a7f9fdc240a6f
MD5 20a5fdb832ea20b9d0e5eed8802501e6
BLAKE2b-256 802dd24f07dcdc8e23fc20573d7a8059f6fcbf678496d03d9585fd9cc13c84d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 1dbde6abb626f6bc6d6dddee014e3a5e5683d296d1e0557453fd0968c818f7fb
MD5 949580e9bde803a9b7f11a98e34c7177
BLAKE2b-256 edc253802f481af0e2fd9d2dbca5f59debabfa1958ea20263805ce7bce5fc99a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1106b07f7ce246ca0c890ddd305639e7dde3c776539465feb3a5b3f75610f1ad
MD5 402a55d913b4b1582dcb0e63bf763cf5
BLAKE2b-256 f20180d344820e9249aba4246ae1876cde10edf160dc0238a4c047ccba1dc41f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-pp37-pypy37_pp73-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 2d368011d36acd080c7154d8ce125e77f106e96252280640d2e551d763890db2
MD5 3308a64af5169e5d8bf70a9fa69ed073
BLAKE2b-256 5a0e73fb1dfeaf291f2763e04ae82d2d9fb5e0b4b4cfa4179740eb68dd2a9630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70cfc2d5f6c4c9286d1226318a5a03d6e249445bdf802d757e1d61625e3d3ab5
MD5 9bb97b82deb446ac7b7f98d2399195e4
BLAKE2b-256 df590b059562aceb04f0f4f480c630fd34c14486e151bc6bb5bb8987e587ed05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.2.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pmcx-0.2.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 97cb55e52e49b8152f48783049e0608b8483617534c0c0f57ae2ca0249ab3ccc
MD5 1bb5de75da3802c626dcfc9893e9af94
BLAKE2b-256 a3b652d65a8a3cea35db7f5ef84db91d904563bfd58960b8724f58bd80fd148e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 491373c1a90dc11df92c6da5ecf6e50ceeee942cf1f06db03c22ab818bf75b73
MD5 6d4fe7ce1586ef6b15d4372855a5fc03
BLAKE2b-256 0557b232f81e95e5223806733be25dd835edcf62cee30e7e6ae3996914939541

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp311-cp311-macosx_10_16_universal2.whl
Algorithm Hash digest
SHA256 a5ca5f188bfacf46acfe26f8061070ddf285b79528d82824dabec10d633b72a7
MD5 4363c6f7ec405cb31f63f5abafded170
BLAKE2b-256 b431a1ae111c28775f437c44e9b778443e5c84fe8e5d5fdb1bb2c07507ccb734

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.2.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pmcx-0.2.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7bc9e582ee27bdceb8bc5b2a8a51b1a25819bb2233e931fc93a7707129ffcf29
MD5 6dd3fb24c71490ebb61c82d292a3a439
BLAKE2b-256 328213a45f7451cf77bb077ce2944797abca04866db23e87e68dc70b3130189a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9a9108a1abd109cbdca008de1383b3ada7a6a6c2e2fa081ae3ec23afbdebad9
MD5 b1b1c72cfc3b2cd2d0bbfa75247f819b
BLAKE2b-256 0c0628af372357f75aee2feb59af3b5bddaddda305161c7e397f1eeb34c9c9f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7b15785ef63cc7551a7626edd4a8d5ff7554645e21e2513226aae3eb3deb2091
MD5 ecbeb06c0a55246edf1c4e545ac1c494
BLAKE2b-256 cd1997feb1d576bd20d4b6b8ae18e0d46c092badb717e1f0b019675327af72b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.2.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pmcx-0.2.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3a56372c895c3b66ef2abb94222e88dc2b51bdb7ab05cd9fd8a4398bec61f939
MD5 e8b35e8a6a9928f9ac105ad70047290c
BLAKE2b-256 fa057d529ad7df3e854940b756ca1bd289356d072d3762b9bb4cf29eccf48cbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d9f05779efca78f8bc4ca38c89eb1a0a95413b746b68b894f3c6d15a230d4e5
MD5 3d3c6446f97994c66eb88b4e58fbd09a
BLAKE2b-256 a6ab42db01d379096bf497f1957c4e6e310aae73fb203df761fcfdf3f322fa24

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcx-0.2.5-cp39-cp39-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b6a7f60a40a887720eea1d0b3391c6a553924228245d4e8501d2a80f5f33510a
MD5 d3639bb8f53be38b38f26b9e4b1e5d07
BLAKE2b-256 1559d991d82681d30e9806639de62a619ca2082cbe69acdbe5f97ad7d61d9867

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.2.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for pmcx-0.2.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1afb19ecf19e06712c861f6d6fae9ae51bc6571137245555b76ba647b97ecec8
MD5 a76d63fe3a6311262070960401361fe1
BLAKE2b-256 edf9c97108b06211d77ba7094266762d8ff31079bccb0223ee54b215fca1f6f1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 680b0f39fb0a97373280d3580fa9ad4471488c6f0615e0eb208e6b257ce79fb3
MD5 68ab6a0cce9bbba3ef0e4f127f496e9f
BLAKE2b-256 2ad798ff71d171f9ec2658232d53c45aba5fd09f7cb41da2a1103c73b6efa4bd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcx-0.2.5-cp38-cp38-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ccb3f7dda9a479a25bca8b893d3f44cdbc83a8d36769ecc98c610a3d27613e3b
MD5 c362dc19c09b79582991b99afe28dfe0
BLAKE2b-256 977e4715a107eff40d33041c22e72e47a8cbf9c8424a795b929846fc2eeb7587

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcx-0.2.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9533bf079135bc6dc7b8e1049021bba1a235821021868ba38977991de64f587e
MD5 29f16f943e911b12d6c30d3d4fb1e386
BLAKE2b-256 92e082a863afe59d3e65b9e9e4707f0d8df040e080ccc5844d0af74864d9087c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a45c737a84cfdb804d822b5e87b27b635b8f6d509627b898ace88461477df0dc
MD5 e1be319f19689e9113c116158060b5f7
BLAKE2b-256 2d69e7be06daf1a71a5d8c329bf940c26f887ca34f07a27283c2bc1401f002a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp37-cp37m-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 5077866cb5012174e0955480ce0d9593cfe28512905da2e257f61aea91feeb5f
MD5 2df74e16fe1d35789d929ac9e8a15afe
BLAKE2b-256 edb5da8266afc73b015168537a832dfdec46a1000fd0e2fdbcf50c0cacace311

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcx-0.2.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 be826736312936e886fa9190d13301187df9acd448f64bd4b1fc8467e90df4e9
MD5 0861068673a3e69caeb5a7250030775b
BLAKE2b-256 7b87c8401f29f4be8d177f475e4ecf59f84d570cfdba24dbf09808cde51e1665

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c9c6b371abb3834f8005fcc581b73652f0e6f2e0a98e8f682232244f7719c4a
MD5 a2070d0352be152f5c12c6ded502d18c
BLAKE2b-256 262b61ecbfa91ffd98fac94e00c07bbeb4a5d2521fe34e5f95d6355cd9bfc404

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.2.5-cp36-cp36m-macosx_10_16_x86_64.whl
Algorithm Hash digest
SHA256 79a97d28469a9359180e566907224dd5e59bfa0bbcd1b4edfc8dfee4a7a974b4
MD5 1c7a590a6d5610e7fb3f51350f2a2483
BLAKE2b-256 086c218b02bcf2fde60b8f132286f16c905a6111149c40e4d6039dee6f5d042b

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