Contributing

Thank you for your interest in improving pharmadata! Contributions of any kind are welcome - bug reports, documentation fixes, new datasets, and code contributions alike. If you’re unsure where to start, please open an issue and we’ll be glad to help you get going.

Setup

uv sync --all-groups --all-extras

Other tools

uv tool install air-formatter    # R formatter
uv tool install jarl-linter      # R linter

Pre-commit hooks

uv run pre-commit install

Data workflow

make refresh       # fetch sources -> export with R -> build data, stubs, docs

Check

make check         # ruff format --check, ruff, typos, mypy, pyrefly, pytest

Lint

make fix           # ruff format, ruff --fix, typos --write-changes

Test

make test          # uv run pytest; make test ARGS="-k adsl"

Doc

make docs-build   # build site
make docs-serve   # serve the already-generated site