Python SDK for DVLA Vehicle Enquiry Service API
Project description
DVLA Vehicle Enquiry Service Python SDK
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dvla_vehicle_enquiry_service-1.0.1.tar.gz.
File metadata
- Download URL: dvla_vehicle_enquiry_service-1.0.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa454940d861b24b634194a1e2ca0b523b95be6eebcb988a6edc36c1d1edcceb
|
|
| MD5 |
639a780eb9e50a023d0a796d6ca1e645
|
|
| BLAKE2b-256 |
831c8e29c229687e868a327332e6b3db7919d228a9f30417d78c2491e5c29395
|
File details
Details for the file dvla_vehicle_enquiry_service-1.0.1-py3-none-any.whl.
File metadata
- Download URL: dvla_vehicle_enquiry_service-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31183c09404680a3fb7cac30eaf7d4e0bb16598b0c74e4e600525324e288c661
|
|
| MD5 |
a0dc2138c2e6fdff1d02e9dbdef7bf62
|
|
| BLAKE2b-256 |
992b78f5005f0f5a422d81670f6172dfe2fcc3fb246c4faa3de421c1fb9d10d6
|