Skip to main content

The VPMR Algorithm

Project description

VPMR C++ Implementation

DOI codecov PyPI version Docker

gplv3-or-later

Call For Help

  • more performant parallel SVD algorithm: eigen only provides sequential SVD
  • alternative integration: currently only Gauss-Legendre quadrature is available

What Is This?

This is a C++ implementation of the VPMR algorithm to compute the approximation of arbitrary smooth kernel. A Python package is also provided.

Check the reference paper 10.1007/s10915-022-01999-1 and the original MATLAB implementation for more details.

In short, the algorithm tries to find a summation of exponentials to approximate a given kernel function. In mathematical terms, it looks for a set of $m_j$ and $s_j$ such that

$$ \max_{t\in{}I}\left|g(t)-\sum_jm_j\exp(-s_jt)\right|<\epsilon. $$

In the above, $g(t)$ is the given kernel function and $\epsilon$ is the prescribed tolerance.

Dependency

The following libraries are required:

  1. gmp for multiple precision arithmetic
  2. mpfr for multiple-precision floating-point computations
  3. tbb for parallel computing

The following libraries are included:

  1. mpreal mpreal type C++ wrapper, included
  2. Eigen for matrix decomposition, included
  3. exprtk for expression parsing, included
  4. exprtk-custom-types for mpreal support, included

How To

Python Package

[!WARNING] The Python module needs external libraries to be installed.

[!WARNING] Windows users need to have a working MSYS2 environment. See below for more details. For other environments, you need to figure out how to install gmp and mpfr on your own.

On RPM-based Linux distributions (using dnf), if you are:

  1. compiling the application from source (or wheels are not available), sudo dnf install -y gcc-c++ tbb-devel mpfr-devel gmp-devel
  2. using the packaged binary (wheels are available), sudo dnf install -y gmp mpfr tbb

On DEB-based Linux distributions (using apt), you need to sudo apt install -y g++ libtbb-dev libmpfr-dev libgmp-dev.

On macOS, you need to brew install tbb mpfr gmp.

Then install the package with pip.

pip install pyvpmr

If the corresponding wheel is not available, the package will be compiled, which takes a few minutes. The execution of the algorithm always requires available gmp, mpfr and tbb libraries.

Jumpstart

import numpy as np

from pyvpmr import vpmr, plot


def kernel(x):
    return np.exp(-x ** 2 / 4)


if __name__ == '__main__':
    m, s = vpmr(n=50, k='exp(-t^2/4)')
    plot(m, s, kernel)

Usage

All available options are:

Usage: vpmr [options]

Options:

    -n, --max-terms             <int>     number of terms (default: 10)
    -c, --max-exponent          <int>     maximum exponent (default: 4)
    -d, --precision-bits        <int>     number of precision bits (default: 512)
    -q, --quadrature-order      <int>     quadrature order (default: 500)
    -m, --precision-multiplier  <float>   precision multiplier (default: 1.05)
    -e, --tolerance             <float>   tolerance (default: 1E-8)
    -k, --kernel                <string>  file name of kernel function (default uses: exp(-t^2/4))
    -s, --singular-values                 print singular values
    -w, --weights                         print weights
    -h, --help                            print this help message

The minimum required precision can be estimated by the parameter $n$. The algorithm involves the computation of $C(4n,k)$ and $2^{4n}$. The number of precision bits shall be at least $4n+\log_2C(4n,2n)$. In the implementation, this number will be further multiplied by the parameter $m$.

Example

The default kernel is exp(-t^2/4). One can run the application with the following command:

./vpmr -n 30

The output is:

Using the following parameters:
       terms = 30.
    exponent = 4.
   precision = 355.
 quad. order = 500.
  multiplier = 1.0500e+00.
   tolerance = 1.0000e-08.
      kernel = exp(-t*t/4).

[1/6] Computing weights... [60/60]
[2/6] Solving Lyapunov equation...
[3/6] Solving SVD...
[4/6] Transforming (P=+9)...
[5/6] Solving eigen decomposition...
[6/6] Done.

