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.3.1-pp311-pypy311_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.3.1-pp310-pypy310_pp73-win_amd64.whl (881.0 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.3.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.3.1-pp310-pypy310_pp73-macosx_13_0_x86_64.whl (534.1 kB view details)

Uploaded PyPy macOS 13.0+ x86-64

pmcxcl-0.3.1-pp39-pypy39_pp73-win_amd64.whl (880.2 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.3.1-pp39-pypy39_pp73-macosx_13_0_x86_64.whl (534.1 kB view details)

Uploaded PyPy macOS 13.0+ x86-64

pmcxcl-0.3.1-pp38-pypy38_pp73-win_amd64.whl (880.5 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.3.1-pp38-pypy38_pp73-macosx_13_0_x86_64.whl (534.2 kB view details)

Uploaded PyPy macOS 13.0+ x86-64

pmcxcl-0.3.1-pp37-pypy37_pp73-win_amd64.whl (880.5 kB view details)

Uploaded PyPy Windows x86-64

pmcxcl-0.3.1-pp37-pypy37_pp73-macosx_13_0_x86_64.whl (534.1 kB view details)

Uploaded PyPy macOS 13.0+ x86-64

pmcxcl-0.3.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.3.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.3.1-cp313-cp313-macosx_13_0_universal2.whl (536.1 kB view details)

Uploaded CPython 3.13 macOS 13.0+ universal2 (ARM64, x86-64)

pmcxcl-0.3.1-cp312-cp312-win_amd64.whl (880.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

pmcxcl-0.3.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.3.1-cp312-cp312-macosx_13_0_universal2.whl (536.1 kB view details)

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

pmcxcl-0.3.1-cp311-cp311-win_amd64.whl (880.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

pmcxcl-0.3.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.3.1-cp311-cp311-macosx_13_0_universal2.whl (535.1 kB view details)

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

pmcxcl-0.3.1-cp310-cp310-win_amd64.whl (880.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

pmcxcl-0.3.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.3.1-cp310-cp310-macosx_13_0_x86_64.whl (535.1 kB view details)

Uploaded CPython 3.10 macOS 13.0+ x86-64

pmcxcl-0.3.1-cp39-cp39-win_amd64.whl (880.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

pmcxcl-0.3.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.3.1-cp39-cp39-macosx_13_0_x86_64.whl (535.1 kB view details)

Uploaded CPython 3.9 macOS 13.0+ x86-64

pmcxcl-0.3.1-cp38-cp38-win_amd64.whl (880.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

pmcxcl-0.3.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.3.1-cp38-cp38-macosx_13_0_x86_64.whl (535.1 kB view details)

Uploaded CPython 3.8 macOS 13.0+ x86-64

pmcxcl-0.3.1-cp37-cp37m-win_amd64.whl (884.2 kB view details)

Uploaded CPython 3.7m Windows x86-64

pmcxcl-0.3.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.3.1-cp37-cp37m-macosx_13_0_x86_64.whl (533.8 kB view details)

Uploaded CPython 3.7m macOS 13.0+ x86-64

pmcxcl-0.3.1-cp36-cp36m-win_amd64.whl (884.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

pmcxcl-0.3.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.3.1-cp36-cp36m-macosx_13_0_x86_64.whl (533.7 kB view details)

Uploaded CPython 3.6m macOS 13.0+ x86-64

File details

Details for the file pmcxcl-0.3.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c83455dbb7fe8e4c8b7208a64c415ec0540415b166e0dbd09498675edf0875f
MD5 bb575ff7b993131c65b02977b3904656
BLAKE2b-256 49a9dbb6e1b78e5b021e50c6aaa87126ab64f1c27d8d2515dbd8813b2863fd06

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 155e8cb54ae573e9c5543e5af512e4b4949305b773c6c885a0169a5777dd0b6b
MD5 1968d0494a66e88a9b2b65ef06007f3e
BLAKE2b-256 c3848944e98acc2fcc7348b112931ddc56d886e0f029c42fd3ee50d5fbbff8e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2d209c7a6975c86eb96398162fe23cd155fd4705e5e98aac5cd80fcbeadfa3e0
MD5 1fef69d2bc50cc3040ba68ae31133aa8
BLAKE2b-256 23396e1ef8f8469fdfcc1038601a80ade579d4d98d168663131391cf3abdf8d2

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-pp310-pypy310_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp310-pypy310_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 69cddc324b10527b212fa3782ccf04265b7d18d1c6d32fe83b2bb6099f1fc3eb
MD5 0080b5a2d26954a58e85056a7c3c4516
BLAKE2b-256 0f57645ddd4b5d63adeb09573437fba9734cc830f0a8423765a99a3daafc80f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 28a2a30c27175ad46d0ee032abc2fc8b3febd377ee8700509772f5f74891913a
MD5 ec7664a508441e8b81c63b6694060b15
BLAKE2b-256 2606a1f4a935924a69b8328b033ed0809fd7204d794f01868aaf7902efd3fdb0

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-pp39-pypy39_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp39-pypy39_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0dce1da437a3d1caadf196a5c66a626cf10f52b8144b1e6b19b951a2e3bb8947
MD5 e6cab9483c2bf69506fceaf5695e3afd
BLAKE2b-256 fcb2ca9f8988f1a4e417e657e2ef14f08215c2fc48629d1830cdf77c21a52215

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3ee5cbd946adc5612b68ab6b4c67ca7c95f64c95def23174c25e4d99d13600f6
MD5 9ddf270ea23d1c0baf72edecf2713600
BLAKE2b-256 c40e40584548239c533171dde72019a46cf5e84dcf56e4854ccb01f51f0f5a5c

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-pp38-pypy38_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp38-pypy38_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 51d1c7dac286669b1e7a19fc9f7b19046f6d64d4181b766d284c71f68df0f9c5
MD5 5653fee608ca3ec153e948e8634bb136
BLAKE2b-256 e4578e8b3cebe847ea137d11b986fe34a2050fb4795ef68d41a7ca2b5948b27e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp37-pypy37_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 3c5a27fbb46b61b763b19b0e897d15bb9b39b1b7f25af7ebb18be7c312e9e1af
MD5 521e7f4b465cb7864ebe9df7469dd061
BLAKE2b-256 f7a4b95b7ca8c181a4f2e45271d68fa94e9579acdaea9a361920744723dbbb2e

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-pp37-pypy37_pp73-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-pp37-pypy37_pp73-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 91aa044ede0101c2886ab08673489d6d32c7febcd807bfa931ec99d6381fd1fe
MD5 90c2aaee0ac487fd7239f93abc28cd43
BLAKE2b-256 776084056c615e2eeabac67e0c54cdc72c69c95e7c3cee7ee8a9e954c7e3b43d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60ccc028a959f913fcd5c054d61fd3605d6dd870bda55acee56f43337906c210
MD5 7c03eb605b3f4cc10d4c2b744ee8c05e
BLAKE2b-256 f7e8cbe42dcf2adb6d233a44542d2462737dac3f04de19e12fb5221a28987151

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfb272008cd93a11ad5fab6794917de59d254229f3cb2734b9c5202632aafb7d
MD5 83f63ee401ebe940b77e0121f8b4b5af
BLAKE2b-256 830c13e437215e13dca0936e06368c5b36ae2b1cf604367c5db454e33663a67b

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp313-cp313-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp313-cp313-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 14df417d5fc97be4dc2bb72d36766c62ce9ef44976e79ccc6a5f08ae8527e3b7
MD5 cce99e7fcb95e7c1fad81a3549e70946
BLAKE2b-256 0989da5d7fc96ac7b5aec9c05350e8e2abb23182d5b01719dfbffaa1f0608444

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pmcxcl-0.3.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 880.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmcxcl-0.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5f4877cc0197413aa312a08a823b506f4bcc31095e2479e96699ee55ee1641e0
MD5 1a80834146629220a73149823fcce4a0
BLAKE2b-256 2c15a2ddf891dc4ff3282ea02786710c872747d9c1b0617433a7a2ad28375d9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c37859f0cd5199c2951d9b27c148c74dd4fdd75fd1aa7990144329a223afce16
MD5 4fedef2f7f9d39fa3e9df42556242fca
BLAKE2b-256 89d461a69353f20f5c09370d5c5aa61d351947d814ee720bf417ae89de83bd17

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp312-cp312-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp312-cp312-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 d4b7cdfc6a732bb5f55e184f62648171181ade7f540a724b1b659657206319f7
MD5 51b6941059e79b984f2bf82e94cbc92e
BLAKE2b-256 49a3b438a953e95be318d355d22d062e52699e10a52bdf64983e03db46dc8852

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcxcl-0.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 880.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmcxcl-0.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b5e0b183f570ec16da75c2c436e99afe5c3ac584d3de986326c0234a3ccfb8dd
MD5 f8a629ce8889f82991fa91c5a4f3d64c
BLAKE2b-256 791ab21980bfaa7ef1a8ee5ce977c9be1045ec9214f2981ebd4686f1c3f09de4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f179d943c93e351b94d0f1d0d0557127aaddbf9284754483675054b27d1597e
MD5 ee90b44d740543cc1026a162eb75234d
BLAKE2b-256 395d644a09f497ed35d1b0707a79a3ce1e1be5d271068e0046a379d9dd49dae2

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp311-cp311-macosx_13_0_universal2.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp311-cp311-macosx_13_0_universal2.whl
Algorithm Hash digest
SHA256 4c2d5172f2c7e3705ad1b3965a94f5c5b02886f4323b3d972fd5ebe8165aad24
MD5 c36d1bfcb87de80773223eafa7a06bb7
BLAKE2b-256 4b2be13c0d0f093dbc46abbb4ff7ea0eac8b8a39e705c434fedbf76410cb67f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcxcl-0.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 880.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmcxcl-0.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 01100f3539a30e34788f5427faa6c9a8ca0537e474b3fa7b0673617c12ff4584
MD5 0d0b46a7e9a7904ef24658f1a9c7b3af
BLAKE2b-256 f96157537b3054709930f8b8060c75b3f65d40a37cb32fab1ce3ae151956e6b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c88a10d2f3944753e18e0ee361575e5c7eb853486279a7504b50e28f0d8abf3
MD5 e12e3c8a2acce059004ca5249ccb8c97
BLAKE2b-256 ef39be6e61e3fdde46297f4fead9ba51438dcee759265250b18709b5a5a4dc47

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0e4acdaf6218c8503691287afa0a5a4cffa5fccfa6a88eb28b67d678d4d414a2
MD5 8ebd5555b684869e59fd33a13070a0c5
BLAKE2b-256 12dd313e446c75d84c207c9e51d229878442f59b08b6308cd47eed3521bf950f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcxcl-0.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 880.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmcxcl-0.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 895d260cf03e2255806f048ad21e7077e862a7b3af71ed5f2e711b86b468e685
MD5 c084e08bb1987bdc2f657ae549fb6379
BLAKE2b-256 eae79028f6c4ab78b8a05177ad1915ab7353d5065f5ecca6ff82d0024fd42edf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d328149dda8e55f2caa6b9c9d30c3385e7f1760d0acdb79140df689c4bcd4268
MD5 c5aff0ddede1c60a3282b2ffaf8b2ec9
BLAKE2b-256 624fe00f7c47ce3abeba90c6169155a900cfe48fc16f90dbd05a7fa4d264a4d0

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 262a53b9cde198502b9fb90d01325175a6efd4e94e4deb0379586a03f14dbaaa
MD5 6820062e22735dad5fd0f9c145d7f706
BLAKE2b-256 0698a5770c476f888c62c252e8e2c582cfb53f51e0303c65b7059ac935e32267

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pmcxcl-0.3.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 880.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pmcxcl-0.3.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 21c76c3f3735aafaee215e8f857547e22cf1c0df4d0f2713ee1d996fc72ea3d0
MD5 381e47e53296c22f7bc649710ac2cfba
BLAKE2b-256 3cfdc25b328fe45bd85be33ca2231c31e4cf284d113f4335b44efeb66edde76a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 202967c192488ee32ea12d0af002c30ad43fa0f8cb70ff658f9cb9c80ccea726
MD5 2afb66f5e0d71db1248f19beaec4c9d8
BLAKE2b-256 48690cd00def95ade24636180c1bc5dd3b4ba85beb2ec18f6ac0293e3eddf435

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp38-cp38-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp38-cp38-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 628ddf22f728b334ceecb451170680e18eb5bc4285732852e4ff6351e39c4a46
MD5 1dde76294e5fbd2eaf6acf5187461860
BLAKE2b-256 5b5a3d4e7b4c70c40b69c0278b80b18abe18687a1737d5cf95fcd33970bd8c16

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcxcl-0.3.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 78e2ce0a33e8f602aa52f3e8da07ef3c5f8ba6102281f16b1ae07ac2c3f088a8
MD5 d3a5dfda4395c7bb8275684857d7f85a
BLAKE2b-256 94af397b56bc80eea8038a03e294b0f516664eef8d5370cd004be5909d5cffa8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d92d2df56572b54bb1ee4f278518ab9e2ade76d071b11b0b8da5a734947350b8
MD5 8fd310283d93470748acbd03361cc53e
BLAKE2b-256 47a7095818e1a63d139cc57dabbb08cb87dc3226311acb7f2a79e2c92ff54941

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp37-cp37m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp37-cp37m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7f6d0ab6026d0a42168129712e1fbf4a1467dfef1ef1add74735214eccb8be23
MD5 640c5f1ccb09968024e46bfc63612bf1
BLAKE2b-256 3c684a103c196be176bab353d942d2c6b1b633e028373803ecde738cc8d3bdac

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pmcxcl-0.3.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 bc5287ce01abb8642d306bb27fda0dd76257c7620af20cf7a1cc307e060b5a34
MD5 361f2179fa36b4b6914c31cf803b98cf
BLAKE2b-256 75ab79ff9e0baef7d25363c02c07b9c9c51f4b6c8f952a24f6fbdbbaa3dafb17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ab7df51b10f42a4e734aa598c0fb8a0fdd16de79cc512d3360229eb8ad7063b
MD5 4266e8e4f1f7d4c0c3f5fedd392e882d
BLAKE2b-256 e9f83476d234f53d5c8597dd97267232ea8c8d0a23516cbd3aa0a5456115152e

See more details on using hashes here.

File details

Details for the file pmcxcl-0.3.1-cp36-cp36m-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for pmcxcl-0.3.1-cp36-cp36m-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6dd25020c212b4f9fb0bb197adccd17af9630bdac3a411182573993ca01741e8
MD5 a6eabd27c879f0381afd3f3088ed2b97
BLAKE2b-256 e7771ff6942326f68fa247ecaf5e478185d2963654001b4bf499d664914f9828

See more details on using hashes here.

Supported by

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