rdlfmt 0.1.1

A formatter for SystemRDL
Documentation
[build-system]
requires = ["maturin>=1.9,<2.0"]
build-backend = "maturin"

[project]
name = "rdlfmt"
description = "A formatter for SystemRDL"
readme = "README.md"
requires-python = ">=3.8"
license = "MIT OR Apache-2.0"
license-files = ["LICENSE-MIT", "LICENSE-APACHE"]
keywords = ["systemrdl", "formatter", "eda", "registers", "csr"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Operating System :: OS Independent",
    "Programming Language :: Rust",
    "Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
    "Topic :: Software Development :: Quality Assurance",
]
# Taken from Cargo.toml, so the crates.io and PyPI versions cannot drift.
dynamic = ["version"]

[project.urls]
Homepage = "https://github.com/fischeti/rdlfmt"
Repository = "https://github.com/fischeti/rdlfmt"
Issues = "https://github.com/fischeti/rdlfmt/issues"

# Registers `peakrdl fmt` when this wheel is installed alongside PeakRDL. The
# key is the subcommand name -- PeakRDL takes it from the entry point, not from
# the class. See python/rdlfmt/__peakrdl__.py.
[project.entry-points."peakrdl.exporters"]
fmt = "rdlfmt.__peakrdl__:Formatter"

[tool.maturin]
# Ship the Rust binary itself as the package: no PyO3, no bindings. maturin
# puts it in the wheel's scripts directory, which is what lands it on PATH for
# `uv tool install rdlfmt` and `uvx rdlfmt`.
#
# The consequence is that wheels are platform-specific but Python-agnostic --
# tagged `py3-none-<platform>` -- so the release matrix is one build per
# platform rather than platform x interpreter version.
bindings = "bin"

# The only Python in the wheel is the PeakRDL plugin descriptor, which is inert
# unless PeakRDL loads it. maturin allows this mixed layout alongside `bin`
# bindings without changing the wheel tag, so the plugin costs the release
# matrix nothing and `uv tool install rdlfmt` still pulls in no dependencies.
python-source = "python"