.. _contributing: 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/fusor cd fusor 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 * Merge conflicts * EOF normalization 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. Generating examples ------------- The fusion examples in ``src/fusor/examples`` can be generated by running the following: :: python3 scripts/generate_examples.py