vininfo
https://github.com/idlesign/vininfo
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+
clickpackage 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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| vininfo-1.11.0.tar.gz | 17.7 kB | Without provenance | Details for vininfo-1.11.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| vininfo-1.11.0-py3-none-any.whl | Python 3 | none | any | Details for vininfo-1.11.0-py3-none-any.whl |
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}
|
Security for vininfo 1.11.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.