Skip to main content

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
  • Ford Australia
  • 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 from 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

Metadata

Release files for vininfo 1.11.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vininfo 1.11.0
File Size Uploaded
vininfo-1.11.0.tar.gz 17.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vininfo 1.11.0
File Interpreter ABI Platform
vininfo-1.11.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.4 kB

Release files / vininfo-1.11.0.tar.gz

Download URL vininfo-1.11.0.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1b792e0c73a743f1bcb8d62c8498da75a936a6ac9b37c13b7741176fc7356225
BLAKE2b-256 checksum
How to use checksums
216787fd9351daa610414173e3b1c165ccc68caff51c1699658a63242c0409e6
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / vininfo-1.11.0-py3-none-any.whl

Download URL vininfo-1.11.0-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ec961b2eb8eea93475292dd7a64a9f1a975dd145a3277509a177615b79a54ff
BLAKE2b-256 checksum
How to use checksums
fb4b9fbb348af899be2e627dfcb22cebe1b5e7aa5f73b61404b2641bbdd687a5
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release history Release notifications | RSS feed

This release

1.11.0 This release

2 release files

1.10.0

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release 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