Skip to main content

Python SDK for DVLA Vehicle Enquiry Service API

Project description

DVLA Vehicle Enquiry Service Python SDK

GitHub Actions Workflow Status PyPI - Python Versions PyPI - Version

dvla_vehicle_enquiry_service is a Python SDK providing 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 VehicleResponse, VehicleEnquiryError

async def get_vehicle_details():
    response = await api.get_vehicle("AA19MOT")
    mot_status = response.motStatus.value if response.motStatus else "Unknown"
    print(f"Vehicle Make: {response.make}, MOT Status: {mot_status}")

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

Errors are raised as VehicleEnquiryError exceptions. You can catch and handle these exceptions to access detailed error information.

try:
    response = await client.get_vehicle("ER19NFD")
except VehicleEnquiryError as e:
    print(f"Error {e.status}: {e.title} - {e.detail}")

Classes and Data Structures

Vehicle Class

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

Error Handling Classes

  • VehicleEnquiryError: Exception class that encapsulates error information, including status codes and error details.

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-1.0.4.tar.gz (5.8 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-1.0.4-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for dvla_vehicle_enquiry_service-1.0.4.tar.gz
Algorithm Hash digest
SHA256 5013796a29cc66a0d6ca0a38dd3563d6d92f3f417310c3c074e044329fae6954
MD5 d7e2430e1c8cea57e758fce8af897e03
BLAKE2b-256 dd9bd1c8cfe5d42f7f6b662638d83934d13451275fed324eea5013b81e6cfab2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for dvla_vehicle_enquiry_service-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8343958ab688e17d7b433f3da2a25e24824afd204fb5b4d5d7476335d54c6029
MD5 496e8ca4bfcc74e16587a2ac529d7c57
BLAKE2b-256 d4c69a35c4a7c60555eeb1b4f17cc75fc727e55c5b45d322949153669c21b84d

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