Async Multi Objective Hyperparameter PBT (fast-cython, parameterless)
Project description
ZenFronts
ZenFronts is a compact facade for asynchronous, noisy, multi-objective population management (Population-Based Training style), built around a Cython-accelerated Monte Carlo Pareto-ranking kernel.
ZenFronts targets the operational regime where:
- objective signals arrive asynchronously (partial metric updates are common),
- objective values are stochastic (noise, heavy tails, drift),
- selection must be reproducible (deterministic under a fixed seed),
- one wants a clear and auditable separation between evaluation, state, and selection.
ZenFronts does not prescribe a particular optimizer. Instead, it provides a rigorously defined, high-throughput selection engine and a small, policy-driven API to manage a population.
Visual intuition
The figure below shows a typical snapshot produced by examples/demo_noisy_zdt1_snapshots.py.
- Left panel (objective space): point means (
μ) with semi-transparent uncertainty ellipses derived from per-objective variances (σ²). - Right panel (rank space): the same population expressed in stable rank coordinates, which is the space in which the Pareto machinery is applied.
Color encodes an aggregate selection-quality scalar (quality_score) computed from Monte Carlo statistics.
Note on reproducibility: for release-tag pinning on PyPI, replace
mainwith your tag (e.g.v1.0.4) in the URL.
At a glance
What ZenFronts provides
-
Population state and lifecycle
add_point,add_random_point,delete_point(tombstone model)- stable
point_ids for logging/auditing
-
Asynchronous objective/criterion storage
- per-(point, criterion) statistics:
μ,trend,σ²,t_last,ready - updates from raw samples or external statistics
- eligibility gate: only fully ready points are considered by selection
- per-(point, criterion) statistics:
-
Compiled Monte Carlo Pareto selection core
- Monte Carlo sampling from
(μ, σ²)per objective - Pareto ranking in stable rank-space
- per-point distribution summaries: place/front/within (mean, std, median, quantiles)
- Monte Carlo sampling from
-
Deterministic selection
- fixed
seedyields stable winners/losers and statistics
- fixed
-
Versioned selection-statistics schema
- stable contract for downstream pipelines and experiment tracking
What ZenFronts does not provide
- a parameter space DSL (you inject a sampler/mutator)
- a training/evaluation runtime (you call
update_critswhen metrics arrive) - a black-box optimizer with hidden heuristics (policies are explicit)
Installation
pip install zen-fronts
For local development with examples and tests:
pip install -e ".[dev,examples]"
Quick start
Runnable demo (produces the snapshot above)
python examples/demo_noisy_zdt1_snapshots.py --out out/demo --epochs 80
Minimal API sketch
from zen_fronts import ZenFronts
from zen_fronts.selection import SelectionConfig
# Define two objectives (minimization in this example)
crits = {"f1": "min", "f2": "min"}
zf = ZenFronts(
crits=crits,
selection=SelectionConfig(
n_samples=256,
percentile=0.2,
seed=42,
collect_stats=True,
quantiles_mode_i=2, # 0 exact, 1 P² streaming, 2 auto-by-budget
quantiles_budget=200_000, # used when quantiles_mode_i=2
),
sampler=lambda rng: {"x1": rng.random(), "x2": rng.random()},
# mutator must return (child_params, meta)
mutator=lambda parent, rng, **kw: (
{
"x1": parent["x1"] + rng.normal(0.0, 0.05),
"x2": parent["x2"] + rng.normal(0.0, 0.05),
},
{},
),
)
# 1) initialize a population
zf.add_random_point(128)
# 2) repeatedly: ingest metrics -> refresh -> replace
for t in range(1, 101):
# ingest / compute metrics for active points
for pid in zf.active_point_ids():
params = zf.params(pid)
f1, f2 = evaluate(params) # user-defined
zf.update_crits(pid, {"f1": f1, "f2": f2}, t=float(t))
losers = zf.refresh(now=float(t))
for loser in losers:
parent = zf.choose_parent(loser)
child, _meta = zf.perform_new(parent, looser=loser, remove_looser=True)
# IMPORTANT: evaluate the child at least once, otherwise it stays invisible
f1, f2 = evaluate(zf.params(child))
zf.update_crits(child, {"f1": f1, "f2": f2}, t=float(t) + 0.1)
Conceptual model
Points and tombstones
A point is an individual in the population, identified by an integer point_id.
delete_point(point_id)marks a point inactive (a tombstone).- tombstones do not participate in selection.
params(point_id)raisesKeyErrorfor tombstones.info(point_id)remains available; its last selection snapshot is preserved.
This supports stable experiment logging: you can keep IDs forever while still maintaining a bounded active population.
Criteria and readiness
Each criterion is defined by a name and a direction ("min" or "max"). Internally, selection operates in a unified maximization convention.
ZenFronts implements an explicit ready gate:
- a point becomes eligible for selection only when it is ready on all criteria,
- partial updates are allowed (typical for asynchronous pipelines),
refresh()considers onlyactive ∩ fully_readypoints.
Selection in rank space
Selection is performed using Monte Carlo sampling from the per-criterion distributions.
For each Monte Carlo sample:
- sample a synthetic objective vector for each point,
- transform each objective into stable ranks (per objective),
- compute Pareto fronts and within-front ranks in this rank space,
- accumulate per-point statistics across samples.
This rank-space formulation reduces sensitivity to scaling and improves robustness under noise.
How to run an optimization cycle (operational semantics)
A full guide is provided in docs/how_to_run_cycle.md. The essential rules are below.
1) When is a point considered ready?
A point participates in refresh() iff it is:
- active (not a tombstone), and
- ready on every criterion.
Practical consequence: adding a point (or creating a child) does not automatically make it eligible for selection; you must provide at least one update for every criterion.
2) What to do with newly created children
perform_new() creates a child via your mutator and (optionally) removes a loser.
A new child is not ready until you evaluate it and call update_crits(child_id, ...) for all criteria.
A safe pattern per epoch is:
- ingest updates for existing active points,
- call
losers = refresh(), - for each loser: choose a parent, spawn a child, evaluate the child once, update criteria.
This prevents two common pathologies:
- silently shrinking the effective population (many non-ready children),
- delayed “mass activation” of children that suddenly distort selection.
3) Choosing percentile and n_samples
Let N be the number of active-and-ready points. ZenFronts selects:
k = ceil(percentile · N)losers (and symmetrically winners)
Heuristics:
-
percentile(selection pressure)- start at 0.2–0.3 for PBT-like loops,
- for small
N, keepk ≥ 2to reduce jitter.
-
n_samples(Monte Carlo stability)- low noise: 64–128
- medium noise: 128–256
- high noise / heavy tails: 512+
Quantiles (median/q25/q75) can be computed exactly or via streaming P². A strict contract is enforced by tests:
Changing the quantile mode must not change winners/losers, mean/std, or
quality_score.
Selection statistics contract (versioned)
After each refresh(), ZenFronts persists a per-point selection snapshot under info(pid)["selection"].
The structure is explicitly versioned:
schema_name = "zen_fronts.selection_stats"schema_version = "1.0.0"
Downstream code can validate and normalize this contract:
from zen_fronts.selection.schema import validate_selection_stats
st = validate_selection_stats(zf.info(pid)["selection"]) # raises on incompatible schema
Compatibility rule:
- newer minor/patch versions are accepted,
- newer major versions are rejected.
This enables additive evolution of telemetry without breaking consumers.
Performance
ZenFronts is engineered so that, at typical population sizes (≈128–256, ≈3 objectives), the dominant cost is the compiled Monte Carlo kernel.
Empirical measurements (AMD Ryzen 5950X, Linux, Python 3.12.12, NumPy 2.4.1)
End-to-end refresh() (median; M=3, percentile=0.2, criteria supplied as external stats; collect_stats=True):
| N (active+ready) | n_samples | median refresh() | practical interpretation |
|---|---|---|---|
| 128 | 64 | ~10 ms | interactive |
| 128 | 128 | ~18 ms | interactive |
| 128 | 256 | ~35 ms | interactive |
| 128 | 512 | ~68 ms | moderate |
| 128 | 1024 | ~134 ms | heavy |
| 256 | 64 | ~28 ms | interactive |
| 256 | 128 | ~52 ms | interactive |
| 256 | 256 | ~102 ms | moderate |
| 256 | 512 | ~202 ms | heavy |
| 256 | 1024 | ~396 ms | very heavy |
Rule of thumb at M=3 on this hardware:
-
refresh_ms ≈ a + b · n_samples- for
N=128:b ≈ 0.13 ms/sample - for
N=256:b ≈ 0.38 ms/sample
- for
Scaling intuition
The kernel builds and uses a domination matrix; the dominant term scales approximately as:
- O(n_samples · N² · M)
Consequences:
- doubling
n_samplesroughly doubles runtime, - doubling
Nincreases runtime by roughly 3–4× in the measured regime, - increasing the number of objectives scales sublinearly in some regimes due to early-exit in dominance checks.
Benchmark scripts
-
Core kernel only:
python examples/bench_mc_rank.py --out out/bench_mc_rank.csv
-
End-to-end loop (“as in production”):
python examples/bench_refresh.py --out out/bench_refresh.csv \ --Ns 128,256 --Ss 64,128,256,512,1024 --epochs 30 --reps 3
Development notes
Cython HTML annotation
To generate Cython HTML annotation (hot-line visualization), enable annotate=True in the cythonize(...) call or guard it behind an environment variable (recommended).
Typical local workflow:
CYTHON_ANNOTATE=1 python setup.py build_ext --inplace
The generated *.html files appear next to the compiled modules.
Repository navigation
src/zen_fronts/— library implementationsrc/zen_fronts/selection_core/— Cython Monte Carlo ranking kerneldocs/how_to_run_cycle.md— operational semantics and tuning guidelinesexamples/— runnable demo + benchmarkstests/— unit tests and property-based tests (Hypothesis)
License
MIT (see LICENSE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zen_fronts-1.0.5.tar.gz.
File metadata
- Download URL: zen_fronts-1.0.5.tar.gz
- Upload date:
- Size: 650.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
105ca2611edafdd2a942b9d9fc420221e7c3983622e25202ae62b02adf48a7fc
|
|
| MD5 |
64cf0d980ac4e4ea2ce18530549b48de
|
|
| BLAKE2b-256 |
f45f9d59b8bce7dde61e00d33547688b9108bec1b1811bc1dfe28accd5b343c9
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5.tar.gz:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5.tar.gz -
Subject digest:
105ca2611edafdd2a942b9d9fc420221e7c3983622e25202ae62b02adf48a7fc - Sigstore transparency entry: 864116717
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 677.8 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e22161f71adece1afab04cb7964e52832d4d448009c5a1c84a25919b1f7aeec9
|
|
| MD5 |
9be41bfe15512ff3a8c07f65e6d9330b
|
|
| BLAKE2b-256 |
474fef4beb78348b3a29a1237a3b769261aa41b886f31a1290e65fde4c4e6461
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp312-cp312-win_amd64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp312-cp312-win_amd64.whl -
Subject digest:
e22161f71adece1afab04cb7964e52832d4d448009c5a1c84a25919b1f7aeec9 - Sigstore transparency entry: 864116728
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp312-cp312-win32.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp312-cp312-win32.whl
- Upload date:
- Size: 644.4 kB
- Tags: CPython 3.12, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68a44ee01acfbd5d40b73c9ddda53575359173df69c9190ab1ebcf04f083f748
|
|
| MD5 |
a8542d81f83326453316bae842593537
|
|
| BLAKE2b-256 |
216b1cbb68db61df8abe278dd962629124e39e181f859f09fbd1d59ad9edbd38
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp312-cp312-win32.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp312-cp312-win32.whl -
Subject digest:
68a44ee01acfbd5d40b73c9ddda53575359173df69c9190ab1ebcf04f083f748 - Sigstore transparency entry: 864116741
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
227edaa9e31582c80718fa295c8b93b9d764b110036bc42d9679d1cf9853053f
|
|
| MD5 |
e564c0875db1932e5da73ba119ff99c5
|
|
| BLAKE2b-256 |
8f6ab76265bf548b1c98ae57da3df2b7c7b14ff3a92b7c8888c1cae832c16043
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
227edaa9e31582c80718fa295c8b93b9d764b110036bc42d9679d1cf9853053f - Sigstore transparency entry: 864116738
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc3f062d3b8f24af55d45ebeaf8b2379f46870eabcb85d2e60781723bb4f0ee4
|
|
| MD5 |
40aed384fecb2946dcdb4d537c726c26
|
|
| BLAKE2b-256 |
e4dea8a427afb14ec8b81467d2ea75079bc505b989a80f128772fbe012ba2b82
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
bc3f062d3b8f24af55d45ebeaf8b2379f46870eabcb85d2e60781723bb4f0ee4 - Sigstore transparency entry: 864116729
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 718.7 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
db96ab0dd53e99acdb03de627da9c4ad97e00bfea6fc020d2b0152b09ce27d7d
|
|
| MD5 |
d22c679bb14f0fe368c2ebe37f7004ea
|
|
| BLAKE2b-256 |
2750aed0622802045d5962c0efbc86c43d7c34dccccc158e23c9039885da6d8b
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
db96ab0dd53e99acdb03de627da9c4ad97e00bfea6fc020d2b0152b09ce27d7d - Sigstore transparency entry: 864116719
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 686.1 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb85a59fc12b30a70faae7fad4536680845aa343771a674db9b5fcd1a4c2fb94
|
|
| MD5 |
3841d2fde152b10b93c0e1b5f89a369f
|
|
| BLAKE2b-256 |
a24fc6e844edb40e02fcadf7a2a77f366e9f6bed774f75b4915c820e8dc572b2
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp311-cp311-win_amd64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp311-cp311-win_amd64.whl -
Subject digest:
eb85a59fc12b30a70faae7fad4536680845aa343771a674db9b5fcd1a4c2fb94 - Sigstore transparency entry: 864116731
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp311-cp311-win32.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp311-cp311-win32.whl
- Upload date:
- Size: 654.1 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88f9a8f5b686e9f955805257a52fa0d48c23cba2fca9516283ce9a6017571cfa
|
|
| MD5 |
730be9c370ab7bcaf219ca28c091c1b3
|
|
| BLAKE2b-256 |
efc391e32681ad22bd5381f303a23e148071a1b10dd1e7b97789045eba6f2029
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp311-cp311-win32.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp311-cp311-win32.whl -
Subject digest:
88f9a8f5b686e9f955805257a52fa0d48c23cba2fca9516283ce9a6017571cfa - Sigstore transparency entry: 864116722
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaa2f02104ff7415afb40a2c569dd8203b0613844e213c783fdefc156e43070f
|
|
| MD5 |
6237d333487fb06d3c6ada0124b252d4
|
|
| BLAKE2b-256 |
0d7a59945d2946d1fbfbe87f4510f3732600cba1a2efed2f9ebf070227d02daf
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl -
Subject digest:
aaa2f02104ff7415afb40a2c569dd8203b0613844e213c783fdefc156e43070f - Sigstore transparency entry: 864116725
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86c74783054ab1161d89e376e2e1ee8e057b9e8f6b980e0b6c1b26d906e51e4c
|
|
| MD5 |
bdde851b97a9c5ed71a45ade5aab05be
|
|
| BLAKE2b-256 |
0e2c1e8f71ac661bc39008d01a312b6f42b50bd9d340d75b83304e8ac62391e8
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
86c74783054ab1161d89e376e2e1ee8e057b9e8f6b980e0b6c1b26d906e51e4c - Sigstore transparency entry: 864116727
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 722.9 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
959204eeecf6183dbb6ea5cf02ed1c6da108b49e451f548dad7f85d9e26d210f
|
|
| MD5 |
881571ad23f6f478cd3739385b38281c
|
|
| BLAKE2b-256 |
9d04c81e4969ebadeffe771008b67900ec191821454d847a8ab83bc16b244bde
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
959204eeecf6183dbb6ea5cf02ed1c6da108b49e451f548dad7f85d9e26d210f - Sigstore transparency entry: 864116748
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 685.9 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
003d20fdb432f9c164074555bb2ae579449c7f1ab0f9de75f27b7d9824366a90
|
|
| MD5 |
b6a9b009a169f196dbfe793f78cdeb57
|
|
| BLAKE2b-256 |
7c44e218bd2e8e0ed3424004b9d4106add83bba9774d11cf2527eae50ef240d8
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp310-cp310-win_amd64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp310-cp310-win_amd64.whl -
Subject digest:
003d20fdb432f9c164074555bb2ae579449c7f1ab0f9de75f27b7d9824366a90 - Sigstore transparency entry: 864116742
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp310-cp310-win32.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp310-cp310-win32.whl
- Upload date:
- Size: 655.4 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ede2762045aeb114126b09b2396ff204581e6cbca3e251da64889c7b553d3e5c
|
|
| MD5 |
b9c8e455a4c5ac2d223515f75f6fcd36
|
|
| BLAKE2b-256 |
6208cdc2de2556c145220e3defc717194d2dd3de77f38ff091e26e3b04597d52
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp310-cp310-win32.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp310-cp310-win32.whl -
Subject digest:
ede2762045aeb114126b09b2396ff204581e6cbca3e251da64889c7b553d3e5c - Sigstore transparency entry: 864116734
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2c73e5e8c88cad4145deef1531fa9338c8aef78a842ebf13ce36d95cc310c8e
|
|
| MD5 |
4f6a5f29525174e6ffa1d4f972897541
|
|
| BLAKE2b-256 |
9b7170ca9fa77ece4043c23cbb1b82b2c3c0061e9166decbc33cdafb2bee65f9
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp310-cp310-musllinux_1_2_x86_64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp310-cp310-musllinux_1_2_x86_64.whl -
Subject digest:
b2c73e5e8c88cad4145deef1531fa9338c8aef78a842ebf13ce36d95cc310c8e - Sigstore transparency entry: 864116744
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b98880869dd27dd0e2364565d972e20b202b7d71d5f6af34a0da25fe9201762d
|
|
| MD5 |
8f075140cd6cdaad7c60011b6ddd73ac
|
|
| BLAKE2b-256 |
23897539165ef1e7f0ddde831e9b94cdbc8090c2db7eb2a5632a7a09c9fb694a
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
b98880869dd27dd0e2364565d972e20b202b7d71d5f6af34a0da25fe9201762d - Sigstore transparency entry: 864116747
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file zen_fronts-1.0.5-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: zen_fronts-1.0.5-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 725.4 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05f37b0966b9a60af64db672dca0977792cdbf77dc7228662b7a3d55f45a7fa0
|
|
| MD5 |
523e4bd32567d61dc7d75a11a73a3841
|
|
| BLAKE2b-256 |
496794c5b905b2f1bc8107ebb5fa172019f0700695617fd45af1d0777ff598dd
|
Provenance
The following attestation bundles were made for zen_fronts-1.0.5-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
publish.yml on TovarnovM/zen_fronts
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zen_fronts-1.0.5-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
05f37b0966b9a60af64db672dca0977792cdbf77dc7228662b7a3d55f45a7fa0 - Sigstore transparency entry: 864116750
- Sigstore integration time:
-
Permalink:
TovarnovM/zen_fronts@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/TovarnovM
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f1d6e668eb36229c636c162b1be960004c6b93f0 -
Trigger Event:
workflow_dispatch
-
Statement type: