Skip to main content

Hierarchical Variance-Retaining Transformer (HVRT) — variance-aware sample transformation for tabular data

Project description

HVRT: Hierarchical Variance-Retaining Transformer

PyPI version Python 3.8+ License: AGPL v3

Variance-aware sample transformation for tabular data: reduce, expand, or augment. Fits once; operates many times.


Model Family

Five model classes share the same primary API. They differ in how they partition data and which geometric statistic drives the tree.

Class Partitioning signal Normalisation Use-case
HVRT Pairwise feature interactions (O(d²)) Z-score (mean/std) Reduction; when pairwise dependencies matter
FastHVRT Z-score sum (O(d)) Z-score (mean/std) Expansion; same quality as HVRT at lower cost
HART Pairwise interactions, MAD criterion Z-score (median/MAD) Heavy-tailed data; reduction with outliers
FastHART Z-score sum, MAD criterion Z-score (median/MAD) Heavy-tailed expansion; best general performer
PyramidHART ℓ₁ cooperation statistic A = |S| − ‖z‖₁ Z-score (median/MAD) Sign-structured data; polyhedral geometry
from hvrt import HVRT, FastHVRT, HART, FastHART, PyramidHART

Algorithm

1. Z-score normalisation

X_z = (X − median) / MAD    (HART / FastHART / PyramidHART)
X_z = (X − mean)   / std    (HVRT / FastHVRT)

2. Synthetic target construction

HVRT / HART — sum of normalised pairwise feature interactions (T-statistic):

T = Σ_{i<j}  normalise(X_z[:,i] ⊙ X_z[:,j])    O(n · d²)

FastHVRT / FastHART — sum of z-scores (S-statistic):

S = Σ_j  X_z[:, j]    O(n · d)

PyramidHART — ℓ₁ cooperation statistic (A-statistic):

A = |S| − ‖z‖₁    bounded, sign-aware, O(n · d)

3. Partitioning

A DecisionTreeRegressor is fitted on the synthetic target. Leaves form variance- homogeneous partitions. Tree depth and leaf size are auto-tuned to dataset size.

4. Per-partition operations

Reduce: Select representatives within each partition using the chosen selection strategy. Budget proportional to partition size (variance_weighted=False) or biased toward high-variance partitions (=True).

Expand: Draw synthetic samples within each partition using the chosen generation strategy. Budget allocation follows the same logic.


Installation

pip install hvrt
git clone https://github.com/jpeaceau/HVRT.git
cd HVRT
pip install -e .

Optional extras:

pip install hvrt[fast]       # Numba-compiled kernels (3–13× speedup on fit/FPS)
pip install hvrt[optimizer]  # Optuna-backed HPO (HVRTOptimizer)
pip install hvrt[benchmarks] # xgboost, matplotlib, pandas for benchmark scripts

Quick Start

HVRT / FastHVRT

from hvrt import HVRT, FastHVRT

# Fit once — reduce and expand from the same model
model = HVRT(random_state=42).fit(X_train, y_train)   # y optional
X_reduced, idx = model.reduce(ratio=0.3, return_indices=True)
X_synthetic    = model.expand(n=50000)
X_augmented    = model.augment(n=15000)

# FastHVRT — O(n·d) target; preferred for expansion
model = FastHVRT(random_state=42).fit(X_train)
X_synthetic = model.expand(n=50000)

PyramidHART with geometry-aware strategies

from hvrt import PyramidHART, geometry_stats

# Fit on features only — sign structure lives in X space
model = PyramidHART(random_state=42).fit(X_train)

# Expand using A-range enforcement (polyhedral rejection sampling)
X_synth = model.expand(n=50000, generation_strategy='a_range_rejection')

# Inspect ℓ₁ geometry per partition
stats = model.geometry_stats()
# [{'partition_id': 0, 'n': 42, 'S_mean': 1.3, 'A_mean': -0.8, ...}, ...]

# Compute geometry statistics on any z-scored array
from hvrt import compute_A
A = compute_A(X_z)   # shape (n,): A-statistic per sample

API Reference

HVRT / FastHVRT

Both expose identical constructor parameters. HVRT uses pairwise interactions (O(d²)); FastHVRT uses z-score sum (O(d)).

from hvrt import HVRT, FastHVRT

model = HVRT(
    n_partitions=None,           # Max tree leaves; auto-tuned if None
    min_samples_leaf=None,       # Min samples per leaf; auto-tuned if None
    max_depth=None,              # Tree max depth; auto-tuned if None
    y_weight=0.0,                # 0.0 = unsupervised; 1.0 = y drives splits
    bandwidth='auto',            # KDE bandwidth: 'auto', float, 'scott', 'silverman'
    auto_tune=True,
    n_jobs=1,                    # Parallelism: -1 = all cores
    tree_splitter='best',        # 'best' or 'random' (10–50× faster fit)
    random_state=42,
    # Pipeline params (see Pipeline section)
    reduce_params=None,
    expand_params=None,
    augment_params=None,
)

HART / FastHART

