Generate UDS (ISO 14229 / 15765) specification documents and ISO 22901-1 ODX/PDX from AUTOSAR DCM/CanTp/DEM ARXML (formerly udsxml2tex)
Project description
udsdoc
AUTOSAR DCM/CanTp/DEM ARXML → ISO 14229 (UDS) / 15765 / 22901-1 (ODX/PDX) specification documents.
udsdoc parses AUTOSAR diagnostic ARXML (DCM, CanTp, DEM, DoIP, COM, AP) and
renders a complete UDS specification in LaTeX / PDF / HTML / Markdown / RST,
plus ASAM ODX 2.2.0 / PDX (ISO 22901-1) for diagnostic tooling. Drive it from
the command line or a local browser UI — both run the same pipeline.
Renamed from
udsxml2texin v0.66.0. The old package,udsxml2texCLI,UDSXML2TEX_*env vars and pre-commit hook ids keep working as deprecated aliases until v1.0.
Install
pip install udsdoc # core (LaTeX / Markdown / RST)
pip install udsdoc[web] # browser UI (--serve) + inline SVG figures
pip install udsdoc[all] # everything
PDF output needs a LaTeX distribution with xelatex (TeX Live / MiKTeX).
The [all] extra pulls in every optional feature (browser UI, LLM analysis, ECU hardware testing, and more).
Command line
udsdoc dcm.arxml -o spec.tex # single ARXML → LaTeX
udsdoc dcm.arxml cantp.arxml --dem dem.arxml -o spec.tex # merge modules
udsdoc --repo /path/to/bsw-project -o spec.tex # auto-discover a BSW repo
udsdoc dcm.arxml --format html -o spec.html # other formats: html, md, rst, pdx
udsdoc dcm.arxml --pdf # compile to PDF
udsdoc dcm.arxml --lang en+ja -o spec.tex # stacked multi-language output
Python API:
from udsdoc import ArxmlParser, TexGenerator
spec = ArxmlParser().parse_multi(["dcm.arxml", "cantp.arxml"])
TexGenerator().generate(spec, "spec.tex")
Browser UI
pip install udsdoc[web]
udsdoc --serve # opens http://127.0.0.1:8765
A local server with four tabs in the sidebar:
- Generate — point it at a BSW repository folder (or load a built-in sample
bundle). The server scans every ARXML / C file, classifies the Dcm / CanTp /
Dem modules and auto-detects single- vs multi-ECU. Pick output language(s),
then Parse & Preview to inspect the spec and Generate & Download a
LaTeX ZIP (with
spec.pdfwhenxelatexis available) — or Export ODX / PDX for CANalyzer / CANoe. An optional Compliance Matrix CSV adds a requirements-compliance chapter. - Spec — parsed sessions, services, DIDs, RIDs and DTCs as browsable tables.
- Chat — ask questions about the loaded spec via an LLM (Anthropic / OpenAI-compatible / Ollama).
- About — version and build info.
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 udsdoc-0.77.1.tar.gz.
File metadata
- Download URL: udsdoc-0.77.1.tar.gz
- Upload date:
- Size: 1.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
673bac69e3c6d700b1bfec6a75fb8a8d5982b95b707d1d60283d0d8d75fbecd1
|
|
| MD5 |
50b0751a81eb9ef1c7cf97086a43980d
|
|
| BLAKE2b-256 |
f73caf5341a65d220c1d4b75e0332f73cb7b01d4acecfdcb7dd18958d6e2ca19
|
File details
Details for the file udsdoc-0.77.1-py3-none-any.whl.
File metadata
- Download URL: udsdoc-0.77.1-py3-none-any.whl
- Upload date:
- Size: 1.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4ce056ed615a92fc9ce243ef042f33fa2299cd9281a563d29c46b1683b2f003
|
|
| MD5 |
661f02496d342c764b2c37aa60965491
|
|
| BLAKE2b-256 |
adf0584f20b39ef31142cb90349f704162bfaf6b5247a4134830b37eb47eb30d
|