Skip to main content

rdlfmt

A formatter for SystemRDL 2.0, following the PeakRDL style guide.

Documentation

Before:

addrmap top{
  reg {
      field{sw=rw;
    hw=r;} data[31:0];   // payload
  }ctrl @0x0;


  reg{field{sw=r;hw=w;}status[7:0];}stat@0x4;
};

After:

addrmap top {
    reg {
        field {
            sw = rw;
            hw = r;
        } data[31:0]; // payload
    } ctrl @ 0x0;

    reg {
        field {
            sw = r; hw = w;
        } status[7:0];
    } stat @ 0x4;
};

Line breaks between statements are yours — note that the first register's properties stay split and the second's stay joined. There is nothing to configure, deliberately. See What it does.

Install

A prebuilt binary, needing no toolchain of any kind:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/fischeti/rdlfmt/releases/latest/download/rdlfmt-installer.sh | sh

Or from PyPI:

uv tool install rdlfmt

cargo install rdlfmt works too. See Installation for Windows and building from source.

Usage

rdlfmt regs.rdl     # rewrite in place -- the default
rdlfmt .            # every .rdl file in the tree
rdlfmt --check .    # exit 1 if anything is unformatted; the one for CI
rdlfmt --diff .     # ...and show what would change
rdlfmt -            # filter stdin to stdout

That last one is what editors want: Editor integration has format-on-save recipes for Neovim, Vim, VS Code, Zed, Helix and Emacs. Full command line in Usage.

Library

The formatter is also a library:

let formatted = rdlfmt::format(source)?;

rdlfmt::syntax exposes the lexer and the lossless CST underneath. API docs on docs.rs.

License

Dual-licensed under either of

at your option.

Metadata

Release files for rdlfmt 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rdlfmt 0.4.0
File Size Uploaded
rdlfmt-0.4.0.tar.gz 85.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for rdlfmt 0.4.0
File
rdlfmt-0.4.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
rdlfmt-0.4.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
rdlfmt-0.4.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
rdlfmt-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
rdlfmt-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
rdlfmt-0.4.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
rdlfmt-0.4.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 9.0 MB

Release files / rdlfmt-0.4.0.tar.gz

Download URL rdlfmt-0.4.0.tar.gz
Size 85.9 kB
Tags Source
SHA-256 checksum
How to use checksums
68c1ecb633aa9b420cd74853cee9cc830ad2a7dab53955712981ec342d84214e
BLAKE2b-256 checksum
How to use checksums
51530fc55e37ac5f562e90baa4459f15339de918302b1f97e78657f629e09264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-win_amd64.whl

Download URL rdlfmt-0.4.0-py3-none-win_amd64.whl
Size 1.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
c594608e59be9bf43735478743f1e4430e73bc95abcd05f0768e0ae42c248e69
BLAKE2b-256 checksum
How to use checksums
29cd8c958546da2e61ed5bbb56d03f96b8f014dc32c189614462220c0856e86f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-musllinux_1_2_x86_64.whl

Download URL rdlfmt-0.4.0-py3-none-musllinux_1_2_x86_64.whl
Size 1.4 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
254bf82045730e36052f6a5b576058e8289f0920c2ee7d80df4d06e10de5cb72
BLAKE2b-256 checksum
How to use checksums
0a71053f24d46df0563e4a12bdfbd02c1612c315d7977603ad4557276436f9e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-musllinux_1_2_aarch64.whl

Download URL rdlfmt-0.4.0-py3-none-musllinux_1_2_aarch64.whl
Size 1.4 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
4642e0a9a93c94609d77458b71115e96d06396b8c8f1eb99427bf43982252b92
BLAKE2b-256 checksum
How to use checksums
695bcb59d5c011e08dbe5724ac29847b809b98f9282345daa46ee8451a515ce6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rdlfmt-0.4.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6fff57e1af1991b0e9860c900f931d846bf1dab766eb9477eb34ad7ffe828c61
BLAKE2b-256 checksum
How to use checksums
760a3fad8fdbfba1b5fd484f4891fe1e945f71043528d8dae521c593aa99156f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL rdlfmt-0.4.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.3 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
a862dc010556a992c5b30610c7f2be04bcefa2bfd61b700f8a966f24b26c4713
BLAKE2b-256 checksum
How to use checksums
b93e316c5fec3b398294e15faeeff38556d49412e952badc7388b8d21eef9d86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-macosx_11_0_arm64.whl

Download URL rdlfmt-0.4.0-py3-none-macosx_11_0_arm64.whl
Size 1.1 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
488c7c947ab0f0d9762502dbb4ff04bef24d8b396828ee9fce9618072accf0ce
BLAKE2b-256 checksum
How to use checksums
d9ff8a75dcc017bdc0506c04fcd68a1f73282746ff4300b8671d4dfe4edc7699
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / rdlfmt-0.4.0-py3-none-macosx_10_12_x86_64.whl

Download URL rdlfmt-0.4.0-py3-none-macosx_10_12_x86_64.whl
Size 1.3 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4b33fb07e985005a0b7c7a77343b289a62a1e77b4bf8cca3a250686a7844f9d7
BLAKE2b-256 checksum
How to use checksums
0feefd4e59cc10a5aab077b308f62d7d13e8eb92c21586cc821f33a75427fc8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

8 release files

0.3.0

8 release files

0.2.0

8 release files

0.1.1

8 release files

0.1.0

8 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page