- VIN.str now returns the Vehicle Identification Number, not the description of the vehicle
Vehicle data updated to NHTSA vPIC 3.45 effective March 16, 2024.
- No longer throws sqlite3.ProgrammingError when used in multithreaded context (#6, DaThresh)
- Decodes VINs that have an incorrect or zero model year character (partially resolves #2, sshane).
- More unit tests
- VIN.vpic_version returns NHTSA vPIC data version and release date (#4).
- Uses WMI to find vehicle make when VIN is incomplete or incorrect.
- Series and trim decoding is more reliable
- Most properties that are missing after decoding now return empty string instead of raising a DecodingRequiredError (#3, sshane).
- VIN.body_style is now VIN.body_class to be consistent with vPIC naming (sshane).
- Corrected several examples in the documentation.
- Models with trims that vary only by capitalization now return the correct trim name (LAREDO versus Laredo).
- Decodes body style and electrification level
- Fixed vehicle_type names in the documentation
- Decode the make, model, series, and trim
- Supports passenger cars, multipurpose vehicles, and light trucks manufactured since 1980
- Performance benchmarks
- Correctly determines the model year for older vehicles
- Validate VIN length, characters, and check digit, with the option to correct the check digit.
- Decode the manufacturer and model year from a VIN
- Documentation
- Updated annotations for
VIN.vds
andVIN.vis
to show that they don't return None - Annotated
VIN.model_year
to show that it returns int, and removed the else condition that allowed it to return None - Inlined
VIN.is_vin_character
in the default constructor - Converted property
VIN.check_digit
to class methodVIN.calculate_check_digit
- Converted
constants.VIN_CHARACTERS
from list to string - Renamed GitHub workflows as .yml (from .yaml)