Skip to main content

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.

PyPI version Python License: MIT

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 udsxml2tex in v0.66.0. The old package, udsxml2tex CLI, 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.pdf when xelatex is 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

udsdoc-0.77.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

udsdoc-0.77.0-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file udsdoc-0.77.0.tar.gz.

File metadata

  • Download URL: udsdoc-0.77.0.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

Hashes for udsdoc-0.77.0.tar.gz
Algorithm Hash digest
SHA256 933bdf6484f110b5e95b6f0239d7ee207992a3d770eb8657c9659c6fcaea3963
MD5 2203b178e5a60a4110c6e4540b21f9aa
BLAKE2b-256 9a1fe16b2ece05f51a048ab8741e3570b8a9f582e429217d3dc5e663758df5ea

See more details on using hashes here.

File details

Details for the file udsdoc-0.77.0-py3-none-any.whl.

File metadata

  • Download URL: udsdoc-0.77.0-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

Hashes for udsdoc-0.77.0-py3-none-any.whl
Algorithm Hash digest
SHA256 227ea08b50eebabd5850a4d5d4f0ff100dffaf184a715ef9d2246e51b1f62511
MD5 d83a9c0fe18b81a9deec274380737450
BLAKE2b-256 b9fc9cf9ac471cd1c7f2f2cf087dd7c3cd6f3df3786ed19d7810a0b08da9524b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page