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
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-0.1.1.tar.gz.
File metadata
- Download URL: dvla_vehicle_enquiry_service-0.1.1.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1875eebb133d497b44a740f88035a9d7c66d47d6a0a3d2c22478d853a491062e
|
|
| MD5 |
748bf854e8fed12f7558738c4af239fb
|
|
| BLAKE2b-256 |
86ab46152b1860911d4242e460bc50beb759253ce73570d59a6ac84e9f8bfc61
|
File details
Details for the file dvla_vehicle_enquiry_service-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dvla_vehicle_enquiry_service-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f1797ea4ab1d7a0f2d61097e1efa6da0a4529700f9db139c9073689d99c2340
|
|
| MD5 |
72ab1708058a5093e23011cbfc8d113e
|
|
| BLAKE2b-256 |
8f3abe753d0a19b58d2dab9cd8a1a2fd2f85e4c84912bb08396b713fffdacae9
|