Skip to main content

Python bindings for Monte Carlo eXtreme (OpenCL) photon transport simulator

Project description

PMCX-CL - Python bindings for Monte Carlo eXtreme (OpenCL) photon transport simulator

Linux Python Module
MacOS Python Module
Windows Python Module

This module provides a Python binding for Monte Carlo eXtreme for OpenCL (MCXCL). 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 single-threaded CPU-based MC implementation.

How to Install

Runtime Dependencies

  • CPU or GPU: An OpenCL-capable CPU or GPU; most modern CPUs or GPUs support OpenCL - an industrial-standard heterogeneous computing library and specification (https://www.khronos.org/opencl/)
  • OpenCL CPU or GPU runtime/driver: Both NVIDIA and AMD GPU graphics drivers should contain out-of-box OpenCL runtimes or drivers; for Intel GPUs, one should install additional OpenCL runtime support from https://github.com/intel/compute-runtime or install the intel-opencl-icd package if the OS provides (such as Ubuntu 22.04); one can also install an open-source OpenCL runtime POCL, using package manager such as sudo apt-get install pocl-opencl-icd. However, POCL's support is largely limited to CPUs. You do not need to install CUDA SDK to use pmcxcl.
  • Python: Python 3.6 and newer is required. Python 2 is not supported.
  • numpy: Used to pass/receive volumetric information to/from pmcxcl. 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: pmcxcl and mcxcl can be compiled on most OSes, including Windows, Linux and MacOS.

  • OpenCL library: compiling mcxcl or pmcxcl requires to link with libOpenCL.so on Linux, or libOpenCL.dylib on MacOS or OpenCL.dll on Windows. These libraries should have been installed by either graphics driver or OpenCL runtimes.

  • 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: pmcxcl can be compiled using a wide variety of C compilers, including

    • GNU GCC for Linux, MacOS (intalled via MacPorts or brew), and Windows (installed via msys2, mingw64 or cygwin64)
    • Microsoft Visual Studio C/C++ Compiler for Windows.
    • Apple Clang for macOS, available via Xcode.

    Refer to each OS's online documentations for more in-depth information on how to install these compilers. MacOS provides built-in OpenCL library support.

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

Build Steps

  1. Ensure that cmake, python 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 pmcxcl/ folder:

        git clone --recursive https://github.com/fangq/mcx.git
        cd mcx/pmcxcl
    
  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 pmcxcl-X.X.X-cpXX-cpXX-*.whl stored inside the mcxcl/pmcxcl folder. You can install this wheel package using python3 -m pip install --force-reinstall pmcxcl-*.whl to force installing this locally compiled pmcxcl module and overwrite any previously installed versions.

How to use

The PMCXCL module is easy to use. You can use the pmcxcl.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/MCXCL - MCXLAB)
import pmcxcl
import numpy as np
import matplotlib.pyplot as plt

res = pmcxcl.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 pmcxcl.run()
import pmcxcl
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 = pmcxcl.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