M = 
+1.1745193571738943e+01+6.4196555242161141e-106j
-5.5143304351134397e+00+5.7204056791636839e+00j
-5.5143304351134397e+00-5.7204056791636839e+00j
-1.6161617424833762e-02+2.3459542440459513e+00j
-1.6161617424833762e-02-2.3459542440459513e+00j
+1.6338578576177487e-01+1.9308431539218418e-01j
+1.6338578576177487e-01-1.9308431539218418e-01j
-5.4905134221689715e-03+2.2104939243740062e-03j
-5.4905134221689715e-03-2.2104939243740062e-03j
S = 
+1.8757961592204051e+00-0.0000000000000000e+00j
+1.8700580506914817e+00+6.2013413918954552e-01j
+1.8700580506914817e+00-6.2013413918954552e-01j
+1.8521958553280000e+00-1.2601975249082220e+00j
+1.8521958553280000e+00+1.2601975249082220e+00j
+1.8197653300065935e+00+1.9494562062795735e+00j
+1.8197653300065935e+00-1.9494562062795735e+00j
+1.7655956664692953e+00-2.7555720406099038e+00j
+1.7655956664692953e+00+2.7555720406099038e+00j

Running time: 2044 ms.

exp(-t^2/4)

Arbitrary Kernel

For arbitrary kernel, it is necessary to provide the kernel function in a text file. The file should contain the kernel expressed as a function of variable t.

The exprtk is used to parse the expression and compute the value. The provided kernel function must be valid and supported by exprtk. Check the documentation regarding how to write a valid expression.

For example, to compute the approximation of exp(-t^2/10), one can create a file kernel.txt with the following content:

exp(-t*t/10)

In the following, the kernel function is echoed to a file and then used as an input to the application.

echo "exp(-t*t/10)" > kernel.txt
 ./vpmr -n 60 -k kernel.txt -e 1e-12

exp(-t^2/10)

Performance

The majority of the algorithm is parallelised to extract the maximum performance. The following is a typical performance profile on a i7-10750H platform using the ./vpmr -n 80.

profiling

Compilation

[!WARNING] The application relies on eigen and exprtk, which depend on very heavy usage of templates. The compilation would take minutes and around 2 GB memory. You need to install libraries gmp, mpfr and tbb before compiling.

Docker

To avoid the hassle of installing dependencies, you can use the provided Dockerfile. For example,

wget -q https://raw.githubusercontent.com/TLCFEM/vpmr/master/Dockerfile
docker build -t vpmr -f Dockerfile .

Or you simply pull using the following command.

docker pull tlcfem/vpmr
# or using GitHub Container Registry
docker pull ghcr.io/tlcfem/vmpr

Windows

Use the following instructions based on MSYS2, or follow the Linux instructions below with WSL.

# install necessary packages
pacman -S git mingw-w64-x86_64-cmake mingw-w64-x86_64-tbb mingw-w64-x86_64-gcc mingw-w64-x86_64-ninja mingw-w64-x86_64-gmp mingw-w64-x86_64-mpfr
# clone the repository
git clone --recurse-submodules --depth 1 https://github.com/TLCFEM/vpmr.git
cd vpmr
# apply patch to enable parallel evaluation of some loops in SVD
cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
# configure and compile
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .
ninja

Linux

The following is based on Fedora.

sudo dnf install gcc g++ gfortran cmake git -y
sudo dnf install tbb-devel mpfr-devel gmp-devel -y
git clone --recurse-submodules --depth 1 https://github.com/TLCFEM/vpmr.git
cd vpmr
cd eigen && git apply --ignore-space-change --ignore-whitespace ../patch_size.patch && cd ..
cmake -DCMAKE_BUILD_TYPE=Release .
make

Binary

