Metadata-Version: 2.4
Name: vindecodervehicle
Version: 1.0.0
Summary: Official Python SDK for the VIN Decoder Vehicle API
Project-URL: Homepage, https://vindecodervehicle.com
Project-URL: Documentation, https://vindecodervehicle.com/api/doc/
Project-URL: Repository, https://github.com/JoxMarkes/vindecodervehicle-python-sdk
Project-URL: Issues, https://github.com/JoxMarkes/vindecodervehicle-python-sdk/issues
Author-email: VIN Decoder Vehicle <support@vindecodervehicle.com>
License-Expression: MIT
License-File: LICENSE
Keywords: api,automotive,sdk,vehicle,vin,vin-decoder
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# VIN Decoder Vehicle — Python SDK

[![CI](https://github.com/JoxMarkes/vindecodervehicle-python-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/JoxMarkes/vindecodervehicle-python-sdk/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/vindecodervehicle.svg)](https://pypi.org/project/vindecodervehicle/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

Official Python SDK for the **[VIN Decoder Vehicle API](https://vindecodervehicle.com)**.

## Features

- Zero runtime dependencies (stdlib only)
- Python 3.9+
- Typed dataclass models
- All API endpoints supported

## Installation

```bash
pip install vindecodervehicle
```

## Quick Start

```python
from vindecodervehicle import VinDecoderClient

client = VinDecoderClient.create(user="YOUR_USER", api_key="YOUR_API_KEY")

vehicle = client.decode_vin("WF0GXXGAJ69C71882")
print(vehicle.full_name)  # BMW 3 Coupe (E92) 316 i
print(vehicle.make)       # BMW
print(vehicle.car_id)     # 55565
```

## API Reference

### VIN

```python
vehicle = client.decode_vin("WF0GXXGAJ69C71882")
vehicles = client.decode_vin_all("WF0GXXGAJ69C71882")
engines = client.get_engines("WF0GXXGAJ69C71882")
```

### Vehicle by carId

```python
vehicle = client.get_vehicle(55565)
fluids = client.get_fluid_capacities(55565)
parts = client.get_oem_parts(55565)
repairs = client.get_repair_times(55565)
```

### Catalog

```python
brands = client.list_brands()
models = client.list_models("bmw")
variants = client.list_variants("bmw", "3-series")
```

## Error Handling

```python
from vindecodervehicle import (
    ApiError,
    AuthenticationError,
    InvalidArgumentError,
)

try:
    vehicle = client.decode_vin("INVALID")
except InvalidArgumentError:
    pass
except AuthenticationError:
    pass
except ApiError as exc:
    print(exc.status_code, exc.response_body)
```

## Links

- [API Documentation](https://vindecodervehicle.com/api/doc/)
- [PHP SDK](https://github.com/JoxMarkes/vindecodervehicle-php-sdk)
- [Node.js SDK](https://github.com/JoxMarkes/vindecodervehicle-node-sdk)
- [JavaScript SDK](https://github.com/JoxMarkes/vindecodervehicle-js-sdk)

## License

MIT