All constructor parameters identical to HVRT/FastHVRT. Differ in normalisation (median/MAD instead of mean/std) and tree criterion (absolute_error instead of squared_error). Robust to heavy tails and outliers.

from hvrt import HART, FastHART

model = HART(random_state=42).fit(X_train, y_train)
model = FastHART(random_state=42).fit(X_train)

PyramidHART

Extends HART. Uses the ℓ₁ cooperation statistic A = |S| − ‖z‖₁ as the partitioning target. Exposes geometry_stats() for per-partition breakdown of S, Q, T, and A.

from hvrt import PyramidHART

model = PyramidHART(random_state=42).fit(X_train)
stats = model.geometry_stats()   # list of per-partition geometry dicts

HVRTOptimizer

Requires: pip install hvrt[optimizer]

from hvrt import HVRTOptimizer

opt = HVRTOptimizer(
    n_trials=30,             # Optuna trials; use ≥50 in production
    n_jobs=1,                # Parallel trials (-1 = all cores)
    cv=3,                    # Cross-validation folds for the objective
    expansion_ratio=5.0,     # Synthetic-to-real ratio during evaluation
    task='auto',             # 'auto', 'regression', 'classification'
    timeout=None,            # Wall-clock time limit in seconds
    random_state=None,
    verbose=0,               # 0 = silent, 1 = Optuna trial progress
)
opt = opt.fit(X, y)          # y enables TSTR Δ objective; required for classification

Performs TPE-based Bayesian optimisation over n_partitions, min_samples_leaf, y_weight, kernel / bandwidth, and variance_weighted. HVRT defaults are always evaluated as trial 0 (warm start).

Post-fit attributes:

Attribute Type Description
best_score_ float Best mean TSTR Δ across CV folds
best_params_ dict Best constructor kwargs
best_expand_params_ dict Best expand kwargs
best_model_ HVRT Refitted on full dataset
study_ optuna.Study Full Optuna study
opt = HVRTOptimizer(n_trials=50, n_jobs=4, cv=3, random_state=42).fit(X, y)
print(f'Best TSTR Δ: {opt.best_score_:+.4f}')
X_synth = opt.expand(n=50000)         # y column stripped automatically
X_aug   = opt.augment(n=len(X) * 5)

fit

model.fit(X, y=None)

reduce

X_reduced = model.reduce(
    n=None,                  # Absolute target count
    ratio=None,              # Proportional (e.g. 0.3 = keep 30%)
    method='fps',            # Selection strategy; see Selection Strategies
    variance_weighted=True,  # Oversample high-variance partitions
    return_indices=False,
    n_partitions=None,       # Override tree granularity for this call only
)

expand

X_synth = model.expand(
    n=10000,
    variance_weighted=False,      # True = oversample tails
    bandwidth=None,               # Override instance bandwidth
    adaptive_bandwidth=False,     # Scale bandwidth with local expansion ratio
    generation_strategy=None,     # See Generation Strategies
    return_novelty_stats=False,
    n_partitions=None,
)

augment

X_aug = model.augment(n=15000, variance_weighted=False)
# n must exceed len(X); returns original X concatenated with synthetic samples

Utility methods

partitions = model.get_partitions()
# [{'id': 5, 'size': 120, 'mean_abs_z': 0.84, 'variance': 1.2}, ...]

novelty = model.compute_novelty(X_new)   # min z-space distance per point

params = HVRT.recommend_params(X)        # {'n_partitions': 180, ...}

# PyramidHART only
stats = model.geometry_stats()
# [{'partition_id': 0, 'n': 42, 'S_mean': 1.3, 'Q_mean': 0.5, 'T_mean': 1.1,
#   'A_mean': -0.8, 'mst_mean': 0.4, 'A_q05': -2.1, 'A_q95': 0.3}, ...]

sklearn Pipeline

Operation parameters are declared at construction time via ReduceParams, ExpandParams, or AugmentParams. The tree is fitted once during fit(); transform() calls the corresponding operation.

from hvrt import HVRT, FastHVRT, ReduceParams, ExpandParams, AugmentParams
from sklearn.pipeline import Pipeline

# Reduce
pipe = Pipeline([('hvrt', HVRT(reduce_params=ReduceParams(ratio=0.3)))])
X_red = pipe.fit_transform(X, y)

# Expand
pipe = Pipeline([('hvrt', FastHVRT(expand_params=ExpandParams(n=50000)))])
X_synth = pipe.fit_transform(X)

# Augment
pipe = Pipeline([('hvrt', HVRT(augment_params=AugmentParams(n=15000)))])
X_aug = pipe.fit_transform(X)

Import from hvrt.pipeline to make intent explicit:

from hvrt.pipeline import HVRT, ReduceParams

ReduceParams

ReduceParams(
    n=None,
    ratio=None,              # e.g. 0.3
    method='fps',
    variance_weighted=True,
    return_indices=False,
    n_partitions=None,
)

ExpandParams

ExpandParams(
    n=50000,                 # required
    variance_weighted=False,
    bandwidth=None,
    adaptive_bandwidth=False,
    generation_strategy=None,
    return_novelty_stats=False,
    n_partitions=None,
)