pmcxcl-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-pp39-pypy39_pp73-win_amd64.whl (880.9 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-pp39-pypy39_pp73-macosx_12_0_x86_64.whl (534.1 kB view details)

Uploaded PyPy macOS 12.0+ x86-64

pmcxcl-0.2.1-pp38-pypy38_pp73-win_amd64.whl (881.3 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.2.1-pp38-pypy38_pp73-macosx_12_0_x86_64.whl (534.3 kB view details)

Uploaded PyPy macOS 12.0+ x86-64

pmcxcl-0.2.1-pp37-pypy37_pp73-win_amd64.whl (880.2 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.2.1-pp37-pypy37_pp73-macosx_12_0_x86_64.whl (533.8 kB view details)

Uploaded PyPy macOS 12.0+ x86-64

pmcxcl-0.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

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

pmcxcl-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-cp311-cp311-win_amd64.whl (881.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

pmcxcl-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-cp311-cp311-macosx_12_0_universal2.whl (535.9 kB view details)

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

pmcxcl-0.2.1-cp310-cp310-win_amd64.whl (881.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

pmcxcl-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-cp310-cp310-macosx_12_0_x86_64.whl (534.8 kB view details)

Uploaded CPython 3.10 macOS 12.0+ x86-64

pmcxcl-0.2.1-cp39-cp39-win_amd64.whl (881.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

pmcxcl-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-cp39-cp39-macosx_12_0_x86_64.whl (534.9 kB view details)

Uploaded CPython 3.9 macOS 12.0+ x86-64

pmcxcl-0.2.1-cp38-cp38-win_amd64.whl (881.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

pmcxcl-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pmcxcl-0.2.1-cp38-cp38-macosx_12_0_x86_64.whl (534.8 kB view details)

Uploaded CPython 3.8 macOS 12.0+ x86-64

pmcxcl-0.2.1-cp37-cp37m-win_amd64.whl (883.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

pmcxcl-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

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

pmcxcl-0.2.1-cp37-cp37m-macosx_12_0_x86_64.whl (533.2 kB view details)

Uploaded CPython 3.7m macOS 12.0+ x86-64

pmcxcl-0.2.1-cp36-cp36m-win_amd64.whl (883.8 kB view details)

Uploaded CPython 3.6m Windows x86-64

pmcxcl-0.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

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

pmcxcl-0.2.1-cp36-cp36m-macosx_12_0_x86_64.whl (533.2 kB view details)

Uploaded CPython 3.6m macOS 12.0+ x86-64

File details

Details for the file pmcxcl-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b615efc9c158f81057d618f382eae74ec39eb617f1a179fcb0e7a60ba7d7697
MD5 b9b01986991774978880ed6879453a60
BLAKE2b-256 a4880c9b679dd4cf83872e1230539d01c4c029f3b942079a7ab56dae6f08b902

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 48d61bc4af82705654cc9b5876fd60917da9d2c0687d9ea549e543a162cc2a4f
MD5 89e41cd8fa595c41326c3f41c5d00cb6
BLAKE2b-256 d041821e1bdd231e061022db13c18d80da4fc8046c3f43fd064b372e97e980cb

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9a05f127e52992e10a42120e684dfb9db1114dc9b29c7ca53e16d2b50d26216
MD5 727dbe919dda9fa2175b87139f5bc9a3
BLAKE2b-256 acccbfc2d7d5f96c042ad939b5d5877852da1fd966db2b6ec224f107834692fd

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp39-pypy39_pp73-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp39-pypy39_pp73-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 2b6cb53478e29fcad2683d24d4b078f57106d88abf1e8a05861f7a9430d30897
MD5 c6c8be62e64f61b16ee775b2a7a7eda0
BLAKE2b-256 57cbfa39b9f720596f6daa94f6a4cb796bdeaaac4ac1d83d5574baf21418642d

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 a4d41bee94ed0d7d27ab922eaac209b5a15763fe612ef88f07e871acc2ecf6bc
MD5 7988609cf33b18a6f4f228a6c0932795
BLAKE2b-256 e199065de243866552c79efce437dc02cfd7987a6b5c7447225a479f5da9abfa

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp38-pypy38_pp73-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp38-pypy38_pp73-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 7c54bd57e70622674d535788da5faced3cb910fa132d52465b685a98d2f00f3a
MD5 0097ee21e91d6f2c0d62f5d876998a6d
BLAKE2b-256 1c0e65a534caa74ec12004f7435d73d370c1a7fe4ea2acd3d01ddeff52a65f21

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp37-pypy37_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 218baabe4c5f490431a634bbe148effa3a2f37a1007253a36c82fda2b3035c3d
MD5 00a6598476ba451ae302fdbfb282eb3e
BLAKE2b-256 e11cc790c704415c0de4620106fd694b2a6712816ce6b824e5f59a7143dc5ae9

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-pp37-pypy37_pp73-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-pp37-pypy37_pp73-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 cc478291c24393fc2c27ba4defdf695346d8af978caba14e9301659c15230f06
MD5 4eaee5a7b698c282f17bbfe7b67688b5
BLAKE2b-256 39dfb4ca66385e47f62deb6edc051f669f26abc72f6e2edd76d2931e30a58de2

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf4a0b621b3a1a2eafe8aa966b641f3fb754299e7b2e83ebd12b43e778d3df82
MD5 5c16c9a738afc62416715ff2035f0427
BLAKE2b-256 50812b9f056ca81c72c5be67c76345b4215ab3da5ff5963d22815290d2fc37a8

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 67bd0f1811e114ed460ae24c75afde41ebef5957ab5dbc297d116a9403ed41e6
MD5 e832294c681830551f4fe1e17ac385a9
BLAKE2b-256 17975d2da0a66888873233dbeecf1c19c0fafb350892715baa050cb1ddb3948f

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7881bce1d06128aeba43885037d6fa22657a38cd226ed7680b5ee6f2008f147
MD5 df72172825507a7b89f456f4c5e06758
BLAKE2b-256 f7a1a098ad58e5cee86694582ca8571f237da58982775bca1e2ccf3ce8db514e

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 881.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pmcxcl-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b94ac42360bf230815908245d35640dcb2b474ad5846fbfd2ed4cb8cd259e5bc
MD5 023c2827b192114056f7f5b8b00c5506
BLAKE2b-256 047183439b8e958af68fc528e24f60f81fc174fd5337774c847dd796887674ec

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7190a84e09912a8d6d769f0fafffeb0b7535537d4f4634265cad1168293a93eb
MD5 f4091e0c3bd5cdef8b226ed6d77db097
BLAKE2b-256 02349a4356465ae7012f5e8014cbcd87650f9c49b34812c4ade33159249e24e6

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp311-cp311-macosx_12_0_universal2.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp311-cp311-macosx_12_0_universal2.whl
Algorithm Hash digest
SHA256 95eac45638966cb5b2f2fd0345cbe1ab99bcf60fe843aeb92a81162108636f63
MD5 9598eaa075f49129538fbfe9502ef606
BLAKE2b-256 a52eba0b2c7db0426c9658235e343348f36347c55c15f93df6666161eb18fc4f

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 881.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pmcxcl-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bcd0beb0f31b438c5f50d3bed2ebe1711fa2dbb36172f8b4d6c9bba896703944
MD5 1d6a1ec926e07f57d86a1da0f39e0947
BLAKE2b-256 38e10914a74f4eaa41b97a3969469e7076d43ba284823d0d09eafca00fd61f25

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 503f2a15cb2db174d543d1bf152ba29dcd751c74c87da98b69278e59f9c3d488
MD5 ffdf9fcca3b32cd6424703df6edf9aff
BLAKE2b-256 c63d8e85051b75f4b0aca955a38b8d865a89fa0da613585e44f230ecb7e14302

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp310-cp310-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 871fb57c861dcf26f9e1423b40d43d61148d841fe687cf2cee7b507096a830bf
MD5 511958f830e805184f5be9ef457e3270
BLAKE2b-256 df92e23151fbc8b0835829f11b86c30be7a51f9f8f073b5d8c5cd821e343393e

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 881.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pmcxcl-0.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d6ba9bfce0f2273a4b8a50c556b531de182248e75788eb66f0803d3f2a9c928c
MD5 017082f236049932de621f35e8795179
BLAKE2b-256 56525345c13fb645eadbdf76f1e8d1156492f4ab05aaa4b46c74ecbb8200f68f

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c841cae59e6e450a133ee965b39a1d609e27948823f395725ce9b08893f336ae
MD5 d1ab117beef1f3319f5d9bc1228b3b8f
BLAKE2b-256 d7b61f1df37bf3901f8a01d4c97def96f40296f89e774eeb0570237be0957be6

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp39-cp39-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 d1432799272c831d6c6b2e5b0bea664d830e91352c463e4ff862a32e2e19ae28
MD5 437515502787cb5178b8b63db5eb6420
BLAKE2b-256 5668c02ee0170920f46b5c5fbb91e92d7c82307bb6c9c52a728159269a738183

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.2.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 881.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pmcxcl-0.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b47ad29916a22e50c588bca0473f6bf8d2c880d9c5452b6b698b7869dc90b89f
MD5 f92905867fc836b9653d27e87d4d6888
BLAKE2b-256 8df226ed91565cba16ac867efce66113586aff0ad97c7230421b6166361142d5

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d00fae5875aeb528236ea67d1fc23fd3b81b6b345aa6f9b2b8f4374b93f2ffda
MD5 4d342cb47696b5a76df001fba3ba345b
BLAKE2b-256 6ca8612d56ce80f95ada00aa64c0b64d5ed3826e151a3f2ec14edca707b70665

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp38-cp38-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp38-cp38-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 3c69d2b40e4a58479ffed2a90cae08451321ac8c13e227a0a5191d06a66b6bc7
MD5 56fb90105bf6eab40c32422deb150185
BLAKE2b-256 11e96cf89acaa4a9ad57b81ae2bcd3a2b2d6771b40af7bc1d76a518259d4666a

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.2.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 883.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pmcxcl-0.2.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 02494f0fe12748be3628f45732bdd57ecf5527a3c2a04270ffbbb48e944bbd48
MD5 c9da7c94217193a33ff6046c9240e8c8
BLAKE2b-256 a7dfc60703de5c9ef808d94e31f30b18570b70ef0be829c4446a6f488093d514

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4dcf52ffde34953c3a48f72242b004422e7a81689aa13632dbc5237e8889165
MD5 040a1d6afbdb6affdf853c8f03a10b4f
BLAKE2b-256 f434143f6f0d7d679992e84f93af899d9b95c7d959624d12d9b5609e5e1c0f71

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp37-cp37m-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp37-cp37m-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 a43a6db574fe6b18c2076b147fc08244d13c1b4f56b3f01b36bb1947bed39f3d
MD5 25b5438f287ebeb6e0f27f6a55fcd05b
BLAKE2b-256 95905b29c96a67037b80ab4656e103ef20e42fee8564551c1dad0b9084aad973

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.2.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 883.8 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for pmcxcl-0.2.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ed6750632bc056444e1c432ef49166c422cc194fc495a849a97099bcbfbe7d65
MD5 1e11d45416b8248eb41b7635cdc73245
BLAKE2b-256 b2e51019fe3b2c47a12ad76553c3cd3ad8cb66031962520e13c3593852b06802

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e12e6efffb7c360393532a5e58feebba10f59a3ac9f649375bcf88e72833c00f
MD5 672fd770702ab1e9fd978cd3a3736c56
BLAKE2b-256 136024e3950c729a68a0bb159acf46599be470362b27bcad6f3c5ad8c582e3e5

See more details on using hashes here.

File details

Details for the file pmcxcl-0.2.1-cp36-cp36m-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.2.1-cp36-cp36m-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 ecdc661960d9628f3747dd18d8a099f633c01f87e472cd7cdbd3d714e0514283
MD5 4774681887524db492799306cf4aa960
BLAKE2b-256 4e603f473a271cd94da4223157add80c6f6de8a7de8345a86a2fa06a674054d0

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