--- id: udsoncan version: "1.26.1" license: MIT license_treatment: permissive maintenance: active --- # udsoncan — Implementation of the Unified Diagnostic Service (UDS) protocol (ISO-14229) used in the automotive industry. License: permissive · Maintenance: active · Downloads: 217.2K/mo ## What it is and what it does udsoncan is a Python implementation of the UDS (Unified Diagnostic Services) protocol standardized in ISO-14229, used primarily in automotive diagnostics to communicate with vehicle electronic control units (ECUs). It provides a client library that handles the protocol's request-response messaging, session management, security access, and data reading/writing operations typical in vehicle diagnostics workflows. The package requires Python 3.7+ and has no runtime dependencies, making it lightweight to integrate. It exposes high-level client methods like `change_session`, `unlock_security_access`, `write_data_by_identifier`, and `ecu_reset` that abstract away low-level protocol details, allowing developers to focus on diagnostic logic. Use it for: - Develop custom vehicle diagnostic tools that read and modify ECU parameters without proprietary OEM software - Automate ECU testing and validation during automotive development or manufacturing - Build diagnostic applications that unlock security access and perform ECU resets for maintenance workflows - Integrate UDS protocol support into Python-based automotive test harnesses or CI/CD pipelines ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Implements the Unified Diagnostic Services (UDS) protocol defined by ISO-14229 for automotive diagnostics in Python, enabling communication with vehicle electronic control units. Yes, if you need UDS protocol support for automotive diagnostics. The package is actively maintained, has no external dependencies, carries a permissive MIT license, and addresses a specialized but real need in automotive development and testing. 721 repository stars and consistent release cadence suggest production use. No known security vulnerabilities. Install it if your project involves vehicle ECU communication; skip it if you do not work in automotive diagnostics. ## Install pip install udsoncan uv add udsoncan poetry add udsoncan ## Installing udsoncan Before you install: Low install friction with no runtime dependencies. Active maintenance: last commit 2026-08-09, 721 repository stars, and a release within 50 days indicates ongoing development. License in practice: MIT license permits commercial and private use with minimal restrictions, suitable for both open-source and proprietary projects. Quickstart: pip install udsoncan import udsoncan from udsoncan.client import Client from udsoncan.connections import IsoTPSocketConnection from udsoncan.services import DiagnosticSessionControl conn = IsoTPSocketConnection('can0', ...) with Client(conn, request_timeout=2) as client: client.change_session(DiagnosticSessionControl.Session.extendedDiagnosticSession) Requires Python 3.7+; transport layer (e.g., ISO-TP socket) must be configured separately Verify before relying: - Whether isotp library shown in example is an optional or required peer dependency - Specific vehicle models or ECU types supported or tested against - Performance characteristics under high-frequency diagnostic requests ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 217.2K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags UDS protocol implementation, ISO-14229 automotive diagnostics, vehicle ECU communication, automotive diagnostic services, diagnostic protocol library, car diagnostics python, automotive, protocol-implementation, diagnostics [View on SkillFed](https://skillfed.io/packages/udsoncan) · [View on PyPI](https://pypi.org/project/udsoncan/)