AugmentParams

AugmentParams(
    n=15000,                 # required; must exceed len(X)
    variance_weighted=False,
    n_partitions=None,
)

Generation Strategies

Seven built-in strategies: four general-purpose and three PyramidHART-specific.

Strategy Behaviour Notes
'multivariate_kde' Gaussian KDE via batch Cholesky. Full joint covariance. Default at large partitions
'epanechnikov' Product Epanechnikov kernel, Ahrens-Dieter sampling. Bounded support. Recommended for classification; ≥5× ratios
'bootstrap_noise' Resample with replacement + 10% Gaussian noise. Fastest; no distributional assumptions
'univariate_kde_copula' Per-feature 1-D KDE marginals + Gaussian copula. Flexible per-feature marginals
'a_range_rejection' Rejection-sampling: accepts only samples within per-partition A-value quantile bounds. Falls back to training point after max_iter rounds. PyramidHART only — X-only fit; best for polyhedral constraint enforcement
'sign_preserving_epanechnikov' Epanechnikov noise on feature magnitudes only; original z-signs restored. Samples never cross coordinate hyperplanes. PyramidHART only — X-only fit; sign-coherent generation
'minority_sign_resampler' Bootstraps target MST (−A/2) from training partition; scales minority-sign group to match; Gaussian noise on majority group. PyramidHART only — X-only fit; MST-matching generation
from hvrt import FastHVRT, epanechnikov, univariate_kde_copula

model = FastHVRT(random_state=42).fit(X)

# By name (preferred)
X_synth = model.expand(n=10000, generation_strategy='epanechnikov')

# By reference
X_synth = model.expand(n=10000, generation_strategy=univariate_kde_copula)

PyramidHART-specific strategies

These strategies encode assumptions about the ℓ₁ polyhedral geometry of PyramidHART: the cooperation statistic A = |S| − ‖z‖₁ partitions feature space into sign-coherent cones, and these strategies are designed to preserve or restore that structure.

Important: Fit on X only (no y column stacked). Stacking y introduces a sign dimension unrelated to the geometric construction.

from hvrt import PyramidHART

model = PyramidHART(random_state=42).fit(X_train)  # X only

# A-range enforcement: reject samples outside training A-quantile range
X_synth = model.expand(n=50000, generation_strategy='a_range_rejection')

# Sign-preserving: Epanechnikov on magnitudes, original signs restored
X_synth = model.expand(n=50000, generation_strategy='sign_preserving_epanechnikov')

# MST-matching: bootstrap minority-sign group to match training MST
X_synth = model.expand(n=50000, generation_strategy='minority_sign_resampler')

All three strategies produce the same results as standard Epanechnikov at the default auto-tuned partition granularity (n≈500, ~18–20 leaves). Their geometric advantages emerge at larger n and finer partitions (n_partitions≥50) where sign structure in A is more pronounced.

Custom strategy

from hvrt import StatefulGenerationStrategy, PartitionContext
import numpy as np

class MyStrategy:
    def prepare(self, X_z, partition_ids, unique_partitions):
        # precompute partition metadata once; return a PartitionContext subclass
        ...
        return PartitionContext(X_z=X_z, ...)

    def generate(self, context, budgets, random_state):
        ...
        return X_synthetic   # shape (sum(budgets), n_features), z-score space

X_synth = model.expand(n=10000, generation_strategy=MyStrategy())
from hvrt import BUILTIN_GENERATION_STRATEGIES
list(BUILTIN_GENERATION_STRATEGIES)
# ['multivariate_kde', 'univariate_kde_copula', 'bootstrap_noise', 'epanechnikov',
#  'a_range_rejection', 'sign_preserving_epanechnikov', 'minority_sign_resampler']

Selection Strategies

from hvrt import HVRT

model = HVRT(random_state=42).fit(X, y)

# By name (preferred)
X_red = model.reduce(ratio=0.2, method='fps')             # default
X_red = model.reduce(ratio=0.2, method='medoid_fps')
X_red = model.reduce(ratio=0.2, method='variance_ordered')
X_red = model.reduce(ratio=0.2, method='stratified')
Strategy Behaviour Notes
'fps' / 'centroid_fps' Greedy FPS seeded at partition centroid. Default. Best general-purpose diversity
'medoid_fps' FPS seeded at partition medoid. Robust to outliers; slightly slower
'variance_ordered' Highest local k-NN variance (k=10). 23–37× faster with n_jobs=-1 at large n
'stratified' Fully-vectorised random sample. 2.5–3× faster than loop; best for repeated reduce()

Custom strategy

from hvrt import StatefulSelectionStrategy, SelectionContext
import numpy as np

class MySelector:
    def prepare(self, X_z, partition_ids, unique_partitions):
        from hvrt.reduction_strategies import _build_selection_context
        return _build_selection_context(X_z, partition_ids, unique_partitions)

    def select(self, context, budgets, random_state, n_jobs=1):
        ...
        return selected_indices   # global indices into X_z

