Skip to main content

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

If the application needs to be compiled on your machine (build the binary from source, python wheels are not available, etc.), you need to install the compiler and three libraries.

  1. On RPM-based Linux distributions (using dnf), you need to sudo dnf install -y gcc-c++ tbb-devel mpfr-devel gmp-devel.
  2. On DEB-based Linux distributions (using apt), you need to sudo apt install -y g++ libtbb-dev libmpfr-dev libgmp-dev.
  3. On macOS, you need to brew install gcc tbb mpfr gmp.

If the binary is available (run the pre-compiled binary, python wheels are available, etc.), you only need the runtimes of three libraries. You can find the exact names on pkgs.org by searching tbb, gmp and mpfr.

Docker

You can simply pull the image using the following command.

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

Just use it as you would normally do with any other docker images. For example,

docker run tlcfem/vpmr -n 30

To build the image locally, use the provided Dockerfile.

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

Python Package

On most platforms (Linux and macOS), wheels are available, simply 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)

Standalone Binary

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=+11)...
[5/6] Solving eigen decomposition...
[6/6] Done with 11 final terms.

M = 
+2.3132817597168739e+01-2.8586221856566439e-105j
-1.1577276470339980e+01+1.2090460362812458e+01j
-1.1577276470339980e+01-1.2090460362812458e+01j
-1.5850953326980194e-01+6.1693993683365882e+00j
-1.5850953326980194e-01-6.1693993683365882e+00j
+7.3529603986874903e-01+7.5750538019498470e-01j
+7.3529603986874903e-01-7.5750538019498470e-01j
-6.6807938653881516e-02+1.0261144687127986e-02j
-6.6807938653881516e-02-1.0261144687127986e-02j
+8.8910386408859823e-04+2.2917263647765330e-04j
+8.8910386408859823e-04-2.2917263647765330e-04j
S = 
+2.0729005744773779e+00-0.0000000000000000e+00j
+2.0678104641951456e+00+5.6013828454286663e-01j
+2.0678104641951456e+00-5.6013828454286663e-01j
+2.0525989324387557e+00-1.1331825475504296e+00j
+2.0525989324387557e+00+1.1331825475504296e+00j
+2.0268330855090184e+00+1.7349515936847757e+00j
+2.0268330855090184e+00-1.7349515936847757e+00j
+1.9884211467751960e+00-2.3916428978210722e+00j
+1.9884211467751960e+00+2.3916428978210722e+00j
+1.9308660033206897e+00-3.1676394473339076e+00j
+1.9308660033206897e+00+3.1676394473339076e+00j

Running time: 1987 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

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 ../parallelize.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++ cmake git 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 ../parallelize.patch && cd ..
cmake -DCMAKE_BUILD_TYPE=Release .
make

Metadata

Release files for pyvpmr 260322

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvpmr 260322
File Size Uploaded
pyvpmr-260322.tar.gz 2.7 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyvpmr 260322
File
pyvpmr-260322-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp39-cp39-musllinux_1_2_aarch64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
pyvpmr-260322-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
pyvpmr-260322-cp38-cp38-musllinux_1_2_aarch64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ ARM64 Details
pyvpmr-260322-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
pyvpmr-260322-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.8 CPython 3.8 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details

Total release size: 124.3 MB

Release files / pyvpmr-260322.tar.gz

