Skip to main content

VBPCApy

License: MIT Python 3.11+ Code style: ruff DOI Docs

Variational Bayesian PCA (Ilin & Raiko, 2010) with support for missing data, sparse masks, optional bias terms, and an orthogonal post-rotation to a PCA basis. The implementation follows the original MATLAB reference while adding Python-native APIs, fast C++ extensions, and runtime autotuning.

Documentation · API Reference · Tutorials

Statement of need

Missing values are common in scientific and industrial tabular datasets, but many analysis pipelines either impute first (masking uncertainty) or drop incomplete samples. VBPCApy models missingness directly and exposes posterior uncertainty outputs alongside reconstructions, enabling uncertainty-aware latent-factor analysis in a single reproducible Python API.

Installation

From PyPI (pre-built wheels for Python 3.11–3.14, Linux/macOS/Windows):

pip install vbpca-py

With plotting support:

pip install vbpca-py[plot]

See the installation guide for building from source and Eigen setup.

Quick start

import numpy as np
from vbpca_py import VBPCA

# 50 features, 200 samples
x = np.random.randn(50, 200)
mask = np.ones_like(x)  # 1 = observed, 0 = missing

model = VBPCA(n_components=5, maxiters=100)
scores = model.fit_transform(x, mask=mask)
recon = model.reconstruction_
var = model.variance_

More examples: quickstart, dense PCA tutorial, missing data & model selection, genomics dosage data, and sparse data.

Features

For sparse observations whose values include zero, use compat_mode="modern" and retain those zeros explicitly in storage. Modern fits use the mask-defined observation set through noise updates, probe exclusion and NaN cleanup. See the sparse tutorial for storage and mode choices.

  • Dense or sparse data with explicit missing-entry masks
  • Optional bias estimation and rotation to PCA-aligned solution
  • Posterior covariances for scores and loadings; held-out probe RMS
  • C++ extensions with runtime autotune for threading and memory
  • Missing-aware preprocessing: one-hot, standard/minmax scaling, log, power, winsorize, auto-routing (AutoEncoder)
  • Preflight data diagnostics via check_data() / DataReport
  • scikit-learn-compatible estimator (fit/transform/inverse_transform, get_params/set_params, cloning) — scikit-learn is an optional dependency
  • Model selection via select_n_components and cross_validate_components
  • Configurable convergence: subspace angle, RMS/cost plateau, ELBO, curvature, composite rules, patience, with per-criterion enable/disable and custom ordering
  • Convergence diagnostics (n_iter_, converged_, convergence_reason_, learning_curve_, best-probe state metadata) and predictive_variance_ (includes observation noise)
  • recommend_config(n, p, priority) — regime-aware default hyperparameters from a surrogate trade study

See the concept guides and API reference for full details.

Typed fit results

PCAResult and LearningCurve are exported from vbpca_py. They describe ordinary result dictionaries, retaining existing keys and array ownership. Learning curves contain numeric histories and metadata with different types:

from vbpca_py import LearningCurve

curve: LearningCurve | None = model.learning_curve_
if curve is not None:
    print(curve.get("convergence_reason"))
    print(curve.get("returned_iteration"))

The low-level pca_full() return annotation is PCAResult. See the result reference for array shapes, optional diagnostic outputs and shared covariance blocks. Type annotations specify dtypes; they do not validate array shapes or make arrays immutable.

Categorical component selection

Dense AutoEncoder and MissingAwareOneHotEncoder fits expose an encoding_schema_ snapshot (EncodingSchema / EncodedVariable, exported from vbpca_py). Pass it to CV to hold out whole variable cells and decode single-binary, dropped-reference, centered and weighted indicators before categorical scoring:

from vbpca_py import AutoEncoder, CVConfig, cross_validate_components

encoder = AutoEncoder(
    column_types=["categorical", "categorical", "continuous"],
    drop="first",
    block_weighting="equal_variance",
    handle_unknown="raise",
)
Z = encoder.fit_transform(X)  # samples x encoded features
best_k, results = cross_validate_components(
    Z.T,
    components=range(5),
    config=CVConfig(encoding_schema=encoder.encoding_schema_, metric="brier"),
)