X_red = model.reduce(ratio=0.2, method=MySelector())

Memory-conscious large-data workflow:

model = HVRT(n_jobs=-1).fit(X_large)          # n_jobs forwarded to select()
X_red = model.reduce(ratio=0.1, method='fps') # parallel FPS, O(partition size) memory per worker

Cooperative Geometry

The _geometry.py module provides standalone functions for computing ℓ₁ cooperation statistics. These are useful for model selection, diagnostics, and custom analysis.

Definitions

Symbol Name Formula
S Sign sum Σ_j z_j (z-score sum; FastHVRT target)
Q Quadrature ‖z‖₂² = Σ_j z_j²
T Cooperation S² − Q = (Σ z_j)² − Σ z_j²
A ℓ₁ cooperation |S| − ‖z‖₁ = |Σ z_j| − Σ |z_j| (PyramidHART target)
MST Minority-sign total −A/2 = count of features with sign opposite to the majority

Usage

from hvrt import compute_A, geometry_stats

# Compute A-statistic on z-scored feature matrix
import numpy as np
X_z = (X - X.mean(0)) / X.std(0)
A = compute_A(X_z)   # shape (n,); A ∈ [−d/2, 0]

# Full geometry stats (S, Q, T, A) per sample
from hvrt._geometry import compute_S, compute_Q, compute_T, minority_sign_total
S = compute_S(X_z)   # shape (n,)
Q = compute_Q(X_z)   # shape (n,)
T = compute_T(X_z)   # S² − Q, shape (n,)
mst = minority_sign_total(X_z)   # shape (n,)

# Per-partition breakdown from a fitted PyramidHART model
model = PyramidHART().fit(X_train)
stats = model.geometry_stats()
# [{'partition_id': 0, 'n': 42, 'S_mean': 1.3, 'A_mean': -0.8, ...}, ...]

When to use each model

Question Recommendation
General-purpose reduction (keep diversity) HVRT — pairwise T captures interactions
General-purpose expansion (generate synthetic data) FastHVRT — O(d) target, same quality
Data with heavy tails or outliers HART / FastHART — MAD normalisation is robust
Sign structure matters (financial, directional data) PyramidHART — A-statistic partitions sign cones
Need per-partition geometry diagnostics PyramidHART.geometry_stats()

Recommendations

bandwidth='auto' — the default

bandwidth='auto' requires no tuning for most datasets. At each expand() call it inspects the fitted partition structure and picks the kernel most likely to produce high-quality synthetic data.

How it decides:

Condition Chosen kernel Reason
mean partition size max(15, 2 × d) Narrow Gaussian h=0.1 Enough samples for stable covariance estimation
mean partition size < max(15, 2 × d) Epanechnikov product kernel Too few samples for covariance; product kernel is covariance-free

Why not Scott's rule: Scott's rule assumes iid Gaussian data. HVRT partitions are locally homogeneous but non-Gaussian (mean |skewness| 0.49–1.37 across benchmark datasets). The decision tree already captures the primary variance structure, so the residual within-partition variance is narrower than Scott's formula assumes, causing systematic over-smoothing. Scott's rule won 0 of 18 benchmark conditions.

When to override:

  • Heterogeneous / high-skew classification (mean |skew| ≳ 0.8): use generation_strategy='epanechnikov' directly.
  • Small dataset, coarse partitions, regression: use bandwidth=0.1 or bandwidth=0.3.

Model selection guidance

Scenario Recommended model Recommended strategy
Reduction from large dataset HVRT method='fps' (default)
Reduction, rare events HVRT method='fps', variance_weighted=True, y_weight=0.3
Expansion, general purpose FastHVRT or FastHART 'epanechnikov' (classification), default (regression)
Data with outliers / heavy tails HART / FastHART any strategy
Sign-structured data PyramidHART 'a_range_rejection' (large n), 'sign_preserving_epanechnikov' (general)
HPO Any model HVRTOptimizer (requires [optimizer])

Hyperparameter optimisation (HPO)

Dataset heterogeneity is the primary driver of sensitivity to HVRT's parameters. A well-behaved near-Gaussian dataset produces good synthetic data at defaults. A dataset with distinct clusters or regime-switching needs finer partitions.

Parameter search space:

Parameter Default Effect
n_partitions auto Primary lever. More partitions → finer local homogeneity
bandwidth 'auto' 'auto' is near-optimal once partition count is right
variance_weighted False True oversamples high-variance partitions; useful for tail-heavy distributions
y_weight 0.0 Weights y in the synthetic target; helps when y governs sub-populations

When HPO is worth running:

  • TSTR Δ is significantly negative (below −0.05)
  • Dataset has known sub-populations, clusters, or regime changes
  • Generating at high ratio (10×+)
from hvrt import HVRTOptimizer

opt = HVRTOptimizer(n_trials=50, n_jobs=4, cv=3, random_state=42).fit(X, y)
print(f'Best TSTR Δ: {opt.best_score_:+.4f}')
X_synth = opt.expand(n=50000)
X_aug   = opt.augment(n=len(X) * 5)

Benchmarks

