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

Build Status

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.

  • Zlib Compression Development Headers: On Linux, this is generally available via the built-in package manager. For example, on Debian-based distributions like Ubuntu it is available via apt under the name zlib1g-dev. On macOS, brew provides it under the name zlib. No packaged versions of Zlib are available for windows, therefore it must be downloaded manually and added to the CMake environment variables in your working Powershell session:

      curl.exe --retry 3 -kL https://cytranet.dl.sourceforge.net/project/gnuwin32/zlib/1.2.3/zlib-1.2.3-lib.zip --output zlib.zip
      Expand-Archive .\zlib.zip -DestinationPath zlib\
      $env:CMAKE_INCLUDE_PATH=$PWD\zlib\include
      $env:CMAKE_LIBRARY_PATH=$PWD\zlib\lib
    

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. Either run python setup.py install or pip install . to directly install, or run pip wheel . to only build the Python wheel without installing it.

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()
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)

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.0.14-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPyWindows x86-64

pmcx-0.0.14-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPyWindows x86-64

pmcx-0.0.14-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

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

Uploaded PyPyWindows x86-64

pmcx-0.0.14-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11Windows x86-64

pmcx-0.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10Windows x86-64

pmcx-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9Windows x86-64

pmcx-0.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8Windows x86-64

pmcx-0.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.7mWindows x86-64

pmcx-0.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.6mWindows x86-64

pmcx-0.0.14-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12f362f0438210430073ab4c2531ff71f1d7f1418614fa4bbe93bca73e1b9d6a
MD5 122a9553ffaa60ab617abfc75c9a386e
BLAKE2b-256 40d440df19ff7817ce34f7f2e0dc77785cdd226542c91726a5f4521958c23d0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 9af72fdf8e4abf7f3492dc2a9d3382e62273e53b6f05a1538cc1d5c926207042
MD5 2c9d5dd4753f0d3d91e4ccfeefebcb44
BLAKE2b-256 455fa3bf8023c7c140c1ae3b97dda4d5ad343726187c8bbb11b1a682ceef5df0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08e6ba943985d9c3e56c4eb656d61979c7ff735cd60e04924517b44daae46015
MD5 18970b2c1950b4199a5c5aa7a24c1da0
BLAKE2b-256 fcd21ecdbb9848fefe2dcde642d1584fae65e09f882aad08d8635295e40e0bd0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 16666dc2cf7da2e4c18e68b405431207b11edc411c59aa35f0a91c03aaf48114
MD5 e6874990dcbd78d81a232a1fabd57bd7
BLAKE2b-256 5a59ffbc0459eadb24c77a7eb9f419ddd7b728e15439bb7dd711f0c055a8ad87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c812954db1cd82bb22a805fe7bd6f313167e69bd9cef705cb4a9597f55be9452
MD5 4e8fb779d8d610b1fcab616224725bbc
BLAKE2b-256 b353bbb074ccf7587fda69b7218133cec4155d2e57256f4a71a3f6b2874f1101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 58e843827a9183d8705373ab966f31dcc4e18a023c97fc71b78211445cbe7904
MD5 e27a235643c4bbf7cf7d69c84b35d735
BLAKE2b-256 44a15093630124ae04e0eba7d16a788854ac5bc18d9a2b9da8634e006ea7de7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b4426e143065a6fde92d696f0c2d179267326e14320ab41649b5980eeb31c040
MD5 681c05af9be4a54b80e3b0cf5dcf626f
BLAKE2b-256 3336c579afac7ee09f73d5f5dce889c04a5acc7d491b3d213acc7f290a14155d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e34809ed6d431c519db62b4d6dbff2a933044b47a25b65c491dec7f06701abd1
MD5 1b76ab9b14c42ede86eb35adf6421b33
BLAKE2b-256 75f757fdcca6c55beff09b61fb8b015969a47af371f5313ed0eb85e9433fa056

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.14-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.4

File hashes

