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. 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.0.3.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-1.0.3-cp310-abi3-win_arm64.whl (21.9 MB view details)

Uploaded CPython 3.10+Windows ARM64

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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+Windows x86

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

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

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

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.10+manylinux: glibc 2.31+ riscv64

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

Uploaded CPython 3.10+manylinux: glibc 2.28+ ARM64

ultravin-1.0.3-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-1.0.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (22.1 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

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

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.10+manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

ultravin-1.0.3-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-1.0.3.tar.gz.

File metadata

  • Download URL: ultravin-1.0.3.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-1.0.3.tar.gz
Algorithm Hash digest
SHA256 c1e769a68911c926afc51295423a35ee2fc4fde8e7b6ae89d15c274d62652e5f
MD5 91d00e1db0b2e4631d85057eb692508a
BLAKE2b-256 b7da0431c4b3a1ae5986c23cea81d1ccbb396f50f58bd8bd280c18b98b7deb75

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ultravin-1.0.3-cp310-abi3-win_arm64.whl
  • Upload date:
  • Size: 21.9 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.0.3-cp310-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 4a91ec90d58b6fccc2484cd86b2da03b4911cc01e58f2091fb26c4883b72ef7b
MD5 1e6d65de3d1607cf58f144e22ad88397
BLAKE2b-256 68c528975a6dce28a05df2e090677d23ad9930d34ac01e6e54b4a329c63f5e49

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ultravin-1.0.3-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-1.0.3-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3bc02fc82a9a13a843a6aa7b8d575faa076c85c1eb90965562d3e7b26602e15b
MD5 a60a9ddff688838525b4a7b67518a383
BLAKE2b-256 77b22809b9f44197f463699b30c656cc52ffd5e723f34c9ddb102d186e7bbf2f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ultravin-1.0.3-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-1.0.3-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 f1ff8871a226d3574c3d725f555d21777683372d3e09dea5b5825109c21db214
MD5 9820acac2347f24109d47343b4a9a176
BLAKE2b-256 43486f32a619c8609aa592555e0e5ab1d12bb3b21bd1415f9802a7a5973ca8bd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 70a3ddbb8f38ee4f2c96719e45ed05c6751f1c562714a25bd0248717461abda4
MD5 d315665657be064f0846b535b04d84a5
BLAKE2b-256 20ff4bc9cab44ea523ac030bed5d3c01493dbf4b39c0c34cf00e7d0b2ca1b014

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 02d8352c3b12a92802749559a2a0a593946bd52e79c1385f7433da6ccf87a1d4
MD5 1cf9c3a37c07b6922bd841bf3deda66f
BLAKE2b-256 aaca3adcec73f5c6673e6d468e5d90d0755dfb98c1f1f6cb5a93d8c66c518df4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 de2cbeed27f08945f87c76baec347a68c1eb2bd21c12c01fa9ffaa06768f7fba
MD5 e3b0efdc06da51e9c990391ee2f1668d
BLAKE2b-256 3ec1ebfff3a9adc5aef0c44a4d12ab502b98ecb0c182381268a78d5052d0f72a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 46f3adc457aef72252b3622554389ad39f2b383808e1bf8000d057b5704f0466
MD5 a843725648d392b3e6102c0d98032283
BLAKE2b-256 5c96bc0f1c482b2e89d786292748573d272bfe4c5392aa2d58faf7c3f1fb9b36

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 d15c2182a96242ce55f990592fa43ac7ecb8f1bc24eaa8a214a124c48d3d252f
MD5 0ba62d9838e67041de8aea9dbbb4114d
BLAKE2b-256 1c62dfe84770b3b04c86b337db535c40c6ea245d342af17d4ba22287e17c0f15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e0f116258fe592118a8ba7e729259df987b11234fd5c13923404c6e69a8998bb
MD5 9d08ed84fed117dba369f6113c356843
BLAKE2b-256 c3dffc9432defe5d4c9a684dc84bd8d3f7c6aed7096f7ff228c7870aef67bcbc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a0ec6dcc327b2d7670c983b2d2dc576ab612e2ff11bd88d8b0051fd1731f240
MD5 805d8d985f7a7d4a954062e745d15d79
BLAKE2b-256 65539ea8d6e97bc6dc8f8ec8edecfd565459230d18c42ef9000d4d4db2cf9c29

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2290a699595713f628ee913ddd89d99806faeeb3443d98b7336f4af4358d4706
MD5 70e2395cf9772fe0d577952e83777fc2
BLAKE2b-256 09a462802dc08ad2ddee2eed75887dee5e05e72a6a74248aee0e3141798eecd7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 be6de67190c00ca1884531f91b411446d9b4e20a45475fefd6f63d6c34be31c4
MD5 e165cf5272529b2ad1251d662a51244d
BLAKE2b-256 fa56305e676fb4a36aeb5dcda22ed4d2f3acb70160970bb7557eda19652f3be9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b2c8abaf81f68de7d547ea82da5e06ba6fdb17e21cf9ec8cc5d50c2f72ed65e8
MD5 fd1cefcf2fd6aeb0fa030cf050ae949f
BLAKE2b-256 526286dd4fbc30350c249b6e0b033b2b3247be45e414fa76372289b3d7bd8fd8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a5b6244c38cc96e1bbe3452e037e89f4261b616e8ba0d79500f4b083c019ef6a
MD5 9c8af9aa6632e5997bb440faec290729
BLAKE2b-256 9ec20675d92a4e4cb18df364ac9f61919426d44e82d46b6138f1f9fbce5a4ed1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 291982529475b296f1b3082956e4a7035e8fb457f8099116f96a6ee2d0e356de
MD5 82bc6d9a415ee02957865652423fd736
BLAKE2b-256 bbdcb6cea15e4582069293467c78e46c43f70a1da6644456d957930f2db63b8e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ultravin-1.0.3-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 10b98a98728d092a4b3d30371b5be445d0cc28757019c3f9e726ff24352f9305
MD5 178787b93ca02275903fbc6b7227c1e9
BLAKE2b-256 3f5404ed8853638ea6dce5679bcf97e22681b68948112be4e7eb9992cc14a27e

See more details on using hashes here.

Provenance

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

This release

1.0.3 This release

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