Sample reduction

Metric: GBM ROC-AUC on reduced training set as % of full-training-set AUC. n=3 000 train / 2 000 test, seed=42.

Scenario Retention HVRT-fps HVRT-yw Random Stratified
Well-behaved (Gaussian, no noise) 10% 97.1% 98.1% 96.9% 98.0%
Well-behaved (Gaussian, no noise) 20% 98.7% 98.9% 98.3% 99.0%
Noisy labels (20% random flip) 10% 96.1% 91.1% 93.3% 90.4%
Noisy labels (20% random flip) 20% 95.2% 95.9% 93.1% 93.1%
Heavy-tail + label noise + junk features 30% 98.2% 98.2% 94.3% 95.2%
Rare events (5% positive class) 10% 98.0% 99.4% 86.5% 94.1%
Rare events (5% positive class) 20% 98.0% 100.4% 97.9% 99.0%

HVRT-fps: method='fps', variance_weighted=True. HVRT-yw: same + y_weight=0.3.

Reproduce: python benchmarks/reduction_denoising_benchmark.py

Synthetic data expansion

Metrics: discriminator accuracy (target ≈ 50%), marginal fidelity, tail preservation (target = 1.0), Privacy DCR, TSTR Δ. bandwidth='auto', max_n=500 training samples, expansion ratio 1×. Mean across continuous benchmark datasets (fraud, housing, multimodal).

Method Marginal Fidelity Disc. Err % ↓ Tail Preservation Privacy DCR TRTR TSTR TSTR Δ Fit time
HVRT-size 0.944 5.0 1.023 0.45 0.846 0.850 +0.004 0.006 s
HVRT-var 0.921 1.8 1.068 0.45 0.846 0.866 +0.020 0.007 s
FastHVRT-size 0.936 1.5 1.018 0.43 0.846 0.805 −0.041 0.006 s
HART-size 0.952 2.2 1.007 0.48 0.846 0.852 +0.006 0.007 s
FastHART-size 0.949 2.1 0.998 0.52 0.846 0.858 +0.012 0.007 s
PyramidHART-ARejection† 0.944 4.0 1.021 0.50 0.846 0.852 +0.007 0.008 s
Gaussian Copula 0.937 1.9 0.983 1.17 0.846 0.806 −0.040 0.002 s
GMM (k≤20) 0.878 1.8 1.035 1.17 0.846 0.820 −0.026 0.028 s
Bootstrap + Noise 0.928 0.8 0.971 0.41 0.846 0.833 −0.013 0.000 s
SMOTE 0.902 1.0 0.889 0.30 0.846 0.828 −0.018 0.003 s
CTGAN‡ 0.421 32.3 1.95 0.769* 0.726 −0.043 ~10 s
TVAE‡ 0.624 26.1 0.89 0.769* 0.702 −0.067 ~6 s
TabDDPM§ 0.960 2.0 N/A 120 s
MOSTLY AI§ 0.975 1.0 N/A 60 s

† PyramidHART-ARejection uses X-only fit + proxy y — correct evaluation for geometry-aware strategies. ‡ CTGAN/TVAE run locally (--deep-learning). Poor Disc. Err reflects small n=400 training set. § Published numbers only — no local runner. * CTGAN/TVAE TRTR is 0.769 (housing + multimodal only; fraud not evaluated). Disc. Err = |discriminator accuracy − 50%|. Lower = more indistinguishable from real.

Reproduce: python benchmarks/run_benchmarks.py --tasks expand --deep-learning

Privacy evaluation

The benchmark suite computes two privacy metrics for every expansion run.

Distance-to-Closest-Record (DCR)

DCR = median(min_dist(synthetic_i → real))
    / median(min_dist(real_i → real excluding itself))
DCR range Interpretation
< 0.1 Near-copies: high record-linkage risk
0.1 – 0.8 Tight generation: fits local distribution well; low risk
≈ 1.0 Neutral: synthetic at typical real-to-real distances
> 1.0 Spread: samples more dispersed than real data

HVRT (DCR ≈ 0.45) is 3× safer than Bootstrap + Noise (DCR ≈ 0.16) and 1.5× safer than SMOTE (DCR ≈ 0.30) on continuous data.

Privacy–Fidelity Decision Matrix

Privacy Profile DCR Target bandwidth DCR Marginal Fidelity TSTR Δ
Tight [0.00, 0.40) 0.1 0.332 0.966 −0.012
Moderate [0.40, 0.70) 'auto' 0.443 0.958 −0.012
High [0.70, 1.00) 0.5 0.797 0.925 −0.007
Maximum [1.00, ∞) 'scott' + n_partitions=10 1.067 0.856 −0.022

Reproduce: python benchmarks/dcr_privacy_benchmark.py


Benchmarking Scripts

