Skip to main content

Python SDK for DVLA Vehicle Enquiry Service API

Project description

DVLA Vehicle Enquiry Service Python SDK

dvla_vehicle_enquiry_service is a Python SDK that provides a simple interface for interacting with the DVLA (Driver and Vehicle Licensing Agency) Vehicle Enquiry Service API. It allows retrieval of detailed vehicle information based on the registration number, including tax status, MOT status, and more.

Installation

Install the package using pip:

pip install dvla_vehicle_enquiry_service

Usage

Initialisation

To use the VehicleEnquiryAPI class, you'll need an API key provided by the DVLA service. You can also specify the environment as either production or test (default is production).

from dvla_vehicle_enquiry_service import VehicleEnquiryAPI

api_key = "your_api_key"

# Initialise client using the default ('production') API
client = VehicleEnquiryAPI(api_key)

# Or initialise client using the test API
client = VehicleEnquiryAPI(api_key, environment="test")

Fetch Vehicle Details by Registration

To fetch vehicle details using its registration number:

import asyncio
from dvla_vehicle_enquiry_service import ErrorResponse, Vehicle

async def get_vehicle_details():
    response = await client.get_vehicle("ABC123")
    if isinstance(response, ErrorResponse):
        print(f"Error: {response.errors[0].title}")
    elif isinstance(response, Vehicle):
        print(f"Vehicle Make: {response.make}, MOT Status: {response.motStatus.value}")

asyncio.run(get_vehicle_details())

If the request is successful, this example will print something such as: Vehicle Make: AUDI, MOT Status: Valid.

Error Handling

The SDK returns an ErrorResponse object when an error occurs, containing a list of ErrorDetail objects with specific error information.

if isinstance(response, ErrorResponse):
    for error in response.errors:
        print(f"Error {error.status}: {error.title} - {error.detail}")

Classes and Data Structures

Vehicle Class

  • Vehicle: Represents detailed information about a vehicle, including tax status, MOT status, make, model, and various other attributes.

Error Handling Classes

  • ErrorResponse: Encapsulates the error response returned by the API.
  • ErrorDetail: Provides detailed information about individual errors.

Enum Classes

  • TaxStatus: Enumerates possible tax statuses of a vehicle (TAXED, UNTAXED, SORN, etc.).
  • MotStatus: Enumerates possible MOT statuses of a vehicle (VALID, NOT_VALID, NO_DETAILS_HELD, etc.).

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

dvla_vehicle_enquiry_service-0.1.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

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

dvla_vehicle_enquiry_service-0.1.1-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for dvla_vehicle_enquiry_service-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1875eebb133d497b44a740f88035a9d7c66d47d6a0a3d2c22478d853a491062e
MD5 748bf854e8fed12f7558738c4af239fb
BLAKE2b-256 86ab46152b1860911d4242e460bc50beb759253ce73570d59a6ac84e9f8bfc61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dvla_vehicle_enquiry_service-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5f1797ea4ab1d7a0f2d61097e1efa6da0a4529700f9db139c9073689d99c2340
MD5 72ab1708058a5093e23011cbfc8d113e
BLAKE2b-256 8f3abe753d0a19b58d2dab9cd8a1a2fd2f85e4c84912bb08396b713fffdacae9

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