Hashes for pmcx-0.0.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d9b4093f2e33491bd1400eaa1c00849dceb2311b5cd8fb72ec7a9aa5e8e73465
MD5 e63b636c2ca8facca9f86db3d71e8683
BLAKE2b-256 b2ec2d4a55842243f0f51f38ebb8ce4d2c061c646ceb5317fd2b7f5682bf61a1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91c02899de8d1d3c0b2290859e876a8bd232cece5483055be3e1dd1d38a6213a
MD5 ad37d04d7e15b77174fcd4359cdb47ed
BLAKE2b-256 b898b1336d6c77197f0b14916afe2aaa87b010f8decd07d1c4719e1ebef11c72

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.14-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.4

File hashes

Hashes for pmcx-0.0.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 231518ac2376925f1881fe67f5b46b4111196d40c8116cae57388f77b2ed278f
MD5 1f7e219293c5efa2169061c11e168fcd
BLAKE2b-256 0b27de0246ecc2977386ae0bcaa6a1852fbc114b0cdb33ec7d53d0bcac5b41b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78ed2a703227fae261c112ad670d99732247c30cd5e7b05c9380df0fed05ccb0
MD5 dafc97f03a58b96def290b6ba7f454b3
BLAKE2b-256 dabb1b8cf0f9abff603a209ed7ee5afb04fec415aac499900c1bec16cc8ee285

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.14-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.4

File hashes

Hashes for pmcx-0.0.14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b338f879a556583e55dceba35d3527cb3ac3e522d9fef866f940406f22ae71fd
MD5 704255a7bf29771129ac7b3649b8c34b
BLAKE2b-256 5e384af282fc76592f08b3a76bd4c096027438bbae9436396028b51606c0a079

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55f41eb4f0d9aeab97da3c339a88fa6d0209ca31e9239128c0f0b283894e4f99
MD5 577d7c69ee161ad2069d210c2cf37541
BLAKE2b-256 8524801336da1f311ab28e1490a40d905fcb413b174add30ac6959f538ce852e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.14-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.4

File hashes

Hashes for pmcx-0.0.14-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ad85d33cac3704cacb71f273ca24af5c3d9570d9feaf3e43daae168a63a41b27
MD5 09908707d74aeef4cad987f98eeaef86
BLAKE2b-256 ceee492568840b25ab513d63334c37b3f74acbe4f578b4605b6d786c1c306f92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9bec0e9622a850d2f0bb0137d6d15063eb31ffaba4bbe3095f0e4ef753d30653
MD5 48c5b1fba1365e51e51aee01eec4dec3
BLAKE2b-256 a55332f5c398cb53bd39f4853e3b999ed00a06ce4c091004e672f8e94b9766f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.14-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.4

File hashes

Hashes for pmcx-0.0.14-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 93bdbd25533611f6309593feb3b54ea45462b9504e8a6a8d23ba38bae216fab1
MD5 2b803d5f4008ee58508f2043e5f164b8
BLAKE2b-256 d8a5a9a1f8561c2d0360e25667d66bd01ae432d687219b3bbe3a6174df5ca6d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b5ec3c7b23b0a1446dfd33a47034336f525c4d84a65aceae822ef18e16af0ad
MD5 5e514caa11293b9de364af6107bfc188
BLAKE2b-256 5a8fde9e32d316ccc9d135099748cec02b38bee9456081cd7c5a6ee78e0b972b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.14-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.4

File hashes

Hashes for pmcx-0.0.14-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 8cdd810c3a29b666bfb2a8706a57e90a815ef12b1d988da54549938d23eb593e
MD5 62a9563ee35a64c747e06acefb7ec157
BLAKE2b-256 69a7575f18155e9e4e3fddeef775632dbc96dd9f0e8aabfda8b2c137db287130

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.14-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7ce3184d4d000f4e2b162068c305379655efa4810df7a416b3ae30c52b71165
MD5 3faebf5abd6959698a65fa2bc23befe2
BLAKE2b-256 1c7e4ffee0cce05b6e061be3d298142092e219fc90416fef2d056b38744ac386

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