peakrdl-html
HTML documentation generator for SystemRDL-based register models
What it is and what it does
PeakRDL-html is a documentation generator that takes compiled SystemRDL register descriptions and produces browsable HTML documentation. It's designed as an exporter plugin for the PeakRDL ecosystem, accepting elaborated register trees and rendering them into static HTML with configurable templates, markdown support, and optional source-code links.
The package is typically used either through the PeakRDL command-line tool (the easiest path) or directly via its Python API by passing a compiled register model. It supports customization through user-defined templates, static assets, and configuration options like field ordering, signal visibility, and extra documentation properties. Dependencies include Jinja2 for templating, markdown processors for rich text support, and git-me-the-url for generating links back to register definitions in source control.
Use it for:
- Generate browsable HTML documentation from SystemRDL register definitions for hardware design teams.
- Integrate register documentation into a CI/CD pipeline to auto-generate docs on each design update.
- Customize register documentation layout and styling by providing user-defined Jinja2 templates.
- Create links from generated documentation back to register definitions in a Git repository.
- Document user-defined register properties alongside built-in SystemRDL properties in HTML output.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates HTML documentation for register address spaces from compiled SystemRDL register descriptions, converting hardware register models into browsable web documentation.
Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and solves a specific and well-defined problem in the hardware design documentation workflow. The LGPLv3 license is standard for open-source tools and poses no barrier to most users. Install it if you work with SystemRDL register models and need to generate documentation.
Install
peakrdl-html on PyPI
pip
pip install peakrdl-htmluv
uv add peakrdl-htmlpoetry
poetry add peakrdl-htmlInstalling peakrdl-html
Before you install
Low friction install with a pure-Python wheel. The package is actively maintained with a recent release and no known vulnerabilities. Five runtime dependencies are all standard Python packages (Jinja2, markdown, systemrdl-compiler, git-me-the-url, python-markdown-math), making installation straightforward.
License in practice
Licensed under LGPLv3 (copyleft). You can use this package freely, but any modifications you distribute must also be released under LGPLv3, and you must provide access to the modified source code.
Quickstart
from peakrdl_html import HTMLExporter
exporter = HTMLExporter()
exporter.export(root, "path/to/output")
# Or via command line:
# peakrdl html your_design.rdl -o output_dir
Requires a compiled SystemRDL root node or AddrmapNode from systemrdl-compiler as input; the package is an exporter, not a compiler.
Verify before relying
- Whether the package works with Python versions beyond 3.7 (requires_python states >=3.7, but current Python support tier is not specified).
- Performance characteristics when exporting large register models or complex address spaces.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — systemrdl-compiler, Jinja2, markdown, git-me-the-url, python-markdown-math |
| Maintenance | actively maintained — 161 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 195,830/month — #9,804 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: peakrdl_html-2.12.2-py3-none-any.whl
Keywords: SystemRDL, PeakRDL, CSR, compiler, tool, registers, generator, HTML, documentation
Tags
More Documentation packages
Docutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
MarkdownConverts Markdown text to HTML using a Python…
permissive · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
griffeGriffe extracts the complete structure and…
permissive · top 1,000 on PyPI
alabasterAlabaster is a clean, responsive Sphinx theme…
permissive · top 1,000 on PyPI
mkdocs-materialMaterial for MkDocs is a professional theme and…
permissive · top 5,000 on PyPI
peakrdl-systemrdlExports a compiled register model into…
copyleft · top 15,000 on PyPI
peakrdl-cheaderGenerates C header files from SystemRDL…
copyleft · top 15,000 on PyPI
peakrdl-cliPeakRDL is a command-line tool that generates…
copyleft · top 15,000 on PyPI
peakrdl-uvmGenerates UVM (Universal Verification…
copyleft · top 15,000 on PyPI
peakrdlPeakRDL is a control and status register (CSR)…
copyleft · top 15,000 on PyPI
peakrdl-regblockCompiles SystemRDL register descriptions into…
copyleft · top 15,000 on PyPI
systemrdl-compilerParses and elaborates SystemRDL 2.0 register…
permissive · top 15,000 on PyPI
peakrdl-ipxactConverts between SystemRDL register…
copyleft · top 15,000 on PyPI
peakrdl-pythonGenerates a Python Register Access Layer (RAL)…
copyleft · top 15,000 on PyPI