Contributing to Brisk#
Thank you for your interest in contributing to Brisk! This guide outlines the process for contributing to the project.
Getting Started#
Clone the Repository:
git clone https://github.com/BFieguth/brisk.gitCreate a Branch: Create a new branch for your changes:
git checkout -b feature/your-feature-name
Create a Conda Environment:
conda create -n brisk-dev python==3.12 conda activate brisk-dev
Install Poetry:
conda install poetry
Install Development Dependencies:
poetry installMake Changes: Implement your changes, including tests and documentation
Push Your Branch: Push your changes to the repository:
git push origin feature/your-feature-name
Create a Pull Request: Create a PR from your branch to the main branch
Issues#
All contributions should address an existing issue or create a new one first.
Use the provided issue templates when creating new issues.
Issues should clearly describe the problem or enhancement.
Pull Requests#
Create a Branch: Create a branch for your changes.
Make your Changes: Implement your changes, including tests and documentation.
Link to Issues: All PRs must reference at least one issue using the syntax “Fixes #123” or “Relates to #123”.
Submit your PR: Submit your changes for review.
Code Standards#
Follow the Google Python Style Guide.
Use NumPy-style docstrings for all functions and classes.
Run
pylintusing Google’s configuration before submitting PRs. A .pylintrc file is provided in the root of the repository.Include unit tests for new functionality.
Testing#
Run the existing test suite before submitting changes:
pytest
Ensure all tests pass and coverage is maintained or improved.
The end-to-end tests can take several minutes to run so you may want to run just the unit tests until you have have your feature working:
pytest tests/unit_tests
Documentation#
Update or add documentation for any changed or new functionality.
Build and check documentation locally:
cd docs make html
Code Review#
All PRs require at least one approval before merging.
Be respectful and constructive in review discussions.
Additional Resources#
Thank you for contributing to Brisk!