Contributing
We welcome bug reports, feature ideas, and pull requests. This guide covers the basics for working on GENBoostGPU.
Development environment
Clone the repository and install the development extras:
git clone https://github.com/heart-gen/GENBoostGPU.git cd GENBoostGPU python -m venv .venv source .venv/bin/activate pip install -e ".[dev]"
Install the documentation tooling if you plan to build the docs locally:
pip install -r docs/requirements.txt
Running tests
Unit tests:
pytest -qCoverage:
pytest --cov=genboostgpu --cov-report=term-missingStatic analysis:
ruff check .andmypy src
Formatting & style
Use black for formatting and isort for import ordering.
ruffcan run both viaruff formatandruff check --fix.Docstrings follow Google or NumPy style (
napoleonis enabled in the docs).A
.pre-commit-config.yamlis provided—runpre-commit installto enable hooks that enforce the style checks before every commit.
Issue & PR workflow
Search the issue tracker before filing a new bug to avoid duplicates.
Include a minimal reproducible example (inputs, hyperparameters, expected vs actual behaviour). Compress large datasets or provide pointers to public sources if possible.
Reference relevant modules (e.g.,
:mod:`genboostgpu.cpg_orchestration) in your PR description to make review easier.
Adding tutorials
Place runnable scripts in
examples/with seeded RNGs (random_state=42).Document the narrative in
docs/tutorials/<name>.rstand pull in the script withliteralincludeso users can copy/paste it.Cross-link to the relevant API pages using
:mod:and:func:roles.Update
docs/tutorials/index.rstto include the new page.
Thank you for helping make GENBoostGPU better!