Translate between OEM-proprietary vehicle signals and the COVESA VSS standard
Project description
vss-translate
A Babel for car data. Translate between OEM-proprietary vehicle signal names and the open COVESA Vehicle Signal Specification (VSS) standard.
Every car manufacturer uses different names for the same data. Mercedes calls vehicle speed MB_ESP_VehicleSpeed, BMW calls it BMW_DSC_VehicleSpeed, Tesla calls it TESLA_DI_vehicleSpeed. The COVESA VSS standard defines it as Vehicle.Speed.
This library lets you write one codebase that works with any car brand.
Install
pip install vss-translate
Quick Start
from vss_translate import SignalTranslator
t = SignalTranslator()
# OEM → VSS standard
result = t.to_vss("MB_ESP_VehicleSpeed", brand="mercedes")
print(result.target_signal) # "Vehicle.Speed"
# VSS standard → OEM
result = t.from_vss("Vehicle.Speed", brand="bmw")
print(result.target_signal) # "BMW_DSC_VehicleSpeed"
# Cross-brand translation (Mercedes → Tesla)
result = t.cross_brand("MB_ESP_VehicleSpeed", "mercedes", "tesla")
print(result.target_signal) # "TESLA_DI_vehicleSpeed"
# With unit conversion (Tesla mph → VSS km/h)
result = t.to_vss("TESLA_DI_vehicleSpeed", brand="tesla", value=60)
print(f"{result.target_value:.1f} {result.target_unit}") # "96.6 km/h"
# Auto-detect brand from signal names
detection = t.detect_brand(["MB_ESP_VehicleSpeed", "MB_ECM_EngineSpeed"])
print(detection.brand) # "mercedes"
Supported Brands
| Brand | Alias(es) | Signals |
|---|---|---|
| Mercedes-Benz | mb, mercedes-benz, daimler |
50+ |
| BMW | - | 30+ |
| Volkswagen Group | vw, audi, skoda, seat, cupra |
30+ |
| Tesla | tsla |
40+ |
| Toyota / Lexus | lexus |
20+ |
| Hyundai / Kia / Genesis | kia, genesis, hkg |
25+ |
| OBD-II (generic) | obd, obdii |
20+ |
Features
- Zero dependencies for core functionality
- Unit conversion — automatic conversion between OEM and VSS units (mph↔km/h, psi↔kPa, bar↔kPa)
- Brand detection — auto-identify vehicle brand from signal name patterns
- Fuzzy search — find signals by keyword across all brands
- Batch translation — translate entire data snapshots at once
- Cross-brand translation — go from Mercedes signals directly to BMW signals (via VSS)
- CLI tool — command-line interface for quick lookups
CLI Usage
# Translate OEM → VSS
vss-translate to-vss MB_ESP_VehicleSpeed -b mercedes
# Translate VSS → OEM
vss-translate from-vss Vehicle.Speed -b tesla
# Cross-brand with value conversion
vss-translate cross TESLA_DI_vehicleSpeed -s tesla -t mercedes -v 60
# Detect brand
vss-translate detect MB_ESP_VehicleSpeed MB_ECM_EngineSpeed
# List brands and coverage
vss-translate brands
# Search signals
vss-translate search "tire pressure" -b mercedes
Why This Exists
The EU Data Act (enforceable 2025-2026) mandates that vehicle manufacturers share data with owners and third parties. But every OEM uses proprietary signal names and formats. There is no developer-friendly library to bridge this gap.
vss-translate uses the COVESA VSS open standard as the Rosetta Stone between brands.
License
MIT
Project details
Release history Release notifications | RSS feed
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 vss_translate-0.2.0.tar.gz.
File metadata
- Download URL: vss_translate-0.2.0.tar.gz
- Upload date:
- Size: 36.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccb102324ceb990f00651babff26e12ab4005c993c89836c10de0446a8a93f3d
|
|
| MD5 |
c03abee2d81ed5075366ee7604be28f9
|
|
| BLAKE2b-256 |
91ae09c7b6c7184b92bf83ae4aa8891e624f43880ab76300f31f480b3a3bfc72
|
File details
Details for the file vss_translate-0.2.0-py3-none-any.whl.
File metadata
- Download URL: vss_translate-0.2.0-py3-none-any.whl
- Upload date:
- Size: 39.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b682326fb7d71337d38e5daebee94cd1d85ed50bd0305c026cd4f9d23eddc66f
|
|
| MD5 |
ecacc1492234596128529237585b2389
|
|
| BLAKE2b-256 |
73e73abbacd6fb660d769d6f23db140d079eb6f775aae434dc89be6de447c66b
|