Skip to main content

Extracts useful information from Vehicle Identification Number (VIN)

Project description

vininfo

https://github.com/idlesign/vininfo

PyPI - Version License Coverage

Description

Extracts useful information from Vehicle Identification Number (VIN)

  • Can be used as a standalone console application (CLI).
  • One can also use import it as any other package in your Python code.
  • Gives basic and detailed info (is available) about VIN.
  • Allows VIN checksum verification.

Additional info available for many vehicles from:

  • AvtoVAZ
  • Nissan
  • Opel
  • Renault

Requirements

  • Python 3.10+
  • click package for CLI

Usage

CLI

click package is required for CLI. You can install vininfo with click using:

pip install vininfo[cli]
$ vininfo --help

; Print out VIN info:
$ vininfo show XTAGFK330JY144213

; Basic:
; Country: USSR/CIS
; Manufacturer: AvtoVAZ
; Region: Europe
; Years: 2018, 1988

; Details:
; Body: Station Wagon, 5-Door
; Engine: 21179
; Model: Vesta
; Plant: Izhevsk
; Serial: 144213
; Transmission: Manual Renault

; Verify checksum
$ vininfo check 1M8GDM9AXKP042788
; Checksum is valid

Python

from vininfo import Vin

vin = Vin('VF1LM1B0H36666155')

vin.country  # France
vin.manufacturer  # Renault
vin.region  # Europe
vin.wmi  # VF1
vin.vds  # LM1B0H
vin.vis  # 36666155

annotated = vin.annotate()
details = vin.details

vin.verify_checksum()  # False
Vin('1M8GDM9AXKP042788').verify_checksum()  # True

Development

One can add missing WMI(s) using instructions from dicts/wmi.py: WMI dictionary, that maps WMI strings to manufacturers.

Those manufacturers may be represented by simple strings, or instances of Brand subclasses (see brands.py).

If you know how to decode additional information (model, body, engine, etc.) encoded in VIN, you may also want to create a so-called details extractor for a brand.

Details extractors are VinDetails subclasses in most cases making use of Detail descriptors to represent additional information (see details/nissan.py for example).

Quickstart

Use makeapp to streamline the development:

$ uv tool install makeapp
# or
$ uv tool upgrade makeapp

Clone the source code the repository and switch into its directory:

# bootstrap the utilities
$ ma tools
# initialize the environment
$ ma up

Check code style and run tests before your pull request:

$ ma style
$ ma tests

Project details


Download files

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

Source Distribution

vininfo-1.10.0.tar.gz (17.6 kB view details)

Uploaded Source

Built Distribution

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

vininfo-1.10.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file vininfo-1.10.0.tar.gz.

File metadata

  • Download URL: vininfo-1.10.0.tar.gz
  • Upload date:
  • Size: 17.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vininfo-1.10.0.tar.gz
Algorithm Hash digest
SHA256 e7118793941ed139e4441b4195793a455a2d8ce41d3e32ffedd562c25707aa5b
MD5 b07de056757675aaeac0310496ec9da8
BLAKE2b-256 2d6804e8212451d23c0791ee883ac9f3f7e952baa5613e1f78016ff5e90e28db

See more details on using hashes here.

File details

Details for the file vininfo-1.10.0-py3-none-any.whl.

File metadata

  • Download URL: vininfo-1.10.0-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vininfo-1.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a50b3a95c48b5619e0dc1062de5ea5ab8e0f36409caffb2c6a338f0f12f99fba
MD5 c4cd274f2dd16e39b6dbfa491313282d
BLAKE2b-256 14dc224d97a3888ba8600e6f1b4c5c6348197bd346eba9b0774d3b06f85d9615

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page