The binary requires available gmp, mpfr and tbb libraries.

 ldd vpmr
    linux-vdso.so.1 (0x00007ffec2fa0000)
    libtbb.so.12 => /lib/x86_64-linux-gnu/libtbb.so.12 (0x00007fd1dcb13000)
    libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fd1dca92000)
    libmpfr.so.6 => /lib/x86_64-linux-gnu/libmpfr.so.6 (0x00007fd1dc9d8000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd1dac00000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd1daf20000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd1daf00000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd1daa1f000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fd1dcb78000)

The distributed appimage is portable.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvpmr-251009.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyvpmr-251009-cp314-cp314t-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pyvpmr-251009-cp314-cp314t-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

pyvpmr-251009-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp314-cp314t-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14tmacOS 15.0+ x86-64

pyvpmr-251009-cp314-cp314t-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.14tmacOS 15.0+ ARM64

pyvpmr-251009-cp314-cp314t-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14tmacOS 14.0+ x86-64

pyvpmr-251009-cp314-cp314t-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.14tmacOS 14.0+ ARM64

pyvpmr-251009-cp314-cp314-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp314-cp314-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp314-cp314-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 15.0+ x86-64

pyvpmr-251009-cp314-cp314-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

pyvpmr-251009-cp314-cp314-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 14.0+ x86-64

pyvpmr-251009-cp314-cp314-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

pyvpmr-251009-cp313-cp313-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp313-cp313-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp313-cp313-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 15.0+ x86-64

pyvpmr-251009-cp313-cp313-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pyvpmr-251009-cp313-cp313-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 14.0+ x86-64

pyvpmr-251009-cp313-cp313-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

pyvpmr-251009-cp312-cp312-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp312-cp312-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp312-cp312-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 15.0+ x86-64

pyvpmr-251009-cp312-cp312-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

pyvpmr-251009-cp312-cp312-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

pyvpmr-251009-cp312-cp312-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pyvpmr-251009-cp311-cp311-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp311-cp311-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp311-cp311-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 15.0+ x86-64

pyvpmr-251009-cp311-cp311-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

pyvpmr-251009-cp311-cp311-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

pyvpmr-251009-cp311-cp311-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pyvpmr-251009-cp310-cp310-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp310-cp310-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp310-cp310-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

pyvpmr-251009-cp310-cp310-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

pyvpmr-251009-cp310-cp310-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10macOS 14.0+ x86-64

pyvpmr-251009-cp310-cp310-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pyvpmr-251009-cp39-cp39-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp39-cp39-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp39-cp39-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9macOS 15.0+ x86-64

pyvpmr-251009-cp39-cp39-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.9macOS 15.0+ ARM64

pyvpmr-251009-cp39-cp39-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9macOS 14.0+ x86-64

pyvpmr-251009-cp39-cp39-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

pyvpmr-251009-cp38-cp38-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

pyvpmr-251009-cp38-cp38-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

pyvpmr-251009-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pyvpmr-251009-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

pyvpmr-251009-cp38-cp38-macosx_15_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8macOS 15.0+ x86-64

pyvpmr-251009-cp38-cp38-macosx_15_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.8macOS 15.0+ ARM64

pyvpmr-251009-cp38-cp38-macosx_14_0_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8macOS 14.0+ x86-64

pyvpmr-251009-cp38-cp38-macosx_14_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.8macOS 14.0+ ARM64

File details

Details for the file pyvpmr-251009.tar.gz.

File metadata

  • Download URL: pyvpmr-251009.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyvpmr-251009.tar.gz