Download URL pyvpmr-260322.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
6c8d48836b2908d6805e4411762671c5e4cdac422fcb2d5f3651a8da571f31e9
BLAKE2b-256 checksum
How to use checksums
8b08bd05dafd1345f20429eeaa0050844950989a3e71307f52381ae8d1c8061a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
e669d9bc044ed1ca43468aeab6081febadbde2c1fdf9eaa93eb3a734a6fdffc7
BLAKE2b-256 checksum
How to use checksums
f645bc2bd28c1e67d1cca15a07acdac36ed31cd46a95166d8404372584c93655
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
389ec5993781ad528f8ea927742fcf77975f5a334a88002c41e6abea61cfd533
BLAKE2b-256 checksum
How to use checksums
08dcce75a6ff484ac7a2511e7c9e410a896d0fb233a9a91883400350e59d181a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f9bdbc6391123feec8bd7526b7f2252a503872c7607406fcccb0f7c94f60b565
BLAKE2b-256 checksum
How to use checksums
9770400eeb644a78a41cd597c492d143fe2c64dcc91c0ecca79c0e522cd44862
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5be811c0215a2990629dc00210cb7b8ccb17083281668c9d5573e16cca7234d4
BLAKE2b-256 checksum
How to use checksums
0c9bb98b45cd38c14608903f288d8e03b9111bec9211eda11d726fc4e1e5596a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp314-cp314-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
de120d82f9e5b4cb67f019eaad3b1f21a5482a1c0978547e997f876397073ba3
BLAKE2b-256 checksum
How to use checksums
74d042671dfa0f72f5ef24f4210754cc3560765b89e42b0a43f116ffc5f6417e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp314-cp314-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
318e80b569c053bfa67ac19a84853bfbdaa43ab0c890ff47986441ad6bdd32ec
BLAKE2b-256 checksum
How to use checksums
498e6d2a435a002b2fffc24786511866485e2d168ff16f07a145e0351c52e5ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c235f4c23e0dc72150f7df301363cb3f650f60a49aa1954893cd27de48cb0dc6
BLAKE2b-256 checksum
How to use checksums
6ec7bf154b15b7cfce3a3e209181694161bfb32e945d95f7fe35dcac032cdb51
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.2 MB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a54908b945af756cf4de0a9d566dd1f31df02306d22da6bb2d0bb25b7c115abd
BLAKE2b-256 checksum
How to use checksums
a1ca2eb9022f21977d44b80456fd583a6035873edf4a09beb66d4071852f57be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp313-cp313-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
168c6f7054534e6a95bbe43afd2baed98eb567f6d5bc4299e9cdc1c5fa878c5a
BLAKE2b-256 checksum
How to use checksums
c85b7a5cca71a8d72fde110577318754ee144362a6321e46732f27b2ca98a6fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp313-cp313-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
18736057c16a3bf8e1dde699ff2d29527091e92ed94d9b742b22a8569c7a80b2
BLAKE2b-256 checksum
How to use checksums
0f0f4e1db0443c48200485589031969f3af9e2b9f7b09ca11b060e3bd1b46ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9e294289a8357ecb36ca36d067e9cd26c5a73386c33e8d206b846df500a248e7
BLAKE2b-256 checksum
How to use checksums
fdd94031d0b850332c6b3fb73cc1a62b1f96c26fb0a5e14ff1055181f372ad11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.2 MB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
964a76afe62d39849d7cf3d6b4809b23b7b01a7c52b8bb5cd2237e7e4e7ced94
BLAKE2b-256 checksum
How to use checksums
f1a3852c4dd03ab56c4f3443581f188810b128b3107a1933834cf980bbd4a8c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp312-cp312-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
1c5f1b14a2f51115fb397ea3df269fa7eaccb570914a66e74f4f3440e3dda3fc
BLAKE2b-256 checksum
How to use checksums
a61901e1919afe2f8980758b11fb82127f9c2e37b1e88d7b434cce358c863d78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp312-cp312-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
ee1d6627724f6555ec595be014b2608efee21ba4f50620cb6dd4cb4892385236
BLAKE2b-256 checksum
How to use checksums
ce178490a7fe83a114501e29c28ce8b06cb9946cd802edda1c9d7d395763ff41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3ca64fa1a747dd54f2de45900f4f3a77acda0ce36445e7b96335d22a77dfeabb
BLAKE2b-256 checksum
How to use checksums
714f06859b4f4370a8baa534fed11400f3aa83899904a60477aea728dd7d3278
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.2 MB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
10628ea08c6c9253e10d0a08933142ab4fdd7422c4ac60758912ab485c49e070
BLAKE2b-256 checksum
How to use checksums
856cdb90d035a1b28444363442b39b711dc142a7d0b3aeb93fc0a604e9d2c836
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp311-cp311-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6116bad1cf790f8e723707095cc6c22f6772cfe3fdddd6e5f6968ac594289750
BLAKE2b-256 checksum
How to use checksums
e83e4f65d17082792fd9244d7220b7710c8e5428a6fa1a8399512e5ce076ccd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp311-cp311-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
135f9389c57cf29485b6f9ce37992624f031e89d88848fa9c7faf347d3858df5
BLAKE2b-256 checksum
How to use checksums
8f96d504c4dccb8560a20f2441ab4eea245f662d554cc8e1aa7fb526a8722e12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ac415835b841bd5659549011fbe8dce3b62b5dc3e912d71a01748ade14f48adf
BLAKE2b-256 checksum
How to use checksums
6316ea6f592e68ed6e327273c2dbd4364a768f3783993cbc903fd5f1ce31e677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.2 MB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e926e3ee8442318292527577cfad123627a2d1554c5c137c95e7b91506147661
BLAKE2b-256 checksum
How to use checksums
48fd9c420fabc4246d9d5b5248364f1bd77d85ad4a4211fc5766e7a4e16d4cdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp310-cp310-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4f7ab6bff46ecc9482b415e839ce6dfc7812a3a53fcae27de2342a323c992f38
BLAKE2b-256 checksum
How to use checksums
4b53d6a5f7a7693329f0fce2a4fa1496b86104604ae45825cc881d171a95eff8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp310-cp310-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
66f770ed656f13b56c01461333667f654e19377993ceebefc5afec7521f08b16
BLAKE2b-256 checksum
How to use checksums
6c24ab9fdd3fdb00207c2998e1697903b50dc12155e41b002a8be6b808ffb9f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3998dfa8ffe57f947fe85715b7f263c10de446ceb6ea0e86f31ed06001d49a07
BLAKE2b-256 checksum
How to use checksums
f0ac7156ef0782c3a1bffa1f712ae4af629629f5b755ee8e43adb2f84fb4df8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
66d3fb9bc64b084c20a88ed665c8ab6627819b9ad27c17d8f58d2a8292009996
BLAKE2b-256 checksum
How to use checksums
f80faa42ae825182a66b42987ad9eb7b7d3490f0ff9bdb4420b0fdce3ce22f54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp39-cp39-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8364d41a020a5c755c784d0da2577c004ed753f03980938e6e2a79a6545b997b
BLAKE2b-256 checksum
How to use checksums
5f348d203dee886156b475b36d48d14661c2017368a18636ba83dd3033c3edcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp39-cp39-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp39-cp39-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
c91aaa59a4440993010c40ef9179293a393905f68cddd832210d19b4bc02be87
BLAKE2b-256 checksum
How to use checksums
dfdc3d0d6cdf96734d20f1da346ce86663c03c427cc2d187256ed257c9c01795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f659075ebd184ef58e710858f361fc19c421a41e0aaaa558f7aa53659e29fad3
BLAKE2b-256 checksum
How to use checksums
0cc7c255febc0997ad1f5ea6b219d8c65c11a4f6f6183c80f0e5fc06a39d6a73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.9 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9c204edd071366680c9de7fb72e2a58ded1219ef34cd37f27561f4f0f5970878
BLAKE2b-256 checksum
How to use checksums
174df73a17b29b84dd49d9192f8b5d25a80fd631f3d6a944cbd645acf2c90a3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL pyvpmr-260322-cp38-cp38-musllinux_1_2_x86_64.whl
Size 4.4 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
4de458f4954a4a1788b515e83393ae41ca8740a8f6e88443bb4fefce17f1e997
BLAKE2b-256 checksum
How to use checksums
a3259b81c74a7c6da240a758a359a50e383da077af8f1e7861b4d20faf63f637
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp38-cp38-musllinux_1_2_aarch64.whl

Download URL pyvpmr-260322-cp38-cp38-musllinux_1_2_aarch64.whl
Size 4.3 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
36ecc444d76ce690af7c83d817473bdfae2f45acdbd63a4f53a4193f57ab03a8
BLAKE2b-256 checksum
How to use checksums
124bf56093b43da2d5a4c950767928bc37a4ff1eda8132a246b2b6a7365bd7ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyvpmr-260322-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 3.3 MB
Tags CPython 3.8 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
22409ec2cc3609c4f476a253b89a050ccb2fd5b9bb6fa085734d5bb628e4814a
BLAKE2b-256 checksum
How to use checksums
0db858d37ba61e0545a820f0c23dcdab38facb72147b7ac4344e2f0be8fc8e41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / pyvpmr-260322-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL pyvpmr-260322-cp38-cp38-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 3.1 MB
Tags CPython 3.8 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
80d43c7fcf4cce4f1fab46e58a42a675475207aa22390188da01c6a4421fa114
BLAKE2b-256 checksum
How to use checksums
8827415d0473494f1129944b0d56d540199626f662c0409187299c50c426235a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

260322 This release

33 release files

241011

7 release files

240921

7 release files

240916

7 release files

0

32 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page