Contributor Guide#
Contributions are welcome. This section collects the development setup and the conceptual
material needed to extend irdl.
Developer setup#
irdl uses uv for
development. uv handles virtual environment creation and dependency installation
automatically. Just prepend development commands with uv run.
$ uv run python -m pytest
$ uv run ruff check --fix
$ uv run ruff format
$ uv run make -C docs html
The documentation Makefile regenerates the dataset docs and CLI help snippets that are
included in the Sphinx documentation. Only the README.md may need manual updating.
Coding style#
The source of truth for formatting and linting is pyproject.toml and is enforced by
ruff. Important rules are:
Line length: 120 characters.
Double quotes.
NumPy-style docstrings.
Prefer explicit
ValueErrorexceptions for invalid user input rather thanassert.After parameter validation, access required parameters directly, for example
dataset_kwargs["scenario"]rather thandataset_kwargs.get("scenario").