Algorithm Hash digest
SHA256 f2d8aa885d7fcbf2726deadc64399ba4a03b7865ba63ba5b12448123a1a4dfd4
MD5 4b7c5425ed34e206373f871352f0ca08
BLAKE2b-256 14eefa0cb449587a4a9107594b83f9bc6f465d2d6e0f9c538f55be3b6b5b6df8

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5344295daa74c89289433e54521ea3cce14db1721cd3c3ee979b41bc86ca2c02
MD5 8da4a92f08299f42b6e38b15191487e5
BLAKE2b-256 504b4c8b174d824ae05dcd9135826637bb62965a983d5e2b69176a8948938952

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5b033888419fb508643b0cab147e1844cf82ca4bd159dd7aa91bef5267816e89
MD5 a8eb5698cc3b09d967d1868e6c24ef8c
BLAKE2b-256 52aac06f35f2419e028ce9854dcd15c2bcd5e781eb478ee24430d5f7a5e403c4

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7aca95641a5df8fd8b4e5364bb57f791527db32b9ea9feb4c5e6e94fba315aea
MD5 85e262d8499d6b181433e178638f4c1b
BLAKE2b-256 9d801ec8eea62139924fb45ef1eeb9e3529457c3a72c541320adb9465c7e7296

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c0a5709ada49b4f4c3e87b23ca43ee07e2845646fc3b4b82450586c1d1fa602d
MD5 6d3fea7cb6a2371f83a2e943f9c06b68
BLAKE2b-256 e77621acf1865cfbdc11e92c3aa4c374982eec23940ddcec74515ac8812813f9

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 30d737fb93375438fa6acfd1dbd5eb1e9efbbdbd648525c3718db08fd7477c77
MD5 342a3626b1c3802f9ca0c759bed113cb
BLAKE2b-256 ad1735cad0e44f15ab9728d5d19f9ed6f37a3e20bdcafddc2fed79be8a393482

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 53b696bc6e0345853c05094a577d515f639e4d6d71abf162185b4f8ddfef33c6
MD5 d6a9efd55f0adf7805e41c41b13b0d3d
BLAKE2b-256 ffd9acfeed9ae3bb09429f884dc459dae222af876542b6ed7c4df85d76651b15

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 318bd0428a7df92494242997609b270de730ec118535b0c18684d57e0bae9915
MD5 7449b1644465f07785720872e0b7f563
BLAKE2b-256 55dcfb81745eb220a9a7aed96f9af3891eee03058682e852cca6451f533fb4bc

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314t-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314t-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4a9a57830b3bfafb05558086ffe463b59c5f6bce0ba1382dd403be4e6f50cde5
MD5 96f2cd937b77db9a42527c4bb4e54647
BLAKE2b-256 e9cca0ebe22046ee633a972f34f204a0878032cb0b5f1c362dfe2d9d3b9cc071

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c64cab8ebf969adc9095fad7a9fdb672cfb286f415868f166f1ad6b5624fbd4b
MD5 ca50733322ba3d98cc8c06472e07d08f
BLAKE2b-256 81ee5c9092b44e5aa601f62570df611acd906cb7bf3049b5c95f89af88ad3f68

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d5949fbb2cbe393e72c44ee9be0f4ccbf2ccb633c60aa60be6aff08688081115
MD5 06fadaae20a090dc6c20d7d60362d8cd
BLAKE2b-256 b9090a555dab70575e7ac5272bba7284be15296a8dd5090fba0e1a83e86a718e

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 109b04adb0ea1cf77504a69a70c0a69e2e16b5c8490f360e4aea90938d4b3c51
MD5 18646648703e85483a2b8c699541e412
BLAKE2b-256 dc85361de20d48e5957ccbdba10f433f9a2aad5a49f7d0d7fb5bfa29ebcfdec4

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 68072c171a1110571f86ed4b40d67aa95d98f48c74ffe2fd6e0a6f86d4cc98ba
MD5 c65e3e3f522416ed32bc3c985c68be24
BLAKE2b-256 63b529f1045c3141916ad765cbff64eb18c17e57fc1b78439bd4ae47c3aac9b1

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 977541455968b9a994c5731cdae48b1fe07bbf631a3406be49c8768630b7eb8a
MD5 a5a2370a5efb50dc5d5bb433b975df86
BLAKE2b-256 0b2351596577c93077a38fabd11d53f37514f08af8705b6a5f7c9254d3b8594b

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 17ce1392fa17269ecafd30841763165071528632aeb2a0a1e3bfa7076b328c86
MD5 5c1a4c6a4214377404cb7df837e02887
BLAKE2b-256 c6f0dd0761f860a7311a8b319a703ea53d45bf10a8c586264c8ab85e29bf621d

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 88e8bfba4033513b7f415b8e51601aad52f71c214c82e39036ecb19b447f86d5
MD5 5df52f79bf8d6df9f10d18d461d10764
BLAKE2b-256 b3dfe2600033785c65b09965187e61ff99bda1c41c7864dc61ba1b5fcf13d1e2

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d0d46611147e36a0aa2e99a015d97872ba59b382101253c0d5cd4e2924985975
MD5 73c2faa4f69d40d2b2727c620f16999d
BLAKE2b-256 8333f7703ef96aec3d116ed00cb3586911aa739587bf67fb70e0bfd9c6290589

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 27389aee189ce80690843ac5b2e4bd5bb5f3030ae88c1854bb625b5a6252df76
MD5 a3e5e21b5a4cd7b407dbf2631c83dc88
BLAKE2b-256 a1fbb4ce75661ebb7d9514cd6cea2c6adea450e83fadfbad923eb2ec00f64610

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 dbb0a1f63d0f43d1307d43a7c037f51d3c3792775dbe663b0be5b0135fd41f4b
MD5 e2f7df7137d76963f19d17208982d648
BLAKE2b-256 051c7baaaf61d9657b496a7d1d728b24540da375947ef97a594bdac5c828c475

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f39b7905b8e36bf458d44d834b40caeba5377bd3ba29e026e4d24975d5e0a646
MD5 57a684c9c7d3b436e0016863353763cf
BLAKE2b-256 759227cb62ad3eb862fe6c57c92dbd3e90b0c68d12ed670bd6d8016fe01addd4

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b631d7ab0d2f7c129a86a1a9c4b02d6ca141126311533e7efc45e4d08060ef6e
MD5 1b481992f84c1fdc1f266394aee6a9e7
BLAKE2b-256 d042ea4fb6fc5723512a5445babd3b3b2c9adbedd3bc2495dad549b338d398b9

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 3b2f30371ba8045ada8b77be133d53042d59768f2b057996afd7233461b41c6f
MD5 6f26f472b7fbc07e00c715a64c93d33e
BLAKE2b-256 2fc97eaae946b405dc7a940c6d2503b77ae5fffaf79bef6aaca456594c60f22d

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1ca1f1531541ecf9bcebaba2bfe3c10af26d332d85fccf8c4c6c51905cac438f
MD5 ae4a1b7bcff2caff1e32cf2d4ba6f0d1
BLAKE2b-256 419ed678b827eeffee4063a94ed587e1b208ce013c99588d867ce157f33487d8

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 baf53a2066f77a503a79b8a3b3e78d1a3b408f02e6ed11f9f793e515a8c51a32
MD5 ef6b2a2043beb68067f2dad9ceeeef28
BLAKE2b-256 9b2335ed5b403de7811cd477cf5bb3b03e93bbc029bf0db35a551a0178150fb0

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f02419191a090ebf4796723f15296875c3e2dded82c963e2fcd1e4fe2bc180c5
MD5 0bd17a204ca323f4c55846946632fb5d
BLAKE2b-256 9e8a9148c19cf0023aa7509aabee8de9e7d36be5c5b936e73ec4d1b74af447c6

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96e574b076fbbf8a7878d97648cd9891eec95942108da4beb69265ec4222a40c
MD5 3e6973fa499c297be9c6acfe48f1e0ec
BLAKE2b-256 f81e03bfb25b38af38917bacea9f31270b4c78c18b8569374e276bcc75be9873

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a83fd0d601b92793ea868e77a1182c166372826a9b08990b6de2d17d03153796
MD5 c25412cf40bb12748e1c4e7e4efc19bb
BLAKE2b-256 ce8b83cf686c7efdffb734726ca104893a711abfb60081b57472fcb6c7096079

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 270604396e85c38bd5a5514216109d77ccedcab0b017c8cee01a92d2805b592d
MD5 bdac9c110b75c34bfa52b9aa08bf6d0b
BLAKE2b-256 3d17c141759d8ceb55d7b3e4c075c5f71f24f8841d8361152331665d903d585b

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 39b61597e1989234eaeee6b3b53e110ff962498ea8b7f90bfea53fca7939ce9b
MD5 7115c34ca640e8316a141001983f797c
BLAKE2b-256 1ca3cd6c613f1b506ea8f52ce18e81624b5ace888a94ac0127193c840d8a6a1a

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 48a6a6c701d0c6b7e28c9ea4e081b8e0a8f660ae360986f3fd78cf693905ce55
MD5 532b8ff1824598e2120e35b9fbdf66d7
BLAKE2b-256 46d633b5fa6d1addc83390addd18aef1c2fc13cdcb5ae259ce4e52e1f197dd00

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 1a1d126c113effde62d309732f30aa4e91e7a9d4145f8b3d308694e5f0700ca6
MD5 258d4a93d1ce0a97d25aaf2eacdbdafe
BLAKE2b-256 df429eaad656c1feea02643cba9c4b53c1d876b660716b35a7d7bcd0d7f43bde

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 cfbffe4d1376f53e3b9b25ce22fb2134d8d54c702329ee36afdfe6fe8345972b
MD5 9d5c7979ae7df8add4fe73681e3c2847
BLAKE2b-256 ea76e1fb37a74497e91e676317484720b866c8dedf9de8f1151fa89a0e14d954

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5b86a6284d9dcc9b45ab8eb4f8f811202329b80612d863f7decea57ece84a668
MD5 43e9169e5f0e328f008cd5332211be55
BLAKE2b-256 77723d88b0d59a65446c658925d76b96c6d212f10a2478f76bd40c7d7bcdf1ea

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a0631384077d21a6ac6c125578a500df0312a451020ed829a772b51bb5bf8a6
MD5 614ee7dd3e968dac78151c3103cdda08
BLAKE2b-256 e2f1992858d6c8eadf69bb5ed21b23f23da4ff8bd23dc7c7f25a547b00710334

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e9261225fbc639599c29c982ede56a36251466b77e63b98c9347a3e2865128c7
MD5 4cb7111a01d67428471ebdf2aac6808f
BLAKE2b-256 e23ca9c961436030941493d393e796cb83929056f4650b125e021650a4081a3f

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb8f1de9867e61883460e936f5cfb54a1e5be96567236e78fa166dc241a882cd
MD5 66d00b66b8e437ccf466629f85560458
BLAKE2b-256 ad5d7c810849bc61d1ee4b6f75300559c05efd9ce20a717dc3bbdbaa7b4e2f8b

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 35ab912cff461ce221b0151a2dee8e502274e1c33910d93840e99d58d629722c
MD5 4038cb08e2fa19d4c8ba2e549111d9fa
BLAKE2b-256 84c86bc91f4d304cbf962a151f09d904f1a6f75c441087bc63f17c373292c6df

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 3dc30859c7bc293cd020d0dcaf7f378ac18beefb522e335dc88f5aa13da58b67
MD5 48f5352280a575014a5a458760f3e028
BLAKE2b-256 c983e93d3e7409f4dd2013de6304ffd607f4219e56e0c89e8a33140335afb9df

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 f99771280ed91d9e05a0b31bbfcd6cf469317acdfbf72525588394b4b15b0f64
MD5 2e9c18c8e856d7f2e5f9df6b26637616
BLAKE2b-256 f605d0a3f95e6ce9d92d5adcaeee5f9431a2fe763dd951cb1ce2a4092441bbe2

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 7c9849fde5721dbd930ea758ca6f9bd04bf29329931a57e71a79ceaa7fcbfad7
MD5 a19f3bfba1ea871ebf4e61820f411ffd
BLAKE2b-256 90b29ae43309634e0b76011116d189f96e9f1982a836ac4c5d9c44dbd1644108

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 85d05e49c428eaadc8f7105b255ad54a9a373a1f1253bb77bd63c8dec080b8fd
MD5 9733dec4fdecb736efa2e0ee308b4f3c
BLAKE2b-256 7936f2e005ff58f088d43144c58d6bec98ecf3a8106d3a5a4c771f190f1d3a88

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7fef37f33500b6c72b55f97fd7fd60ac9d46e65c0955e418f478d00bcba88976
MD5 a0ce02fe58a4178454b39703144e0cf9
BLAKE2b-256 714d1a8fe9a7d07e2a36f9db80ecf5cbaf4bba4cbe58e945bd499ef8f39b353f

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 18bf82c3f03c3580188ee202b2bc6f147f7605c101085619c22665546f981418
MD5 a0e7315bfbd0830642678a95d3b0b0c6
BLAKE2b-256 50e816cec67c18d138cc1848fac39c481cb5b19109f6c245a76c0288ccc63e95

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 da71374a9785468ac1fe126ef0f96e1910295b9755741aba9d12dd5d31970627
MD5 e7caad667e1cd853a9c278519a736796
BLAKE2b-256 35ae2a6aa1ce1721ac397cfc20d524825e7407e9636180be01a838116fa7176a

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fd1f5131c13c7f8b19f5a1836af56be73a63994fc0e8f400ab4841fcba622f93
MD5 39f30c66719ba5eee4b53a40c5a2fc0d
BLAKE2b-256 d5f1b9dcbb00b4f261091c1a658fec65282e5728ef9b987a38f604d1d47aece9

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 9bc1050560227ae867741783324b3d58f21e433c5c5222e6b585a1c91a2d38ff
MD5 3b0ad4052291be66de65c79facae90ed
BLAKE2b-256 8c5aab4eccca4a7ef8876293219b140104367313fa7ef823efc3d73f269837d6

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d6a0f324ca0ac94fb49f94d8ef668b343f6cc25ddca905533e9e2a24bab4a694
MD5 d2bbd3853c4581ad62968bace9557e82
BLAKE2b-256 a3b339807d707085435e72d51aeeaa2b70e40d9db47863dbec6018e04a0a7014

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 63dde45bb708126475498b934372ff90f91bbc23ae114f51476381296afdb605
MD5 f2324333e92d992b2f7e245230585a95
BLAKE2b-256 0a57244a640bf7a4ad2addc7b03453304fe2c8bc2c80a22fb23a650f9204424f

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 3911b9a6a6d0536f76cd3576ad0b04540cab45d5c2b95754afc6b992a601fd5a
MD5 cfa39db639bf85eff0999cd0ae842fa3
BLAKE2b-256 6d0f4d29f0c1aadcf91562b62fdb1235cc6c92a75e22a95a80831877f0d3c17d

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0b3b5e86f8cc7d17665d440507d17fc3f2c1e5a52cd3edb8f401ee360e345f16
MD5 d27b5282af82282be99874f91883db9b
BLAKE2b-256 5046b2a4e4b2048673b0530330a32936a31207b6773b5d905901076d434d1992

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5740e30a7d68895b84e5002052004c4582a1965302112e063d3e21bdb29e8f64
MD5 356c29020f73c92e3c43424758cebe97
BLAKE2b-256 08f4836165ae31db2c764a1f6e0bc14ae59e788d02296e2d721b84c85920e1dc

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af9cdf16007f8ad5a1fdd188fa0b934adc988e38d366a3fc3e37943bd18b78e2
MD5 8bcfa94c2b9817596cc5a72efbb124aa
BLAKE2b-256 89d2705b796cc1e03319ca0ae5337e14f6d30c184ed726ae19128a7b0c304e41

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 335453d274f252c6a417f29d2ff967d6de1df3304c84ec3932d2ccb412dc45cb
MD5 b672ba4a5faba545eeb743bb7ce4e250
BLAKE2b-256 653fd57e857c2fc4bafe51be2069c5a1f136d312980ef04179489911f999160b

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 83f98ae3bfc73f2b0c45749176090434d1684afd322a444bce83e6ddc266eab3
MD5 46e8f02a7afeb8b6ec23a70527cb2bdd
BLAKE2b-256 d5bd561b45a8e99c267986f7afba1a38cc1a56bb83a8436568fec3032bf20153

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 54ac668658263636039ca6b33abd8275040c39e06bef03f23963c83389e1d013
MD5 9815c259b392734d4ffa786a5efb74d1
BLAKE2b-256 2a5251c77d5c86d7ed482790bcf2ceda6f1ee564bdae413638aeda4b04ce1e7d

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 7225fa24432e741e8d52ad839c9e9dcdbc82e8ec99ff0130aee001125fbc690a
MD5 cefec91f0d1fb5c8b5cafc31fa754c20
BLAKE2b-256 bb7e321c3419cd88d655bcec231fa287b3bba73ee3b97dd4c9003d871737aa06

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 622ed34a1ef5c398cbbb0aeb93bb8de6684c487f0dff030fd566102f8dc48f35
MD5 17ccd4f27b60eef621a3f27cca4e7752
BLAKE2b-256 5e33b7a38fa279d4f36e8ca8653963d86e5755f604832ca5bf1f41c11ee25f2c

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d982cd278f91c8e96aba9f5d877c36a2b155156c9723501f38795d1faf9c0f8f
MD5 e3f52f1c720e5271e2a3bbeb0ef68fa2
BLAKE2b-256 cdf1f53616879a0ef0bd03b9e8ebef5dfc62eac75ece657760f967b36778a80b

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1df0efc8717612ff3fa9e8204cc90729e9643a68c6ae5bc2447950a656fed2cd
MD5 2935f8aab4a8fe7e7ecccc34557ede4b
BLAKE2b-256 6bfc14639216bcdbebb031b3b9de22ec0bd233572f40903b9123e36233262517

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd23f0f50e5171ff4e46277c5e240d4aaf817288114e99cda106313cea1e438f
MD5 b63aa52f1f2e53ad10734797308448fd
BLAKE2b-256 6372fada705f9ee28500aff2864fcf2f9b2b3143ff5c0857f8d72670de2afbec

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f5e51c550636c815419c3314752217758211a36c7147f72f7b5f871f23f0c986
MD5 b046f35761d72659cf19678eb79e0a25
BLAKE2b-256 1f5fae88c082128cae097c3b4960b8054302330573977ae357f13628bbd21a6a

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 fdf3fd2aa4132d3defcf2fb08b37ed3a247a51168e9803c38017c99b1dd81ff2
MD5 047bb5d2ce9ae3b4d24f67f39c2ff61d
BLAKE2b-256 48a1f5ec0344d53495c023c47506455e7489171a828fc1607c9ffc4858e2f589

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 589183da2b744a052a8170dbec2c104c16e05677ca2ba649af1d6036d60bccec
MD5 78f675936433f4005abefb6c682b2afe
BLAKE2b-256 532d4e7bb64486a16741daa615fbdad865c0d6431ced71b0e72fca0e5badde5a

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 3b1d4a24b6feacde65558f72d6519755cb3a972d2c5885235b312fe84539c781
MD5 b9cc1ab235a6f1d1cfab883b5c39deed
BLAKE2b-256 3eb7ed69a668f0f4c3a6d7615473ea0a29ae8199c8fa4b3be7f054f0811230e5

See more details on using hashes here.

File details

Details for the file pyvpmr-251009-cp38-cp38-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pyvpmr-251009-cp38-cp38-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d9d61c28e079abbcb04a53a121323c4e40ca4fd77ff41f7c34cf1ce7a6f92527
MD5 87f9842b4eccfe68922b59e2fa26d0ca
BLAKE2b-256 e14fc4ab6139fcdbca8027a9f1d12603b71c8b82fbc8326352e2100846d05323

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