Contributing#

Bug reports and feature requests#

Bugs and new feature requests can be submitted to the issue tracker on GitHub. See this StackOverflow post for tips on how to craft a helpful bug report.

Development setup#

Clone the repository:

git clone https://github.com/cancervariants/disease-normalization
cd disease-normalization

Then initialize a virtual environment:

python3 -m virtualenv venv
source venv/bin/activate
python3 -m pip install -e '.[dev,tests,docs]'

We use pre-commit to run conformance tests before commits. This provides checks for:

  • Code format and style

  • Added large files

  • AWS credentials

  • Private keys

Before your first commit, run:

pre-commit install

Style#

Code style is managed by Ruff, and should be checked via pre-commit hook before commits. Final QC is applied with GitHub Actions to every pull request.

Tests#

Tests are executed with pytest:

pytest

Documentation#

The documentation is built with Sphinx, which is included as part of the docs dependency group. Navigate to the docs/ subdirectory and use make to build the HTML version:

cd docs
make html

See the Sphinx documentation for more information.