Skip to main content

ultravin

CI Status PyPI Version License

An extremely fast, fully offline NHTSA vPIC VIN decoder, written in Rust.

VINs decoded per second: ultravin 81,948 batched on 4 cores / 25,175 single-core vs corgi v3 83, corgi v2 33, NHTSA MSSQL 22.5, NHTSA Postgres 19.5
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 in ultravin.MULTI_VALUED, which are always list[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 vPIC attribute_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
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

ultravin-1.2.0.tar.gz (21.2 MB view details)

Uploaded Source

Built Distributions

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

ultravin-1.2.0-cp310-abi3-win_arm64.whl (25.3 MB view details)

Uploaded CPython 3.10+Windows ARM64

ultravin-1.2.0-cp310-abi3-win_amd64.whl (25.7 MB view details)

Uploaded CPython 3.10+Windows x86-64

ultravin-1.2.0-cp310-abi3-win32.whl (25.2 MB view details)

Uploaded CPython 3.10+Windows x86

ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl (25.9 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl (25.9 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl (26.1 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl (25.6 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl (25.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.31+ riscv64

ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl (25.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (26.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (25.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (25.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (25.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.12+ i686

ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl (25.9 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl (25.5 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

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

Hashes for ultravin-1.2.0.tar.gz
Algorithm Hash digest
SHA256 412aef88e94963fc6a17a06d1289aa01a04b7382570adcbda335697e8c302807
MD5 8e3157b77aae7f78bf52d55e2341ea30
BLAKE2b-256 8d6968f43f2cb9a0d6e5ab8d229977af6afe85da031e9ac5c11c42e1b71b3f15

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-1.2.0.tar.gz:

Publisher: release.yaml on blackthorn-interstellar/ultravin

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

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

Hashes for ultravin-1.2.0-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 ffff6d5cbbbad3d7e65a872578920e004420bea7199eb1989593b5bd5a7dd5ee
MD5 d459c0c5b29f3b68d0897d7fa16cec7b
BLAKE2b-256 d1c3034b55127b84c643d4a6af40f58980e41dc8945987a8f7854851d532dac3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-win_arm64.whl:

Publisher: release.yaml on blackthorn-interstellar/ultravin

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

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

Hashes for ultravin-1.2.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0dcbfa4e6622010ba9dbb52d39de8be4f53bd445bbf648c8fc76cf49a442b8a8
MD5 d3d1fe7dc526c9a1686f991e4f082f55
BLAKE2b-256 21fff536c158ac3635411c9c2926d502991bf5fe339acb590c06491392ecf1fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-win_amd64.whl:

Publisher: release.yaml on blackthorn-interstellar/ultravin

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

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

Hashes for ultravin-1.2.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 998c18200dc7f482930c39f0bbc34228049ee6bb9d548a9a71704586ff233990
MD5 970a832ca2c94597cde527fcde7a3169
BLAKE2b-256 6c0c974fc9d1e97cf0583ba78708c345d4ca6608348c7ba36de7325fa2492cf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-1.2.0-cp310-abi3-win32.whl:

Publisher: release.yaml on blackthorn-interstellar/ultravin

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1be2a1f812159acc9e839b7de49a0c1c61721ddb5ba04effc1fb3614aef3727
MD5 6201b5f4fa5704ac6d3ba01d4d827498
BLAKE2b-256 1e129d4cc3ac842ba329bb40bc6239da9da9c14895f87f7233da7e9ca4b961c2

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bf8e04e550c7408f2092d1a852e8af474494aae7b8ebdddd39670eca345be72a
MD5 244a9084314f201deb7759c2aea562b7
BLAKE2b-256 04f9f99b45a4a41a22daea9aa6a166025c44b12f1a565c79c520d75f6d2478f9

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9edf48dd14dd10eff9bcdb1663a310fdec8a9ad9b893e8b0cfe0cb45be6057cc
MD5 d14de45bc76b3e9c0bfb3e603b8f1652
BLAKE2b-256 182a8a85e4a6f5988fd3887b0a802a248fce36aad294d42f168a5e07eedb2a60

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 88dd48980df66eaed58881152f68a4c24a0c50188597e4dce171fcbe6d7e06d9
MD5 c24336d24eeeff7aa76312a86e42395e
BLAKE2b-256 bb2e57dfa56646648cf8553fc4d47f389b66a76eaf4def3dc5bba99cae690ed9

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 b8f0b5943607e52b42f3909779463b91345f6ed3fcb20511925054b1e42fc4d1
MD5 daf36bb158c91cf64ba7561a0b642571
BLAKE2b-256 7807b49bc90ef0c176460c256f5c95ffa9b928209fb0d15d288e8995d042b783

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d6d805e35c5fd151d686d383cd1daa1b06aa6c652b46ca4c3e3a83d092bcb4bf
MD5 5b3e23965c8682cf086f96b4de378136
BLAKE2b-256 a3d8436a60ae32d84f7b782f76344fc127303da4c1fa7cd0ac50529b109d42c1

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3cf97d3b98a2dc52039bffc046e8c35de4ac685bb399399a64ec984ecde7cc3
MD5 0342fef2c98d934741cbf40971e82381
BLAKE2b-256 661fd79689cb069b2e324ba6389ba4885d918b239551a81c294a9eb3f927e642

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 82b0c741a804147f1961b27c5c265a369cfde4a750e2087410147c621e5a6fb2
MD5 ba7a0c9cbc056c83a170aea5bb25de1d
BLAKE2b-256 954f3a97e2e94803012804c7598279660b840e649738c4256dc04991021aa32b

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e38c75a66ebd13984377838391fac1358f09da1ae306116ae4c8c0420fe11ddc
MD5 0dad8fa3841bcc94c0c752839858fe97
BLAKE2b-256 47f93f045d21765c6efd10685a48cd616ed7bc61f9c60c3de27ea3084ad5cea2

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 482be30132f16c4773dc07cb5f3722bf5e429b7876079bfa9941dad54492a737
MD5 cead860ad7320cd94d16b592580f047e
BLAKE2b-256 2a65857b9d2c173525d3e446eeac5d83fc228d0aed714e3638dcc132f665a631

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 40bb913792b97cd6685b9ee5c4a6168a1c2a003573e44e38959a1136a74d7d74
MD5 47ce7869336399d37073ac523828e46d
BLAKE2b-256 ca9bd9b2c1d23ef9ab606998e96e7d777505f1eaf42c21da994b3acac297919a

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04c0ad6c29438a9e3988771a12985e6e853880366905a01d694ae65f0d4b9f72
MD5 4ba034554c47ffc0284fa8ea8cc5f9ee
BLAKE2b-256 84874fa5a2d33641261315a81a000f5c5f3a5266640a7d8a00fc5f03210fb86d

See more details on using hashes here.

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

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

File details

Details for the file ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ultravin-1.2.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 27f7110acc77ad12fc437dc886b51b7c8b4fd91dd43d23dc776e1d0e5071e08f
MD5 424c23f8351e57b1e6cf2b91edcfeefb
BLAKE2b-256 b7028988a3f8a580bae0c9ac7e07ed4a654579d00e4068c9bd59602ea9842dc5

See more details on using hashes here.

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

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

Release history Release notifications | RSS feed

2.1.1

17 files

2.1.0

17 files

2.0.1

17 files

2.0.0

17 files

This release

1.2.0 This release

17 files

1.1.0

17 files

1.0.4

17 files

1.0.3

17 files

1.0.2

17 files

0.0.7

17 files

0.0.6

17 files

0.0.5

17 files

0.0.4

17 files

0.0.3

17 files

0.0.2

17 files

0.0.1

17 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page