Continuous and ordinal variables contribute to encoded probe RMS, but are excluded from nominal categorical scores. Gaussian reconstructions are decoded, clipped at 1e-6 and normalized as approximate category probabilities; this is not a calibrated categorical likelihood. Equivalent decoded predictions have equivalent scores; refitting different encodings can yield different predictions. Schema-free categorical selection requires full unweighted one-hot blocks and rejects singleton groups and transformed targets. feature_groups alone cannot identify binary versus numeric columns.

This API splits an already encoded matrix. A schema describes the transform; use the raw-table API below when learning preprocessing within CV folds. Unknown categories cannot be distinguished from a dropped reference when handle_unknown="ignore"; use "raise" when scoring new raw data. See the model-selection guide and benchmark validation note.

Live fitting disables the legacy slowing_down criterion because no event counter is supplied. Explicit requests warn, and the learning curve records its unavailability. Stopping flags must be booleans. Accepted heuristic stops do not certify posterior stability; supported thresholds and frozen study policies are unchanged. See the convergence guide.

Raw-table component selection

cross_validate_raw_components accepts samples × original variables, with NaNs or an explicit observation mask. It holds out original variable cells before fitting means, scales, categorical centering and block weights. A fresh AutoEncoder is fitted once per fold and reused across every candidate rank, including first-minimum early stopping.

from vbpca_py import AutoEncoder, CVConfig, cross_validate_raw_components

def make_encoder():
    return AutoEncoder(
        column_types=["categorical", "continuous", "ordinal"],
        # External codebook; do not derive this from held-out values.
        column_levels=[["no", "yes"], None, ["low", "medium", "high"]],
        mean_center_ohe=True,
        block_weighting="equal_variance",
        handle_unknown="raise",
    )

best_k, results, folds = cross_validate_raw_components(
    X, encoder_factory=make_encoder, components=range(4),
    config=CVConfig(n_splits=3, metric="brier", seed=11),
    maxiters=200,
)

Declare column kinds explicitly. column_levels=None (or a None entry) learns levels from training cells; a held-only unknown level raises an error. External nominal vocabularies and ordinal orders support declared levels absent from training. Each returned PreprocessedFold exposes original training/holdout masks, encoded matrices, the fitted encoder and its schema; prepare_raw_cv_folds constructs these without fitting candidate models.

Results include nominal Brier/log/accuracy scores and rmse_variable_j for each numeric input column: continuous values in input units, ordinal values in unrounded level-index units. Numeric summaries report contributing fold counts; encoded prms is also retained. This predicts cells of the same samples; sample-wise sklearn CV evaluates new samples. Run the complete mixed-data example with just example-raw-cv, or python scripts/example_raw_cell_cv.py after installing the package.

Native update kernels reject nonpositive or nonfinite noise variances and malformed sparse pointers with ValueError. Worker factorization failures raise RuntimeError after workers join. See the runtime guide for input and failed-fit semantics.

Development

The 0.4.7 validation covers native failure repairs and numerical references. The 0.4.6 release validation describes the paired fitting-compatibility check and package/adoption gates. General scoring and benchmark validation commands are in scripts/benchmark_study.md.

git clone https://github.com/yoavram-lab/VBPCApy.git
cd VBPCApy
uv sync --extra dev --extra plot
just ci          # lint + typecheck + numerical references + tests
just numerical-reference  # bounded mathematical/reference checks
just docs-serve  # local docs preview

See CONTRIBUTING.md for guidelines.

The numerical validation guide describes the always-run reference checks, compatibility scope and tolerances. Extended Octave comparisons remain separate from the required numerical gate.

The October 2026 backend review records remaining measured costs, reference-paper checks and hardware-tuning requirements. Its diagnostic probes and algebraic prototypes are analysis tools; they do not change the installed solver. Reproduction commands are in scripts/benchmark_study.md.

For source-revision comparisons, the fresh-process profiling procedure checks fixed-policy numerical outputs alongside fit time, RMS allocation and process peak memory under explicit CPU and thread limits. It leaves published study settings unchanged. The dense-mask repair validation records paired measurements and the limits of their interpretation.

The trade-a-* analysis recipes require a local trade-study checkout. After syncing the environment, install its full extras (including adaptive optimisation, surrogate fitting and sensitivity analysis):

# Default: trade-study is checked out alongside VBPCApy.
just trade-a-install-adaptive

# Override the checkout location, including paths containing spaces.
TRADE_STUDY_PATH="/path/to/trade study" just trade-a-install-adaptive

Citation

If you use this package in your research, please cite:

@software{vbpca_py2026,
  author = {Macdonald, Joshua and Naim, Shany and Ram, Yoav},
  title = {{VBPCApy}: Variational Bayesian PCA with Missing Data Support},
  year = {2026},
  url = {https://github.com/yoavram-lab/VBPCApy},
  version = {0.4.12},
}
@article{ilin2010practical,
  title={Practical Approaches to Principal Component Analysis in the Presence of Missing Values},
  author={Ilin, Alexander and Raiko, Tapani},
  journal={Journal of Machine Learning Research},
  volume={11},
  pages={1957--2000},
  year={2010}
}

See CITATION.cff for machine-readable metadata.

License

MIT — see LICENSE.

Metadata

Release files for vbpca-py 0.4.12

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

Source distribution (sdist)

Source distribution for vbpca-py 0.4.12
File Size Uploaded Provenance Actions
vbpca_py-0.4.12.tar.gz 489.5 kB With provenance Details for vbpca_py-0.4.12.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for vbpca-py 0.4.12
File Actions
vbpca_py-0.4.12-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for vbpca_py-0.4.12-cp314-cp314-win_amd64.whl
vbpca_py-0.4.12-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for vbpca_py-0.4.12-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
vbpca_py-0.4.12-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for vbpca_py-0.4.12-cp314-cp314-macosx_11_0_arm64.whl
vbpca_py-0.4.12-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for vbpca_py-0.4.12-cp313-cp313-win_amd64.whl
vbpca_py-0.4.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for vbpca_py-0.4.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
vbpca_py-0.4.12-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for vbpca_py-0.4.12-cp313-cp313-macosx_11_0_arm64.whl
vbpca_py-0.4.12-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for vbpca_py-0.4.12-cp312-cp312-win_amd64.whl
vbpca_py-0.4.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details for vbpca_py-0.4.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
vbpca_py-0.4.12-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for vbpca_py-0.4.12-cp312-cp312-macosx_11_0_arm64.whl
vbpca_py-0.4.12-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for vbpca_py-0.4.12-cp311-cp311-win_amd64.whl
vbpca_py-0.4.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details for vbpca_py-0.4.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
vbpca_py-0.4.12-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for vbpca_py-0.4.12-cp311-cp311-macosx_11_0_arm64.whl

Total release size: 57.4 MB

Release files / vbpca_py-0.4.12.tar.gz

Download URL vbpca_py-0.4.12.tar.gz
Size 489.5 kB
Tags Source
SHA-256 checksum
How to use checksums
133d03aa5e2bdba42561f9bd7ea665f128b1ca3e66ed20a50553851c076bce76
BLAKE2b-256 checksum
How to use checksums
ed2ba83f77f859b30aae5b2fd8a685a55b60d5610478b94fb8ab218576fab050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp314-cp314-win_amd64.whl

Download URL vbpca_py-0.4.12-cp314-cp314-win_amd64.whl
Size 1.0 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
2801dc2d5beaf4f682f361759aeda3cdd40467eeb3632ca7ff5c59f0d2f6e406
BLAKE2b-256 checksum
How to use checksums
a9d434c04fcdc71f013ec622fbbeea13eef58b4dd89f8593fe557dbfc7c95193
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL vbpca_py-0.4.12-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 12.4 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
23118123435cc7b7a1fb72bd9ec4955983900eda52e107000b2f3d6d56dbc227
BLAKE2b-256 checksum
How to use checksums
0d892cb01edc80510e01d1b3fbf7cf0248073f1f847303bae3e378b672cb4448
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp314-cp314-macosx_11_0_arm64.whl

Download URL vbpca_py-0.4.12-cp314-cp314-macosx_11_0_arm64.whl
Size 841.7 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cf8388821978aa1649599ec74285a1bb67761249638ff10f263e6635a5e3a3fb
BLAKE2b-256 checksum
How to use checksums
8a20e14cf77266dd0363130ce8de6ca9a78d6f680f35dd4a7201b9b82b7b16e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp313-cp313-win_amd64.whl

Download URL vbpca_py-0.4.12-cp313-cp313-win_amd64.whl
Size 1.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
0626d8174dd61f5ecb5094d05121da9fe9ff3620b83d384d8ded575182930b8b
BLAKE2b-256 checksum
How to use checksums
76a55fdbb38a537ce489bc1e29cc21baaf07526f2c925654f4b1b2ffabef2881
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL vbpca_py-0.4.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 12.4 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4982e5c5075c71911c215099c302622b81cface7362a8a6a18431147682b4f4b
BLAKE2b-256 checksum
How to use checksums
5b768c71c43bd66d5e8584234f9ad73f648472a0a7aec4cd8f323b1c6fb03c8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp313-cp313-macosx_11_0_arm64.whl

Download URL vbpca_py-0.4.12-cp313-cp313-macosx_11_0_arm64.whl
Size 841.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5dba8b931828767760ed8a0aba9445cbbec55449ae8914536b3233a345ce741b
BLAKE2b-256 checksum
How to use checksums
c30192c61cd0e8e02b77a4c6c2585079caefb9ae71c682999e72f945210d4c97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp312-cp312-win_amd64.whl

Download URL vbpca_py-0.4.12-cp312-cp312-win_amd64.whl
Size 1.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
059a222759b8e1b4e9df8f6b642f91f77eafc560db04198dbde256d5d77d1c42
BLAKE2b-256 checksum
How to use checksums
260ec28526e14c81464877dee055bf3ae934149e09358286a2039c57220a50cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL vbpca_py-0.4.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 12.4 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
479b312e082b1709a31bf47e2949a8c19355ce961d7e51b402328adf7ffea1c7
BLAKE2b-256 checksum
How to use checksums
6c4d374f150d61182944cb791683a40ef19326707499af0d31401ddba5abfb2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp312-cp312-macosx_11_0_arm64.whl

Download URL vbpca_py-0.4.12-cp312-cp312-macosx_11_0_arm64.whl
Size 841.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0d4620f2b47c51c967c9db1fc0644f6f47e5a0dc6e2a21794ebee18d239edf4b
BLAKE2b-256 checksum
How to use checksums
009f5aa3d9ea42b788e3d0a120b8aae6d8ed0798e25372c1c5a2de1a288ef40e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp311-cp311-win_amd64.whl

Download URL vbpca_py-0.4.12-cp311-cp311-win_amd64.whl
Size 989.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
2ae5dec65f6d89cc45f576089f59c34aedc4858220b737be605ecdb29db1da80
BLAKE2b-256 checksum
How to use checksums
025d1c7f1c3d8030abf5b313f6886f1f0105cb3e8496942379b737ec63e1dd2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL vbpca_py-0.4.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 12.2 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
77ec42844fa9f305519f606e61e597db8f815ffc02b3735066d6e1d14d349847
BLAKE2b-256 checksum
How to use checksums
bcaa49dce9959f20429e66448ddceaf6cbc28f41612a651cfa7df19eb16387c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Release files / vbpca_py-0.4.12-cp311-cp311-macosx_11_0_arm64.whl

Download URL vbpca_py-0.4.12-cp311-cp311-macosx_11_0_arm64.whl
Size 824.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6fd51b960a64a1f8171c10c9934ce832c8f5688705ca20c6c9918e0f2ff43fca
BLAKE2b-256 checksum
How to use checksums
e047a31ba4e051ef0afea7399af0b33ba1ffedaf899674182ed605f1d5be881a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Security for vbpca-py 0.4.12

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.

Full provenance

All 13 files in this release have been uploaded with provenance metadata.

Select from 13 files

Attestation for vbpca_py-0.4.12.tar.gz

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 Oct 21, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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