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
  • 📦 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
  • 🐍 Installable via pip, with a CLI and a library API
  • 🧵 Batches in parallel to ~82,000 VIN/s on 4 cores

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

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ultravin-0.0.7.tar.gz (21.1 MB view details)

Uploaded Source

Built Distributions

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

ultravin-0.0.7-cp310-abi3-win_arm64.whl (21.8 MB view details)

Uploaded CPython 3.10+Windows ARM64

ultravin-0.0.7-cp310-abi3-win_amd64.whl (21.9 MB view details)

Uploaded CPython 3.10+Windows x86-64

ultravin-0.0.7-cp310-abi3-win32.whl (21.8 MB view details)

Uploaded CPython 3.10+Windows x86

ultravin-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl (22.3 MB view details)

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

ultravin-0.0.7-cp310-abi3-musllinux_1_2_i686.whl (22.2 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

ultravin-0.0.7-cp310-abi3-musllinux_1_2_armv7l.whl (22.2 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

ultravin-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl (22.2 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

ultravin-0.0.7-cp310-abi3-manylinux_2_31_riscv64.whl (22.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.31+ riscv64

ultravin-0.0.7-cp310-abi3-manylinux_2_28_aarch64.whl (22.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

ultravin-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.1 MB view details)

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

ultravin-0.0.7-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (22.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

ultravin-0.0.7-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (22.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

ultravin-0.0.7-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (21.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

ultravin-0.0.7-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (22.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.12+ i686

ultravin-0.0.7-cp310-abi3-macosx_11_0_arm64.whl (22.6 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

ultravin-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl (22.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file ultravin-0.0.7.tar.gz.

File metadata

  • Download URL: ultravin-0.0.7.tar.gz
  • Upload date:
  • Size: 21.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for ultravin-0.0.7.tar.gz
Algorithm Hash digest
SHA256 5c30aea449c68687f16924a1408a3f7a5a67e38621ad8073cc2c9bdf521e3c03
MD5 2235e36eb923126db474e2e4a6e3c179
BLAKE2b-256 57ae537a37ba3c4dec564741a6dc3a3395dbd513f7c8dc6e6d51520f8540c132

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7.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-0.0.7-cp310-abi3-win_arm64.whl.

File metadata

  • Download URL: ultravin-0.0.7-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 21.8 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-0.0.7-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 f96c9fbab4a19006645fc11c02c057f5112091311bc7a2a315cce9fc994a26ef
MD5 1d06758104467b707bf0b30299139d48
BLAKE2b-256 3857c2b6a3f028c67ce88ecdb86ac6a78a0ab46588a2ee50749379588c41c7b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: ultravin-0.0.7-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 21.9 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-0.0.7-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7e33a056e453cc19400bdbb170620476c9476cb1f15b396abd1f338f5d7660a6
MD5 cad04f109b567420bfd75eb95699baf8
BLAKE2b-256 976b0c3629fe47c851bba2532741880c0f7e98bcc405262880bfecd25902ebd5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-win32.whl.

File metadata

  • Download URL: ultravin-0.0.7-cp310-abi3-win32.whl
  • Upload date:
  • Size: 21.8 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-0.0.7-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 e449708f774688dad22d3c7adc667e0451802ef203a5502184ac978eff459180
MD5 15d6c7feff78e2d76eea65e77f0c2fb0
BLAKE2b-256 38b65a94bda4dc991252631cd0496f339939a081d648845299e70651ec3a3c8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fe4a4431bb2a873728b1e98c2f70d37d9b85560de2831aa990aeefb1d9e94e64
MD5 3edc99264900c2adfbd6a6320c3805a6
BLAKE2b-256 cae9442f82bd0eca2cca6c1c8157e7bd563c6e7fe36be0b3aa5835180b029b8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e43b3cc4a79573237ff2be61a86e041167bbf4d6fd7566b0ac850899e614d22e
MD5 f2ff1ebd31e1cd1b814d25bc08947f17
BLAKE2b-256 795155412715690467b5cc3ce8f6de8a672aa6949eb3297523dcbe0e47e43f81

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 db115d3ff350758d36bf518a99289b0abb6b0840d7eefe25e008780c41d0c614
MD5 8f7be4950debd503e9ac168d50ef5c26
BLAKE2b-256 d9a50a410b189737c999f33109d6a62152266b529982c96ad6add8eeaadba3b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6c30f12e7cad8180c7ae99a4d65422afa92cda801fcee0baf5d1c2ce4b299491
MD5 e52046b1cdd72fa12a0b49903002dbe0
BLAKE2b-256 bfe053188447dbdef7d77eca6a9b7e5b6fef3316f7f494eb658b804c01619267

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 cb079ef6e488d44b2c0ecf5f9f2acb16e7c9f0ecc8ee16511b35d4f454bd79fb
MD5 db7a5fb34607bfce916bcda52721353d
BLAKE2b-256 118c1bfb186ea1e9f3dd573666f60607df0067d0360f4e47871540de74a411a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7df619b0ca200a503cab3fc1b71ca9d1d402f75aceed946eb06a9a4dcb0bb760
MD5 8444b62e9ed90e0cc986bba46f3cf1cb
BLAKE2b-256 9c3dfaeb7fe2ede00285839277ff751523a6ea0a6974a2da610b4b806984a24d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38b8617617030324edaa7cbeb7ffbc44abb21f6b03457a5e632eb020ce1790fd
MD5 c73da04f32bc4939174e73dab9dbbc56
BLAKE2b-256 c29f5cb4084953312756761c244076fbb14d534605458a0e75e41790f5c8eb3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a16a092b817bcabb290f3cbbdcb8f660f815d9c4a36a24ba77cde5123d67c908
MD5 636b1eb3b8b44884a09f50b057cdc8af
BLAKE2b-256 cd5a35dd425cc0d5fcc80696eb477c425dccdf79d8468e95339d7633876eb21f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 90b5ded812a6f2b1af108c1b40e32be17753135c645878d31aa90263f37ebb7f
MD5 4d2afe41cbb84981e6216e889f554522
BLAKE2b-256 4e31152643f68ba1977651fa53ae6bdc4353792b9fcfc1df78e02dc6be3da927

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7a6896f0df5938fe1fc2b1f114b03dece1fb1fbeb85f6f96f75c7264f24a3a87
MD5 2dd53b52de80f0f51066d9d2acc36f23
BLAKE2b-256 f7a7aa514d7c01a8b58b9639ed800657f26f3a72b1ba18d95a4c5e7d6fbe8b73

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3399624de75d46a1158533ae42aa7666c139da5f05ae055d417f09779c58db20
MD5 fe6f71ac5bed27ee0f0ba71ec83b143c
BLAKE2b-256 6e5078ce3512cb7d143303e7b708a0f7f9376cc4661daeb7ceb6eb26f15cdaa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e7033d5ca2b0ccff367b9d4b49ab1b45ecef3d79e18a5d353b94e7f18b86d36
MD5 6501cf7e9d0f16b73a997b2ca004cd34
BLAKE2b-256 5f7a4bf6eb597a24a971d6bf8b64e2a82f714f4ab812e7ff60a7b4400b63cfb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ultravin-0.0.7-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 04fe8c6eaefc52559bcec87f13e0063069a6b7062ae7644d2eea6422a90be6ac
MD5 227f488cc1a2f0f16083b1baefa7932d
BLAKE2b-256 c20510856a250897c8ef49c42000d48e544e98a40bb6283b0b6235398f1fa01c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ultravin-0.0.7-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

1.2.0

17 files

1.1.0

17 files

1.0.4

17 files

1.0.3

17 files

1.0.2

17 files

This release

0.0.7 This release

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