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]]))
print(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, 'tend':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.7-pp39-pypy39_pp73-win_amd64.whl (3.5 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.0.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.0.7-pp39-pypy39_pp73-macosx_10_14_x86_64.whl (3.9 MB view details)

Uploaded PyPymacOS 10.14+ x86-64

pmcx-0.0.7-pp38-pypy38_pp73-win_amd64.whl (3.5 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.0.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.0.7-pp38-pypy38_pp73-macosx_10_14_x86_64.whl (3.9 MB view details)

Uploaded PyPymacOS 10.14+ x86-64

pmcx-0.0.7-pp37-pypy37_pp73-win_amd64.whl (3.5 MB view details)

Uploaded PyPyWindows x86-64

pmcx-0.0.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pmcx-0.0.7-pp37-pypy37_pp73-macosx_10_14_x86_64.whl (3.9 MB view details)

Uploaded PyPymacOS 10.14+ x86-64

pmcx-0.0.7-cp311-cp311-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.11Windows x86-64

pmcx-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pmcx-0.0.7-cp311-cp311-macosx_10_14_universal2.whl (3.9 MB view details)

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

pmcx-0.0.7-cp310-cp310-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.10Windows x86-64

pmcx-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pmcx-0.0.7-cp310-cp310-macosx_10_15_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

pmcx-0.0.7-cp39-cp39-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.9Windows x86-64

pmcx-0.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pmcx-0.0.7-cp39-cp39-macosx_10_15_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

pmcx-0.0.7-cp38-cp38-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.8Windows x86-64

pmcx-0.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pmcx-0.0.7-cp38-cp38-macosx_10_15_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

pmcx-0.0.7-cp37-cp37m-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.7mWindows x86-64

pmcx-0.0.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

pmcx-0.0.7-cp37-cp37m-macosx_10_15_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

pmcx-0.0.7-cp36-cp36m-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.6mWindows x86-64

pmcx-0.0.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

pmcx-0.0.7-cp36-cp36m-macosx_10_14_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.6mmacOS 10.14+ x86-64

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 01905b61e740c3f1f005612b70ddda9f5f1c2a9d8efbdeb1436c7a570eb5a4e2
MD5 57aaee2b45aa7d6ac377cc33d371b450
BLAKE2b-256 8e161b93062f74a707ceebe34233b66c467c93abc96602aa0f42340975c4cf70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b889105893e84da1d5077d4ea90620c4d3a8e41905d925ecd16124c1ef3781c
MD5 48abe17e60fa3a4bfeecdb5b114b9d41
BLAKE2b-256 d3906e2c7405448f551d5ca170df20642bbf48896e465a5d5ace683111e51803

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-pp39-pypy39_pp73-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-pp39-pypy39_pp73-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2fd8a6e21079745ffd9b81ee1077dac9d068ed475a6c110cf4978b58fcb43c25
MD5 e9cdc3d2b8e4ea1db220b0a1b3d5f7c6
BLAKE2b-256 32538b620638773169af60b7ec9ec5464f54dd1c3237445172fc4c769245ce9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 4b0fd0789bb02fbac78b53d68c04b0f20c6585c927c9a5b4c071ab969c02c95f
MD5 aaf6a1ce83044e2def632fb05d679dc9
BLAKE2b-256 93f752e99d6645e58333460d21288b1a439ce3c77af35a1d87e1d98f75979242

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2299341574795be9086dd4aa36982aa0261a34ad13989628c26afba8ed443fb4
MD5 e39d6dc01a10c9ca3c3d9c70777facec
BLAKE2b-256 7701b62432c981cea78c68da1776e21fa5fd1ab08f1ef05a88e3f820d334dcc3

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-pp38-pypy38_pp73-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-pp38-pypy38_pp73-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b31e58d816df045b7b9c52c88c4aab9aa2155949d0daba8123e019fde22a40ad
MD5 be3079e5caf2e7242f16e544a830c059
BLAKE2b-256 e51b43b9981f6f6d36b8eb830031db65d237d2e59a8df7e0a0200fc24207c9de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0127b039d8f2fa9e056881438cc41ebda0e682048eb8d48f5fe9d829e6781a30
MD5 e06a3efe31efaa28247bdb5fd70c58c1
BLAKE2b-256 6073c36e1e7195d99cd305ebb87278d7c082a72ccb89094201a510c62fef5340

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae97056d780dbb785f472430aa314e3cdfebc3f7d67ff4ed8221c96233b670c3
MD5 5dd9bb9682038c39b138820db93973ce
BLAKE2b-256 c8a293dc0fd34c54354e773f36fb7c86e21a24b627399e0fc7faa86d1c0faf74

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-pp37-pypy37_pp73-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-pp37-pypy37_pp73-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 dd6d033cfef1093b71fff471000d33bc652f71384b47bdf3d716394571f2f431
MD5 5bd150ec4e84af753baf200df884d161
BLAKE2b-256 23d950ab8d563bfd65d0f9a78687ef61af119ee862fa2d6be751185e940cdf5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pmcx-0.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e13e0f1e66085de603fc7239d9baf1f3ea0544d003e6c8eb0bc268cdb038b477
MD5 89d21db18d7a58a276454fdbc7f3b276
BLAKE2b-256 3e259214798484fe59b9b02ec4b29ebac88011fcf7937680c4dbb36c2acca834

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26b9e14a3de128fcbd50c5d1a2307e71a20a5e2dac40d62a72887f0fa0b7edbc
MD5 23a2972baaee5d9af4cc23985e8b76a3
BLAKE2b-256 b2c9baca6fefecf77119e2fd7e8909318e55f3c9ad601ec9a0bf696e0c8411bc

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-cp311-cp311-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 cb001405069bee35f79588e724d4d4fb78691afe719208c53e045020b043c474
MD5 21119bc1c477389a2756fed52091f893
BLAKE2b-256 695647eae5ce2749c224f2d9254d294c5145dd2f2a5ad1b6780b1de7781f14ba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pmcx-0.0.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0065d1e82ed6cf0d5813ac49c8eac36a4834292f0f3a756d2837543364785ea5
MD5 bc9596af17d23d889178028371ba6dea
BLAKE2b-256 1397d53284376e31e7bd06620aca0b736f4fa2ce0660db9db6a58c0f9e4ea99d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 085d3eb32b2da50873b1bae911a4aad1b6dff35b1a69bf51fa613d00cbcc2fbb
MD5 3bc73bc430c8ac044b80fff66f9ebfe5
BLAKE2b-256 497e9a4fbd08ebe8d6e9767b527ce276ef66d89db81f504a7f22f3b0c829d7bc

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 35bd70acf115f04c871ba648fa8fb3426595972b18b191e6bb01abaac4404d22
MD5 c125e48d596b397397784bc66e99a06a
BLAKE2b-256 43b48f49905d8486189be92b21b7b8fba002bae1309b8cac13574cc31d750694

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pmcx-0.0.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b57cb6bef43e1428bacaeafdfea269c25098a8546fdfaf44ed09932ea5925e73
MD5 0130504f250af349aa3ce0d28a2638b4
BLAKE2b-256 2c16977cc845b52c9ec0a48277fafd89afe1bb5971f964e163d3d7181bf4566f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8e49ed80da814193cbe2c8070a549a43135482cb30a40d5babc0428c693097d
MD5 a5d4c88ca7d0118b1b6e0e38c48dff63
BLAKE2b-256 e47819c6a79291a78db196ab6d622e076f771d0bbd19efdfe6e419578ee8cb68

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3d1fe9759cb828ff687c024041f74a7d88b090ede376416586fe527908fe0f64
MD5 5f0d79ebd63a61a481044747e2b6c276
BLAKE2b-256 bf0e803345bd197219085f0ad841fc5ba4dd8dd2a84725ed666693c85c17b529

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcx-0.0.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.1

File hashes

Hashes for pmcx-0.0.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 55f62b3cef335aaa2f2cce731b66773006204facf6958e234d5b33615db3ba1d
MD5 525d7a7cb5b45cce08dae3e13a6c8be7
BLAKE2b-256 12a3549ef2c39a3c78b1f7c9b3c9d05083e91122a930ccff4732bd7a5d228938

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0584ed7f9b0691fff7518ca7d48410a4495bdd1fdf9838d02801eb79ff8b1331
MD5 d1acf198fa26cec3cb5157832470b8ce
BLAKE2b-256 b279c4ba940b1aa7fba5e23c7fc9494cf9de28c7e9076eb6c45de976f9420960

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 929821b01f45d6eaca4d98165f31d0f8017a71532969752ca03bcfa3d6bb59ca
MD5 f76fa6db6204ab04cbb1c9afa8202c41
BLAKE2b-256 443fc8ddc12a198e3347f1e39df912719980536961ff9a94a02d90fd931bceba

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcx-0.0.7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 1756cb41d6f04483dbf9d99155ae258a5bd373f58bc5baea1e878cfa0583e336
MD5 50c466f3649816d3ff6295dc6245238c
BLAKE2b-256 b8778b7c9301b7eded2fef285aff31b61cf87be6b6a97aaacf8076c355f974f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7216a68e7c171ccf33f288594c66f2f69b38f5764c301a1e21d6b6002928933e
MD5 ab74de9494f7860749b804b3d8184b13
BLAKE2b-256 a1625c0258ecec3f1b4bcc2c93700d32ca9be9f0ae141067105f17663390ae75

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 70078a8c652e216f60643c7a468fb7dd58bdbc3dd332d77d2b120790c6d46160
MD5 171cf7d830dc3cd4d827ef2c1ca92eb0
BLAKE2b-256 84c3bd1358e06494f10f682bf371d8c73c863bd7f06ab0f5839b320c531a0707

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcx-0.0.7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1ee9bb3a9303ce7b35052b0a046337f5e6aeb0b08a1002124a7b010f85566d3c
MD5 90989ba26759c3b1c06eb9a93242b20c
BLAKE2b-256 7f01ee565b551ef208762c235121734c7c2dad093583f3752fb28291dc16e3aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcx-0.0.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8976b26ffe3f294f585b7ad45a19ff355132c32072f6274e0cac9a58b5740b7
MD5 b85e9bfbfaf69a9c0fcd99aefbd92009
BLAKE2b-256 a8c7a74b63a4298145f32bf8f766f9713a6774fe7ec97d75638c8cfea40a7469

See more details on using hashes here.

File details

Details for the file pmcx-0.0.7-cp36-cp36m-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pmcx-0.0.7-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9421314179382fc1e61f0d912ddbee386f7d5b9f7fedb6929caa780ddbc23e97
MD5 169eae14e1dc4ed9399b5d0eb365e5f7
BLAKE2b-256 d8841171eeb1e01ab2c2ea6a69bd4ce45b09678305b467b8c5eceba7fdb6a9d4

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