python benchmarks/run_benchmarks.py
python benchmarks/run_benchmarks.py --tasks reduce --datasets adult housing
python benchmarks/run_benchmarks.py --tasks expand
python benchmarks/pyramid_hart_benchmark.py          # PyramidHART vs HART/HVRT family
python benchmarks/pyramid_hart_benchmark.py --quick  # 2 datasets, fast check
python benchmarks/strategy_speedup_benchmark.py      # vectorization speedup
python benchmarks/speed_benchmark.py                 # serial vs parallel wall-clock
python benchmarks/reduction_denoising_benchmark.py
python benchmarks/hpo_benchmark.py                  # requires: pip install hvrt[optimizer]
python benchmarks/dcr_privacy_benchmark.py           # privacy–fidelity sweep

Testing

pytest
pytest --cov=hvrt --cov-report=term-missing

Citation

@software{hvrt2026,
  author = {Peace, Jake},
  title  = {HVRT: Hierarchical Variance-Retaining Transformer},
  year   = {2026},
  url    = {https://github.com/jpeaceau/HVRT}
}

License

GNU Affero General Public License v3 or later (AGPL-3.0-or-later) — see LICENSE.

Acknowledgments

Development assisted by Claude (Anthropic).

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

hvrt-2.12.1.tar.gz (931.3 kB view details)

Uploaded Source

Built Distributions

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

hvrt-2.12.1-cp313-cp313-win_amd64.whl (351.1 kB view details)

Uploaded CPython 3.13Windows x86-64

hvrt-2.12.1-cp313-cp313-win32.whl (313.6 kB view details)

Uploaded CPython 3.13Windows x86

hvrt-2.12.1-cp313-cp313-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

hvrt-2.12.1-cp313-cp313-musllinux_1_2_i686.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

hvrt-2.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (520.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

hvrt-2.12.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (549.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

hvrt-2.12.1-cp313-cp313-macosx_14_0_x86_64.whl (418.6 kB view details)

Uploaded CPython 3.13macOS 14.0+ x86-64

hvrt-2.12.1-cp313-cp313-macosx_14_0_arm64.whl (371.4 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

hvrt-2.12.1-cp312-cp312-win_amd64.whl (351.1 kB view details)

Uploaded CPython 3.12Windows x86-64

hvrt-2.12.1-cp312-cp312-win32.whl (313.5 kB view details)

Uploaded CPython 3.12Windows x86

hvrt-2.12.1-cp312-cp312-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

hvrt-2.12.1-cp312-cp312-musllinux_1_2_i686.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

hvrt-2.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (520.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

hvrt-2.12.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (549.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

hvrt-2.12.1-cp312-cp312-macosx_14_0_x86_64.whl (418.5 kB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

hvrt-2.12.1-cp312-cp312-macosx_14_0_arm64.whl (371.3 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

hvrt-2.12.1-cp311-cp311-win_amd64.whl (349.4 kB view details)

Uploaded CPython 3.11Windows x86-64

hvrt-2.12.1-cp311-cp311-win32.whl (312.5 kB view details)

Uploaded CPython 3.11Windows x86

hvrt-2.12.1-cp311-cp311-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

hvrt-2.12.1-cp311-cp311-musllinux_1_2_i686.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

hvrt-2.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (518.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

hvrt-2.12.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (546.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

hvrt-2.12.1-cp311-cp311-macosx_14_0_x86_64.whl (416.0 kB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

hvrt-2.12.1-cp311-cp311-macosx_14_0_arm64.whl (369.5 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

hvrt-2.12.1-cp310-cp310-win_amd64.whl (348.7 kB view details)

Uploaded CPython 3.10Windows x86-64

hvrt-2.12.1-cp310-cp310-win32.whl (311.7 kB view details)

Uploaded CPython 3.10Windows x86

hvrt-2.12.1-cp310-cp310-musllinux_1_2_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

hvrt-2.12.1-cp310-cp310-musllinux_1_2_i686.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

hvrt-2.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (517.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

hvrt-2.12.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (545.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

hvrt-2.12.1-cp310-cp310-macosx_14_0_x86_64.whl (414.7 kB view details)

Uploaded CPython 3.10macOS 14.0+ x86-64

hvrt-2.12.1-cp310-cp310-macosx_14_0_arm64.whl (368.3 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file hvrt-2.12.1.tar.gz.

File metadata

  • Download URL: hvrt-2.12.1.tar.gz
  • Upload date:
  • Size: 931.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1.tar.gz
Algorithm Hash digest
SHA256 dd7988c8467e7d080414a929fb5bc37a29dcfbe2544cbc3672f7a51d6415d462
MD5 0efbcf1017cfbd69cde9bae213d04bca
BLAKE2b-256 f56a7c5a2b3bfb651f5357d4fd8c9747b2dc780e0ea5b3f64b0a1729eacd0e0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1.tar.gz:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 351.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e6b8d649c65636ef349c58056acb5a5cea63e77b415ac20c9e390a815669baa9
MD5 0218f3687ce964a4d41f457208dc00d8
BLAKE2b-256 e8a2f05997972a8286e99e9320dabd1928514322d16d203885d97767cf85921d

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-win_amd64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-win32.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 313.6 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 cdf5b88472b5d27543eaa9aa1a8fec76b3cb83d38ba7270cc1a45c10cf0c6a37
MD5 0634c40d2bbe73bff74dbdb107b8f300
BLAKE2b-256 74b3160c13d4da7123eaece97a6ca6e004f28b8b83843d8ef3be1bde01c1b43b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-win32.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 12c05fd6b85056c843aedd89fad450b8b14bd1fef51492e5619b2ca2db1c66db
MD5 4f48ed1d78c3ee23dc4c7b933c5d974d
BLAKE2b-256 52c43bb67f27f72b26b587559d51a8cfe93c7ee9aca9bcd3ca96acee2b0612e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 41be637460765a2097dc064d82508ca5541596f08cc112c8943a9bdd4f1763d4
MD5 74341281fbfb31ae46d1072e27a67fc1
BLAKE2b-256 dccb4adef3254d0ca74b8b6fdfab156cc83858f19f1920a86390e4d4a446af7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-musllinux_1_2_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12fa974dbd68ad4cb7c268e3dfa603ef0f8efbecf3b8ac06e1030bc51007c8a3
MD5 f4afc5f7efe7891998043a1e83f0861b
BLAKE2b-256 8afd3c0d9ea8f1e3caf7b3f263b117e2f91d3551bae656da2dc3a503f04bb38c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9f16431a514abdc7d68a8c32f577c29242962bcdd2c8e027ee2c85bfd801099a
MD5 6beeef2e16dd14f4ce8c88446bba240b
BLAKE2b-256 7870ec871c4bfa6f32a3927fe453837756eec3019b958c1f415756654268d99a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 92e9f4719c56963a47775b5198fcc2d45f3b4634b819c649d66c8e362094303b
MD5 6712a68150c649480667e39d93f1637b
BLAKE2b-256 9e0511fb66235e61f72904831d261490a1d823d014261f36de4f7942898fd0ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-macosx_14_0_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f40fba7992ea58296f53686f42aa1a1adfbf822fede61c790f44219c22a3eb81
MD5 91526ad3ec564b44a2fa71e18c585e6c
BLAKE2b-256 0be8b558a7f48a62bce64f10154a7e0b34c7bb329e70432c43bfeb7af34b59cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 351.1 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0e7aec79cbb090202ead04eb5d6e9a63beb4953d7eab3b34daabf081dc142764
MD5 36ed2f178217808c7e8899c904070916
BLAKE2b-256 9345ca6b77be7e9c8dc36eb46cce1544996933213837177733fc53391a14bf4c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-win_amd64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-win32.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 313.5 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 40eb0fbc12312cc70c89954f47926306000b9456829149ad7fa60b534d963ef0
MD5 9429431c6bff15476208cd23114e66ad
BLAKE2b-256 e1613537d7dd89aa6ca9a3f86c12a17ea6fd301d4dcd40399e4194c6e2dbd422

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-win32.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cecad30c94295409ba0a56d9f557d00ab7e9714656f29e2080829e81a386d62e
MD5 34ba0ed5358ca7a706802038dcfde978
BLAKE2b-256 b23ebccb92880ace8019da6e98b3ffd6a1ebffce0c119c2f5a19db634e69fac3

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 cd9f5417d8abeb0936a856c1e7fcaaac7431a4996923038ddb740eb208256af9
MD5 47eaa121fcece2ad3e4e61e44463d667
BLAKE2b-256 7d55e1a73601c7b6d8539fb2687227f93653756dfcf6f9cbf2337e0e6e3a6f6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-musllinux_1_2_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 498834020f913711b07731ccc44bb10a20e33ed8f2d7a8a2608dc04a7c9f967c
MD5 d4ec27ab9e79ea0e4dd02fa85d504c0a
BLAKE2b-256 31f434479e00b4658cb5a49c1766d0328dc5fa9a9e89e69659677e0e49d87267

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d8778b001cdb66d4a5c01e803836ca2b2d446c30b6087d34cb2a01ce56833d73
MD5 e2e60190c6bd8460f88e54097c824005
BLAKE2b-256 646222dff649a573f7cf2abe0ace90f3bb31fa0f1c03b77eabcebeaeb97a1ba4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 ee9b8c6300d2c816be793c0d6e81f3f3dc62abe564ad1477a04ad63894313544
MD5 13525b792db35d56989b5517a0a2a6fb
BLAKE2b-256 e53af5856a64808b4055fecd16079e5de93c3adac0e7920badd173cfa99551f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-macosx_14_0_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1aab440323b901628f1bb4bf68ed2a712927015aa890b1233c7ea0fc045b7d02
MD5 abf4c49bb533d3eba3a67478c230b947
BLAKE2b-256 40ddb7bfd1d6a5d5b10dbf254a343dd9be1e906639ddd3109f513b3beffd262a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 349.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4a043a3ed0ece619588d8a0d29c1537949c10976c9d434ddd2020a598db26b84
MD5 442d0d37a479f897039a612f414e4c5f
BLAKE2b-256 30309f7debdb45bfa1fb5e3684e74c5547807fcd9c3ca01c377a7378907d5bb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-win_amd64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-win32.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 312.5 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 9efdda0ee5d6efc076c41f30334474124e4bb01c4a0544e4e0329dcf5c10cddd
MD5 77edada51de72d45a76db666e789485b
BLAKE2b-256 e3a3888e326bca8db3fa9e6f61aeafecfabd72f27dfaf230f540f916c26f95bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-win32.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3d71b0a2705084b519aa1eed0331da5eae42704f1bfdceb310a37cbc41527eed
MD5 eddd2afe18f46c2c9b048a1de4d2724d
BLAKE2b-256 482d374fdc767164f785db26667dbafe7a78aaa7e4322e2120d2c3322e759bf0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 de4117a276d7b37a854c42e3733a1da575b5f07752fd43065dd3d46418bb3db7
MD5 2e020be8325cb1309b7f6d48ebd2e581
BLAKE2b-256 b9d2da6ff2dee4d7b62fea6be07774a46d15b33ed2a2e18f9d14bc72df8e7e99

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-musllinux_1_2_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b52da2d5ebaea6a3e5f729ab88df13821cecfe80f8cf660112b517a9d667f306
MD5 8c96e7a45590566186833ca6a50a719b
BLAKE2b-256 ed09d11472a30020e5b8f822046a2db9aac177cadd56ec52878668138bde34c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0bc53d2b4bbc39e1498518c8c2c885ece910b4ae8eea198bb7ef3d2d95ac7bde
MD5 9b195eac624a85fed45386a7656cf68b
BLAKE2b-256 6c8fb6e81dab45e998a6cfb2ed58aac14be1dc29f6cc56f1541567c865c94be7

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 575a4b121e33cccc405e2dc872f805d13dd93986829937e272d8a468b885a103
MD5 eabe5b796c699af5c75389e7b0667e0d
BLAKE2b-256 5baeb102e70c80434d470647c50bbf76d85a29451576b603c83a5db36f614723

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-macosx_14_0_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 450c289a9902d21a67fd525e247ba87b62cc96c7f3852e993bc3660db06db4e5
MD5 7cddb49fd93344ddeb523ac3eb503eb0
BLAKE2b-256 19201920c34d616d46b094d927ac90a460614aeded16ec3034704ad046c62e02

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 348.7 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a5d9bfeeeb3bdd967c425cc69ddd15afb7e20a481e62dcc874eb619b090be706
MD5 40f838c48180ec7747c8fa413400ac64
BLAKE2b-256 880629a32c06431b64b2b01d410e5f4d051e95238cc09d51689929aaf6a5d62c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-win_amd64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-win32.whl.

File metadata

  • Download URL: hvrt-2.12.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 311.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b70fb5cad0802fa2a292ace8f8785a528ae507da0d28fde24d529ddc5a64dc9f
MD5 0ee1feb2d2ce0a721994feb9d9784129
BLAKE2b-256 3e16bd84e68f86f391c0dbd46a825a6dfb099e641dc44379e96dc65662fb48cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-win32.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2c32c1142172811c97d9f553b4bad635fa773247f39660afbedb0d5b1360e8a7
MD5 02f7ce17262945137f7dde9f0cf5a60e
BLAKE2b-256 c9af8b4ec519e9eba2a56dd8da998c6fece7594fc50352d178c4775fbbe518b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 04e9e08dc9dd0f792311a04a98df7760a8613761d1fe42502d3228c92f6a6ac3
MD5 b605de33c22402851d0a652361f57c4f
BLAKE2b-256 0e48c668fc30185346cc0bcecc22de7ffba4a7df1e596cafa9c6dd5ef5de14c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-musllinux_1_2_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae2d1e810b21d19e382efc275eb1391ebc2bedab5d39f10b6910928d5d658863
MD5 1974205f9bc62faf4548ee4e031d1583
BLAKE2b-256 d9b17d888199bc335c5f30adf0e95e07e2bfd577f2aacb261c9b983664fc6e7f

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a83a7ede8b01c330666c93b58fb84be2ef058fbe177f86bda442288fa3e8aee4
MD5 7bbaf13074a70fc85e70d2f5171c8c5c
BLAKE2b-256 030ce8f84d58137e127154387d99e83278c7d550cce47168208cce6d97c72b77

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 b9312ad53d9da19a5664566215931cda502e06b999d146b36251c7a7d2f5d1eb
MD5 8d580b0cd91c567ec7266c0f8bbc8eb8
BLAKE2b-256 a2ed5748883b1f239a94301d68aaa3f2b1b7517f47f3c878bb24e13c75041e36

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-macosx_14_0_x86_64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hvrt-2.12.1-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hvrt-2.12.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bd4e4220452ff1ee2ba3f3e4863da10208e58d442dec5abb3343eb0ba9b2e7dc
MD5 a1d872eada2a5df58dbfcfac690c109c
BLAKE2b-256 81170e3ce48a59991b1b6e7342ffc6159398bb3467ca7a013d8b8bc58779af25

See more details on using hashes here.

Provenance

The following attestation bundles were made for hvrt-2.12.1-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: build_wheels.yml on jpeaceau/HVRT

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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