Modular state estimation building blocks — UKF, IMM, and multi-sensor fusion in C++ with Python bindings
Project description
quakfilter
QUAternion C++ Kalman Filter — a high-performance Unscented Kalman Filter library in C++ with Python bindings, designed for real-time 6-DoF rigid body pose tracking.
pip install quakfilter
import numpy as np
from quak import UKF, RigidBodyCVModel
model = RigidBodyCVModel()
x0 = np.zeros(16); x0[9] = 1.0 # identity quaternion
ukf = UKF(model, Q=np.eye(15)*0.01, R=np.eye(6)*0.001, P0=np.eye(15)*0.1, x0=x0)
ukf.predict(dt=0.01)
ukf.correct(measurement) # 7D: [px, py, pz, qw, qx, qy, qz]
Features
- Manifold-aware UKF — proper quaternion handling via boxPlus/boxMinus operations and Markley's quaternion mean
- 16D state / 15D error-state — position, velocity, acceleration, unit quaternion orientation, angular velocity
- Multiple motion models — Constant Velocity (CV), Helical, Constant Turn-Rate-and-Velocity (CTRV), Constant Acceleration (CA), Singer maneuvering target
- IMM Estimator — Interacting Multiple Model with Markov switching, log-likelihood model probabilities, single-model fast path
- TrackPool — Multi-object IMM pool with UUID handles, active/suspended partitioning, OpenMP-parallel predict, selective correct
- Temporal state layer —
predictTo(timestamp)for absolute-time sync,getSnapshotAt(t)for non-mutating previews,StateEstimateoutput containers, per-track timestamps - Multi-sensor fusion — PoseSensor, VelocitySensor, ProjectiveBBoxSensor with
correct(z, sensor)overload - Projective model — Camera-based 2D bounding box tracking via 3D→2D projection (composable with any dynamics model)
- Sigma point schemes — Symmetric (2n) and Merwe Scaled (2n+1) with
scaled_sigma_pointsflag - Python bindings — Zero-copy interop via nanobind + Eigen
- Numerical stability — SVD/LDLT selection, log-space likelihoods, covariance symmetrization, eigenvalue regularization
State Vector Layout
Index: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Field: px py pz vx vy vz ax ay az qw qx qy qz wx wy wz
├─ pos ─┤ ├─ vel ─┤ ├─ acc ─┤ ├── quat ──┤ ├ω─┤
└────────────────── 16D state ───────────────────────┘
└────────────────── 15D error (tangent) ─────────────┘
Quick Start
Build & Install
# Prerequisites: Python 3.10+, CMake 3.15+, OpenMP, Eigen3 (auto-fetched if missing)
pip install .
Python Usage
import numpy as np
from quak import UKF, RigidBodyCVModel, RigidBodyCTRVModel
# Choose a motion model
model = RigidBodyCVModel() # or RigidBodyCTRVModel, RigidBodyCAModel, etc.
x0 = np.zeros(16)
x0[9] = 1.0 # identity quaternion [qw]
P0 = np.eye(15) * 0.1
Q = np.eye(15) * 0.01
R = np.eye(6) * 0.001
ukf = UKF(model, Q, R, P0, x0)
# Predict-correct loop
ukf.predict(dt=0.01)
ukf.correct(measurement) # 7D: [px, py, pz, qw, qx, qy, qz]
state = ukf.state # 16D state estimate
P = ukf.covariance # 15×15 error covariance
Multi-Sensor Fusion
from quak import PoseSensor, VelocitySensor
pose_sensor = PoseSensor(R_pose)
vel_sensor = VelocitySensor(R_vel)
ukf.predict(dt=0.01)
ukf.correct(z_pose, sensor=pose_sensor)
ukf.correct(z_vel, sensor=vel_sensor)
IMM Usage
from quak import IMMEstimator, RigidBodyCVModel, RigidBodyCTRVModel
cv = RigidBodyCVModel()
ctrv = RigidBodyCTRVModel()
imm = IMMEstimator([cv, ctrv], [Q_cv, Q_ctrv], R, P0, x0)
imm.predict(dt=0.01)
imm.correct(measurement)
probabilities = imm.model_probabilities # [p_cv, p_ctrv]
TrackPool Usage
from quak import TrackPool, TimeMode, RigidBodyCVModel, RigidBodyCTRVModel
pool = TrackPool([RigidBodyCVModel(), RigidBodyCTRVModel()],
[Q_cv, Q_ctrv], R, P0)
pool.add("track_0", initial_state, time=0.0) # every add requires a timestamp
pool.predict(dt=0.01) # all tracks in parallel
pool.correct(["track_0"], z) # selective update
pool.suspend("track_0") # skip from predict
pool.resume("track_0") # re-activate
pool.remove("track_0") # delete track
Temporal Operations
# Absolute-time mode: sync all tracks to a wall-clock timestamp
pool.add("track_a", state_a, time=100.0)
pool.add("track_b", state_b, time=102.0)
pool.predict_to(105.0) # A gets dt=5, B gets dt=3
# Non-mutating preview at a future time
snapshot = pool.get_snapshot_at(106.0) # list of StateEstimate
for est in snapshot:
print(est.track_id, est.state[:3], est.timestamp)
Architecture
csrc/include/quak/
├── models.hpp UKFModel / SystemModel / MeasurementModel base classes
├── models_impl.hpp CV, Helical, CTRV, CA, Singer motion models
├── projective_model.hpp Projective bounding box measurement model
├── manifolds.hpp Euclidean + Quaternion manifold operations
├── ukf.hpp Core UKF (predict/correct, LDLT+SVD, workspaces)
├── imm.hpp IMM estimator (Markov switching, log-likelihood)
└── track_pool.hpp Multi-object IMM pool (TrackPool)
csrc/bindings.cpp nanobind Python bindings
Coding Style
This project follows the Vistralis C++ Coding Style:
- Allman braces, 4-space indent, 100-char line limit
- camelCase methods, mCamelCase members, PascalCase classes
- No abbreviations —
measurementnotmeas,stateSizenotstateSz - Numerical stability — LDLT/SVD solvers, log-space likelihoods, eigenvalue regularization
- Formatting:
clang-format(C++),ruff(Python)
Documentation
| Topic | Link |
|---|---|
| System Architecture | docs/architecture.md |
| UKF Reference | docs/ukf-reference.md |
| Q/R Tuning Guide | docs/tuning.md |
| Tutorials & Examples | docs/tutorials.md |
| Coding Style | docs/coding-style.md |
License
Apache-2.0 — see LICENSE for details.
Copyright (c) 2026 Vistralis Labs. All rights reserved.
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 quakfilter-0.1.0.tar.gz.
File metadata
- Download URL: quakfilter-0.1.0.tar.gz
- Upload date:
- Size: 99.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df4f551fb46f620dc3b0552cffc08248e753af18018f9bfc9a78f8afa9b02af0
|
|
| MD5 |
3dcef8651d16f9b65691fa8ab9b7c71f
|
|
| BLAKE2b-256 |
13e35944c82444b82c6b1f181cb84b9bf1e5864d9d21ab9710fc5b61113ed295
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0.tar.gz:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0.tar.gz -
Subject digest:
df4f551fb46f620dc3b0552cffc08248e753af18018f9bfc9a78f8afa9b02af0 - Sigstore transparency entry: 1092074735
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.14, manylinux: glibc 2.27+ 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 |
6d031e0cf7c3717eb1b7ccb01b047a02c2d7b5e117e496236617764d557a2140
|
|
| MD5 |
e5f182ae25e5d78e6c8a5c8db76cc8c8
|
|
| BLAKE2b-256 |
a318a4343b3b1234891d711ef212e13803629763e1fa71c91289a8e08a5dc48b
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
6d031e0cf7c3717eb1b7ccb01b047a02c2d7b5e117e496236617764d557a2140 - Sigstore transparency entry: 1092074779
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.14, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a342db2b92b3d19f0198faa9fa3e221c24fc6d1a3c4746de1f6dc7d3e48d96ad
|
|
| MD5 |
498054b2ffd1d109202ffa2097b8dbd9
|
|
| BLAKE2b-256 |
ba0a32ccb55744c42f82bf943345a68bafaa14a286230165a32acdc781f03f47
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
a342db2b92b3d19f0198faa9fa3e221c24fc6d1a3c4746de1f6dc7d3e48d96ad - Sigstore transparency entry: 1092074747
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp314-cp314-macosx_14_0_arm64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp314-cp314-macosx_14_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.14, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34eecae70e6c4cde7842345f64d4d1cd4b7880251370138b3998538d8b6c97f1
|
|
| MD5 |
49181a0806ee3ceaa3e4268a5f67154a
|
|
| BLAKE2b-256 |
90b2eb4d153032a481655636cc2d72045729e3ee69e34d75727a93ed2edcb511
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp314-cp314-macosx_14_0_arm64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp314-cp314-macosx_14_0_arm64.whl -
Subject digest:
34eecae70e6c4cde7842345f64d4d1cd4b7880251370138b3998538d8b6c97f1 - Sigstore transparency entry: 1092074794
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.27+ 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 |
ae85a9e1b22162bf72209112c9b1bc5e49ec6d9455dafbf608d03f1f1fbe0abe
|
|
| MD5 |
f8d4623536bd95b985ea9a360812a2f7
|
|
| BLAKE2b-256 |
723f3978597ba2fd3b2805b9d840b5bb3cfa4dd3fa1c685f6d77acc334df4c84
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
ae85a9e1b22162bf72209112c9b1bc5e49ec6d9455dafbf608d03f1f1fbe0abe - Sigstore transparency entry: 1092074792
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.13, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
864a0a7303bc863d93ba39c2cce67dc4f47b66eac63a6ebf8344ff09e8da0253
|
|
| MD5 |
d5060aaad1ace295718c7601f7918a51
|
|
| BLAKE2b-256 |
fa9a467cbb54f1d6e0b35ebaf45ab58b792f09d51200d3af4e083610a3f10362
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
864a0a7303bc863d93ba39c2cce67dc4f47b66eac63a6ebf8344ff09e8da0253 - Sigstore transparency entry: 1092074783
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp313-cp313-macosx_14_0_arm64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp313-cp313-macosx_14_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.13, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43c93a2b7df0dd7d67ca83d865fd6b651e660c20ac47cb351c3647b31c48b800
|
|
| MD5 |
f608ff1eecc7523fb2ab296aa51e9239
|
|
| BLAKE2b-256 |
444e48a95ed446856788ac92ee92b7b444cbba7b44e1ebd2e91d56de5511743f
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp313-cp313-macosx_14_0_arm64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp313-cp313-macosx_14_0_arm64.whl -
Subject digest:
43c93a2b7df0dd7d67ca83d865fd6b651e660c20ac47cb351c3647b31c48b800 - Sigstore transparency entry: 1092074755
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.27+ 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 |
aafc7ffb4d37c35a370919187e4bb84a0ee1d0dea26951ae269b968e72d6693f
|
|
| MD5 |
efe99f65661402a733eb6371ff2134ba
|
|
| BLAKE2b-256 |
ad0f90ea8e2a50cb23205a6c6e0904668be7289df9cae4feaedfe4b6c879f5d8
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
aafc7ffb4d37c35a370919187e4bb84a0ee1d0dea26951ae269b968e72d6693f - Sigstore transparency entry: 1092074752
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7347b2b9217c6ea652b59e68aaede7bebae7cff5114b39c9db728fc48d1334bd
|
|
| MD5 |
844f91f81e76d350278b0a49f49d2c9c
|
|
| BLAKE2b-256 |
1541f11a2f326ca63f25819b3f540f97c64ac9655bc2360db9d464433ed7b54b
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
7347b2b9217c6ea652b59e68aaede7bebae7cff5114b39c9db728fc48d1334bd - Sigstore transparency entry: 1092074765
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp312-cp312-macosx_14_0_arm64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp312-cp312-macosx_14_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.12, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0659e270b05064bd60dfcbdedb9e8026ef9159f7f82da479b04202506f76ccc7
|
|
| MD5 |
72d7995b16b3044ea6a25bf2b62db337
|
|
| BLAKE2b-256 |
c5528659b3e631de883e0c0f87d2cf89887db5fcd2e80719bea00622d94b060f
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp312-cp312-macosx_14_0_arm64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp312-cp312-macosx_14_0_arm64.whl -
Subject digest:
0659e270b05064bd60dfcbdedb9e8026ef9159f7f82da479b04202506f76ccc7 - Sigstore transparency entry: 1092074796
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.27+ 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 |
2daa48e7baff0c01a77f6aa243404621e1c267dfda758e5446210913fed7f4ae
|
|
| MD5 |
868d615435d8ebfca457731cf1168dff
|
|
| BLAKE2b-256 |
e7da833747a79eebd8e47ecef9079442b3a7d85ac2db8ae3370ca44f4a953bd0
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
2daa48e7baff0c01a77f6aa243404621e1c267dfda758e5446210913fed7f4ae - Sigstore transparency entry: 1092074787
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f643b8162e9ef6cb01ff8bd8a72463c1271c1adb1fc2b35f20766bd92c6b8b9d
|
|
| MD5 |
076bcb6c477aba65b0f8c3bf299399bc
|
|
| BLAKE2b-256 |
352b542172f7c9a57ba97a03111251b97c2833628c1d0058acb144243de6bb26
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
f643b8162e9ef6cb01ff8bd8a72463c1271c1adb1fc2b35f20766bd92c6b8b9d - Sigstore transparency entry: 1092074760
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp311-cp311-macosx_14_0_arm64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp311-cp311-macosx_14_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.11, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3088f60abaa7a0f050e8e7f42cf0646de63f2306728278d35a136d3309a46b00
|
|
| MD5 |
7fd4889aa2d48192798fd825101b5b5f
|
|
| BLAKE2b-256 |
5aaf162d6bdfc5fe9e793796b94ace54e1a38143aa6dc16ef5d60154efb5a884
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp311-cp311-macosx_14_0_arm64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp311-cp311-macosx_14_0_arm64.whl -
Subject digest:
3088f60abaa7a0f050e8e7f42cf0646de63f2306728278d35a136d3309a46b00 - Sigstore transparency entry: 1092074741
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.27+ 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 |
c8444d376e95985d8ef11aaafb737d3bf9a29c8f560937af67d5cfe658f19406
|
|
| MD5 |
d4ead4a479fbbaea31a24585c22a853e
|
|
| BLAKE2b-256 |
9a381fa19c5a6a4675ee3b2fc5ad2e3d4115910ab7f7fd8b71e7ab7c0602c73d
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
c8444d376e95985d8ef11aaafb737d3bf9a29c8f560937af67d5cfe658f19406 - Sigstore transparency entry: 1092074772
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.26+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad92720cda53a5ab5f685883bc7530200b1aa21653ef5cd764a5a713147fdbee
|
|
| MD5 |
6b51464f8dc6274937f60c4c0e0106b9
|
|
| BLAKE2b-256 |
9230f8dfaf05a9a4ba012e2552ca149d58a6f45dd4bd0626466e7d937fea0478
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl -
Subject digest:
ad92720cda53a5ab5f685883bc7530200b1aa21653ef5cd764a5a713147fdbee - Sigstore transparency entry: 1092074773
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type:
File details
Details for the file quakfilter-0.1.0-cp310-cp310-macosx_14_0_arm64.whl.
File metadata
- Download URL: quakfilter-0.1.0-cp310-cp310-macosx_14_0_arm64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.10, macOS 14.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8ef16db7f7148f942bc111b6178e8b5f0bdfe9d92b5b228d3c6548a11854f4f
|
|
| MD5 |
12ef80525585b98d9b867eee1c705c07
|
|
| BLAKE2b-256 |
6dafc9c45c2c4fbcd5ce3a77ba9fe398a9d56d495c9bcc23fb3d4dcd80630e25
|
Provenance
The following attestation bundles were made for quakfilter-0.1.0-cp310-cp310-macosx_14_0_arm64.whl:
Publisher:
release.yml on vistralis/quakfilter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quakfilter-0.1.0-cp310-cp310-macosx_14_0_arm64.whl -
Subject digest:
b8ef16db7f7148f942bc111b6178e8b5f0bdfe9d92b5b228d3c6548a11854f4f - Sigstore transparency entry: 1092074768
- Sigstore integration time:
-
Permalink:
vistralis/quakfilter@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/vistralis
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@deabb40c7e23f5a6ca74d870a9b2d14b0109cb6e -
Trigger Event:
push
-
Statement type: