Skip to main content

Python SDK for DVSA MOT History API

Project description

DVSA MOT History Python SDK

dvsa_mot_history is a Python SDK that provides a simple interface for interacting with the DVSA MOT History API, allowing retrieval of MOT history, test results, and bulk downloads for vehicles registered with DVSA, DVA Northern Ireland, or the Commercial Vehicle Service.

Features

  • Retrieve Vehicle MOT History by Registration: Fetch detailed MOT history using a vehicle's registration number.
  • Retrieve Vehicle MOT History by VIN: Fetch detailed MOT history using a vehicle's VIN.
  • Bulk Download of MOT History Data: Retrieve bulk MOT history data files for further processing.

Installation

Install the package using pip:

pip install dvsa_mot_history

Usage

Initialisation

To use the MOTHistory class, you'll need the client_id, client_secret, tenant_id, and api_key credentials provided by the DVSA API service.

from dvsa_mot_history import MOTHistory

mot_history = MOTHistory(
    client_id="your-client-id",
    client_secret="your-client-secret",
    tenant_id="your-tenant-id",
    api_key="your-api-key"
)

Fetch MOT History by Registration

To fetch MOT history for a vehicle using its registration number:

import asyncio
from dvsa_mot_history import ErrorResponse

async def get_mot_history_by_registration():
    response = await mot_history.get_vehicle_history_by_registration("AB12CDE")
    if isinstance(response, ErrorResponse):
        print(f"Error: {response.message}")
    else:
        print(f"Vehicle: {response.make} {response.model}")
        for test in response.motTests:
            print(f"Test Date: {test.completedDate}, Result: {test.testResult}")

asyncio.run(get_mot_history_by_registration())

Fetch MOT History by VIN

To fetch MOT history for a vehicle using its VIN:

async def get_mot_history_by_vin():
    response = await mot_history.get_vehicle_history_by_vin("12345678901234567")
    if isinstance(response, ErrorResponse):
        print(f"Error: {response.message}")
    else:
        print(f"Vehicle: {response.make} {response.model}")
        for test in response.motTests:
            print(f"Test Date: {test.completedDate}, Result: {test.testResult}")

asyncio.run(get_mot_history_by_vin())

Bulk Download of MOT History Data

To download bulk MOT history data:

async def download_bulk_mot_history():
    response = await mot_history.get_bulk_download()
    if isinstance(response, ErrorResponse):
        print(f"Error: {response.message}")
    else:
        for file in response.bulk:
            print(f"Bulk File: {file.filename}, URL: {file.downloadUrl}")
        for file in response.delta:
            print(f"Delta File: {file.filename}, URL: {file.downloadUrl}")

asyncio.run(download_bulk_mot_history())

Classes and Data Structures

MOT Test Classes

  • DVSAMotTest
  • DVANIMotTest
  • CVSMotTest

These classes represent the MOT test results from their respective agencies, containing details such as the test result, odometer readings, defects, and more.

Vehicle Response Classes

  • VehicleWithMotResponse
  • NewRegVehicleResponse

These classes encapsulate vehicle information, including the make, model, registration details, and a list of MOT tests.

Error Handling

The ErrorResponse class handles errors returned by the API, providing details about the error, including the status code and message.

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome! Please feel free to submit a pull request.

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

dvsa_mot_history-0.1.1.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

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

dvsa_mot_history-0.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file dvsa_mot_history-0.1.1.tar.gz.

File metadata

  • Download URL: dvsa_mot_history-0.1.1.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for dvsa_mot_history-0.1.1.tar.gz
Algorithm Hash digest
SHA256 88bae76e815931eca1f9c72a87575bb67d69c730c05737728d44704b424ab89d
MD5 5c5d7772f2bf2433e36d97e072085368
BLAKE2b-256 58eeb44de623f2be512fde5facd85fc32541a1b6ed9f1c90be2cab4dae015dcf

See more details on using hashes here.

File details

Details for the file dvsa_mot_history-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dvsa_mot_history-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8008d0a40df2e9f6c7e91a4c27186cd0fc4bb2b1f2bddbe104530cb92944d7cc
MD5 8c2e439b51052f90ff9709e611df6758
BLAKE2b-256 3f97d2b3f5db17761fd969f925f0973be170eba7a72521bd262750385f444bba

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