ultravin
An extremely fast, fully offline NHTSA vPIC VIN decoder, written in Rust.
VINs decoded per second over a random corpus, single sequential caller — ultravin also batches across cores.
- ⚡️ ~0.042 ms per decode — orders of magnitude faster than the NHTSA SQL procedures (corgi, Postgres, MSSQL)
- 🦀 Pure Rust core, shipped as a Python library and a Rust crate
- 📦 The entire vPIC vehicle database baked into the wheel
- 🔌 Fully offline — no network, no database, no data files at runtime
- 🎯 Byte-for-byte parity with vPIC's
spVinDecode, verified across every decodable VIN — except documented vPIC defects, which ultravin deliberately does not reproduce (the registry, evidence) - 🐍 Installable via
pip, with a CLI and a library API - 🧵 Batches in parallel to ~82,000 VIN/s on 4 cores
- 🗃️ Parquet in, parquet out — decodes a dataset of any size in the memory of one chunk
ultravin is a faithful port of NHTSA's spVinDecode — the SQL procedure behind
vPIC — reimplemented in Rust and verified against the reference Postgres
implementation. Because the vehicle database ships inside the binary, decoding
needs no network, no database server, and no data files. Install it and decode.
Getting Started
Installation
uv add ultravin
Prebuilt wheels require Python 3.10+ and nothing else — the data ships inside the wheel.
Usage
From Python:
import ultravin
r = ultravin.decode("1HGCM82633A004352")
r["model_year"] # 2003
r["wmi"] # '1HG'
r["check_digit_valid"] # True
r["error_codes"] # [0]
# `elements` is the full decoded attribute list, one dict per attribute:
r["elements"][0] # {'variable': 'Make', 'value': 'HONDA', 'source': ..., …}
decode(vin) returns a dict with keys vin, wmi, descriptor,
model_year, error_codes, check_digit_valid, corrected_vin, and
elements — a list of per-attribute dicts (group_name, variable, value,
element_id, source, …). Decode many at once with decode_batch:
results = ultravin.decode_batch(["1HGCM82633A004352", "5YJ3E1EA7JF000000"])
If you already know a vehicle's model year, pass it — the same optional hint the
vPIC API calls modelyear. It matters for pre-2010 vehicles, where the VIN's
year character is ambiguous (A means 1980 or 2010): the hinted year gets its
own decode pass that competes against the VIN-derived one, and a hint that
contradicts the decoded year adds error code 12.
ultravin.decode("1HGCM82633A004352", year=1995) # decodes as a 1995
ultravin.decode_batch(vins, years=[2011, None, 1987]) # one entry per VIN
If you only want the values, pass flat=True and skip the per-attribute dicts
entirely — ~2× faster end to end. Decoding is no longer the expensive part;
building ~615 dict entries per VIN is:
r = ultravin.decode("1HGCM82633A004352", flat=True)
r["attributes"]["Make"] # 'HONDA'
r["attributes"]["Model"] # 'Accord'
flat=True replaces elements with attributes, a single variable -> value
mapping (header keys are unchanged), and works the same on decode_batch,
decode_json and decode_batch_json. Two things to know:
- Values are
str, except the free-text note fields listed inultravin.MULTI_VALUED, which are alwayslist[str]— those are the only vPIC elements allowed to repeat within one decode, and each row is a separate note rather than a competing value. - It keeps the value and drops the provenance. If you need to know where a
value came from (
source— over half of all rows are vehicle-type defaults rather than something the VIN encodes), or the raw vPICattribute_id, use the default shape.
ultravin.ELEMENTS maps each variable name to its static metadata
(element_id, group_name, data_type, …). Pin to element_id if you need a
key that survives NHTSA renaming a variable between data releases.
From the command line:
ultravin decode 1HGCM82633A004352 # human-readable table
ultravin decode 1HGCM82633A004352 --json # full JSON
ultravin decode 1HGCM82633A004352 --flat # values only, no provenance
ultravin decode-batch vins.txt --json # one VIN per line
ultravin version
Rust
The engine is its own crate, ultravin:
cargo add ultravin, then
let r = ultravin::decode("1HGCM82633A004352", None);
assert_eq!(r.model_year, Some(2003));
The 83 MB vPIC database is too big for crates.io, so the first build fetches it from the matching GitHub release, verifies it, caches it per machine and bakes it into your binary — runtime stays fully offline. Offline builds and runtime loading: crates/ultravin/README.md.
Datasets
For bulk work there is a parquet door — parquet in, parquet out, without a single row ever becoming a Python object:
import ultravin
rows = ultravin.decode_parquet("registrations.parquet", "decoded.parquet", codes=["Make", "Model"])
rows # 4812004 — the rows written, not the rows themselves
The VIN column is found by name (vin, case-insensitively) and then by sniffing
the leading rows, as is the optional caller-year column (year, model_year,
…); pass vin=/year= to name them outright. Pick the projection with codes=
(vPIC variable names) or ids= (element_ids, the key that survives NHTSA
renaming a variable), or omit both for every publicly decodable element. The
output holds the VIN and caller year passed through, then decoded_model_year
(named so it cannot collide with an input column called model_year), then one
column per projected element — string, int64 or float64 following vPIC's own
data_type, with an empty value written as null. A source that is a directory
works wherever a file does: every *.parquet in it is read in sorted order as
one stream.
Rows stream through in batch_size chunks with the GIL released, so peak memory
is one chunk no matter how large the source is. Leave the destination out to get
the whole decode back as {column: [values]} (small inputs only), or iterate
ParquetBatchIter to stream it a chunk at a time:
for chunk in ultravin.ParquetBatchIter("registrations.parquet", ids=[26], batch_size=100_000):
chunk["Make"][:2] # ['HONDA', 'FORD']
Reading and writing parquet is the same Rust as the decoding, so this needs no pyarrow and no other install.
From the command line:
ultravin decode-parquet registrations.parquet decoded.parquet --codes Make,Model
ultravin decode-parquet parts/ decoded.parquet --ids 26,28 --vin chassis_no
Benchmarks
How many VINs each engine decodes per second, single sequential caller, over an identical random corpus of 5,000 valid VINs (measured over 60 s; Apple Silicon, batched across 4 cores):
| engine | VIN/s | vs ultravin (1 core) |
|---|---|---|
| ultravin — batched, 4 cores | 81,948 | ~3.3× faster |
| ultravin — 1 core | 25,175 | 1× |
corgi v3 — @cardog/corgi (binary index) |
~83 | ~303× slower |
corgi v2 — @cardog/corgi 2.0.1 (SQLite) |
~33 | ~763× slower |
NHTSA MSSQL — spVinDecode (SQL Server) |
22.5 | ~1,119× slower |
NHTSA Postgres — spvindecode |
19.5 | ~1,291× slower |
| NHTSA vPIC web API — public rate limit | ~10 | ~2,518× slower |
ultravin runs in-process with the database embedded — no server, no round-trip.
The corgi figures are derived from its project's published per-VIN latency
(~12 ms v3 / ~30 ms v2, not re-measured here). The NHTSA Postgres and MSSQL
oracles run the unmodified spVinDecode over localhost; MSSQL is SQL Server
under amd64 emulation on Apple Silicon, so its number understates native
hardware — ultravin is still ~1,119× faster. The NHTSA vPIC web API row is its
published ~10 req/s rate limit, not
a decode time — a hard ceiling regardless of hardware. Methodology and
reproduction: docs/BENCHMARKS.md.
License
MIT. The embedded NHTSA vPIC data has its own provenance — see NOTICE.
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 ultravin-1.2.0.tar.gz.
File metadata
- Download URL: ultravin-1.2.0.tar.gz
- Upload date:
- Size: 21.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
412aef88e94963fc6a17a06d1289aa01a04b7382570adcbda335697e8c302807
|
|
| MD5 |
8e3157b77aae7f78bf52d55e2341ea30
|
|
| BLAKE2b-256 |
8d6968f43f2cb9a0d6e5ab8d229977af6afe85da031e9ac5c11c42e1b71b3f15
|
Provenance
The following attestation bundles were made for ultravin-1.2.0.tar.gz:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0.tar.gz -
Subject digest:
412aef88e94963fc6a17a06d1289aa01a04b7382570adcbda335697e8c302807 - Sigstore transparency entry: 2581365285
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-win_arm64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-win_arm64.whl
- Upload date:
- Size: 25.3 MB
- Tags: CPython 3.10+, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ffff6d5cbbbad3d7e65a872578920e004420bea7199eb1989593b5bd5a7dd5ee
|
|
| MD5 |
d459c0c5b29f3b68d0897d7fa16cec7b
|
|
| BLAKE2b-256 |
d1c3034b55127b84c643d4a6af40f58980e41dc8945987a8f7854851d532dac3
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-win_arm64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-win_arm64.whl -
Subject digest:
ffff6d5cbbbad3d7e65a872578920e004420bea7199eb1989593b5bd5a7dd5ee - Sigstore transparency entry: 2581365385
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-win_amd64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-win_amd64.whl
- Upload date:
- Size: 25.7 MB
- Tags: CPython 3.10+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dcbfa4e6622010ba9dbb52d39de8be4f53bd445bbf648c8fc76cf49a442b8a8
|
|
| MD5 |
d3d1fe7dc526c9a1686f991e4f082f55
|
|
| BLAKE2b-256 |
21fff536c158ac3635411c9c2926d502991bf5fe339acb590c06491392ecf1fc
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-win_amd64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-win_amd64.whl -
Subject digest:
0dcbfa4e6622010ba9dbb52d39de8be4f53bd445bbf648c8fc76cf49a442b8a8 - Sigstore transparency entry: 2581365615
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-win32.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-win32.whl
- Upload date:
- Size: 25.2 MB
- Tags: CPython 3.10+, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
998c18200dc7f482930c39f0bbc34228049ee6bb9d548a9a71704586ff233990
|
|
| MD5 |
970a832ca2c94597cde527fcde7a3169
|
|
| BLAKE2b-256 |
6c0c974fc9d1e97cf0583ba78708c345d4ca6608348c7ba36de7325fa2492cf7
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-win32.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-win32.whl -
Subject digest:
998c18200dc7f482930c39f0bbc34228049ee6bb9d548a9a71704586ff233990 - Sigstore transparency entry: 2581365321
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 25.9 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.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1be2a1f812159acc9e839b7de49a0c1c61721ddb5ba04effc1fb3614aef3727
|
|
| MD5 |
6201b5f4fa5704ac6d3ba01d4d827498
|
|
| BLAKE2b-256 |
1e129d4cc3ac842ba329bb40bc6239da9da9c14895f87f7233da7e9ca4b961c2
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl -
Subject digest:
c1be2a1f812159acc9e839b7de49a0c1c61721ddb5ba04effc1fb3614aef3727 - Sigstore transparency entry: 2581365543
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl
- Upload date:
- Size: 25.9 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf8e04e550c7408f2092d1a852e8af474494aae7b8ebdddd39670eca345be72a
|
|
| MD5 |
244a9084314f201deb7759c2aea562b7
|
|
| BLAKE2b-256 |
04f9f99b45a4a41a22daea9aa6a166025c44b12f1a565c79c520d75f6d2478f9
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl -
Subject digest:
bf8e04e550c7408f2092d1a852e8af474494aae7b8ebdddd39670eca345be72a - Sigstore transparency entry: 2581365367
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 26.1 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9edf48dd14dd10eff9bcdb1663a310fdec8a9ad9b893e8b0cfe0cb45be6057cc
|
|
| MD5 |
d14de45bc76b3e9c0bfb3e603b8f1652
|
|
| BLAKE2b-256 |
182a8a85e4a6f5988fd3887b0a802a248fce36aad294d42f168a5e07eedb2a60
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl -
Subject digest:
9edf48dd14dd10eff9bcdb1663a310fdec8a9ad9b893e8b0cfe0cb45be6057cc - Sigstore transparency entry: 2581365501
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 25.6 MB
- Tags: CPython 3.10+, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88dd48980df66eaed58881152f68a4c24a0c50188597e4dce171fcbe6d7e06d9
|
|
| MD5 |
c24336d24eeeff7aa76312a86e42395e
|
|
| BLAKE2b-256 |
bb2e57dfa56646648cf8553fc4d47f389b66a76eaf4def3dc5bba99cae690ed9
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl -
Subject digest:
88dd48980df66eaed58881152f68a4c24a0c50188597e4dce171fcbe6d7e06d9 - Sigstore transparency entry: 2581365300
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl
- Upload date:
- Size: 25.8 MB
- Tags: CPython 3.10+, manylinux: glibc 2.31+ riscv64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8f0b5943607e52b42f3909779463b91345f6ed3fcb20511925054b1e42fc4d1
|
|
| MD5 |
daf36bb158c91cf64ba7561a0b642571
|
|
| BLAKE2b-256 |
7807b49bc90ef0c176460c256f5c95ffa9b928209fb0d15d288e8995d042b783
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl -
Subject digest:
b8f0b5943607e52b42f3909779463b91345f6ed3fcb20511925054b1e42fc4d1 - Sigstore transparency entry: 2581365458
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 25.4 MB
- Tags: CPython 3.10+, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6d805e35c5fd151d686d383cd1daa1b06aa6c652b46ca4c3e3a83d092bcb4bf
|
|
| MD5 |
5b3e23965c8682cf086f96b4de378136
|
|
| BLAKE2b-256 |
a3d8436a60ae32d84f7b782f76344fc127303da4c1fa7cd0ac50529b109d42c1
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl -
Subject digest:
d6d805e35c5fd151d686d383cd1daa1b06aa6c652b46ca4c3e3a83d092bcb4bf - Sigstore transparency entry: 2581365414
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 25.7 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3cf97d3b98a2dc52039bffc046e8c35de4ac685bb399399a64ec984ecde7cc3
|
|
| MD5 |
0342fef2c98d934741cbf40971e82381
|
|
| BLAKE2b-256 |
661fd79689cb069b2e324ba6389ba4885d918b239551a81c294a9eb3f927e642
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
f3cf97d3b98a2dc52039bffc046e8c35de4ac685bb399399a64ec984ecde7cc3 - Sigstore transparency entry: 2581365398
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 26.2 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
82b0c741a804147f1961b27c5c265a369cfde4a750e2087410147c621e5a6fb2
|
|
| MD5 |
ba7a0c9cbc056c83a170aea5bb25de1d
|
|
| BLAKE2b-256 |
954f3a97e2e94803012804c7598279660b840e649738c4256dc04991021aa32b
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl -
Subject digest:
82b0c741a804147f1961b27c5c265a369cfde4a750e2087410147c621e5a6fb2 - Sigstore transparency entry: 2581365450
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 25.9 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e38c75a66ebd13984377838391fac1358f09da1ae306116ae4c8c0420fe11ddc
|
|
| MD5 |
0dad8fa3841bcc94c0c752839858fe97
|
|
| BLAKE2b-256 |
47f93f045d21765c6efd10685a48cd616ed7bc61f9c60c3de27ea3084ad5cea2
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl -
Subject digest:
e38c75a66ebd13984377838391fac1358f09da1ae306116ae4c8c0420fe11ddc - Sigstore transparency entry: 2581365470
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 25.9 MB
- Tags: CPython 3.10+, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
482be30132f16c4773dc07cb5f3722bf5e429b7876079bfa9941dad54492a737
|
|
| MD5 |
cead860ad7320cd94d16b592580f047e
|
|
| BLAKE2b-256 |
2a65857b9d2c173525d3e446eeac5d83fc228d0aed714e3638dcc132f665a631
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl -
Subject digest:
482be30132f16c4773dc07cb5f3722bf5e429b7876079bfa9941dad54492a737 - Sigstore transparency entry: 2581365437
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
- Upload date:
- Size: 25.9 MB
- Tags: CPython 3.10+, manylinux: glibc 2.12+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
40bb913792b97cd6685b9ee5c4a6168a1c2a003573e44e38959a1136a74d7d74
|
|
| MD5 |
47ce7869336399d37073ac523828e46d
|
|
| BLAKE2b-256 |
ca9bd9b2c1d23ef9ab606998e96e7d777505f1eaf42c21da994b3acac297919a
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl -
Subject digest:
40bb913792b97cd6685b9ee5c4a6168a1c2a003573e44e38959a1136a74d7d74 - Sigstore transparency entry: 2581365569
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 25.9 MB
- Tags: CPython 3.10+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04c0ad6c29438a9e3988771a12985e6e853880366905a01d694ae65f0d4b9f72
|
|
| MD5 |
4ba034554c47ffc0284fa8ea8cc5f9ee
|
|
| BLAKE2b-256 |
84874fa5a2d33641261315a81a000f5c5f3a5266640a7d8a00fc5f03210fb86d
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl -
Subject digest:
04c0ad6c29438a9e3988771a12985e6e853880366905a01d694ae65f0d4b9f72 - Sigstore transparency entry: 2581365347
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl.
File metadata
- Download URL: ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl
- Upload date:
- Size: 25.5 MB
- Tags: CPython 3.10+, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27f7110acc77ad12fc437dc886b51b7c8b4fd91dd43d23dc776e1d0e5071e08f
|
|
| MD5 |
424c23f8351e57b1e6cf2b91edcfeefb
|
|
| BLAKE2b-256 |
b7028988a3f8a580bae0c9ac7e07ed4a654579d00e4068c9bd59602ea9842dc5
|
Provenance
The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl:
Publisher:
release.yaml on blackthorn-interstellar/ultravin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl -
Subject digest:
27f7110acc77ad12fc437dc886b51b7c8b4fd91dd43d23dc776e1d0e5071e08f - Sigstore transparency entry: 2581365585
- Sigstore integration time:
-
Permalink:
blackthorn-interstellar/ultravin@8bd5d409b75c08d651cd9645a695777c596998d6 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/blackthorn-interstellar
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@8bd5d409b75c08d651cd9645a695777c596998d6 -
Trigger Event:
push
-
Statement type: