Contributor Guide¶
Thank you for your interest in improving this project. This project is open-source under the BSD 3 Clause and welcomes contributions in the form of bug reports, feature requests, and pull requests.
Here is a list of important resources for contributors:
How to report a bug¶
Report bugs on the Issue Tracker.
When filing an issue, make sure to answer these questions:
- Which operating system and Python version are you using?
- Which version of this project are you using?
- What did you do?
- What did you expect to see?
- What did you see instead?
The best way to get your bug fixed is to provide a test case, and/or steps to reproduce the issue.
How to request a feature¶
Request features on the Issue Tracker.
How to set up your development environment¶
We recommend using uv to manage the project environment.
-
Install
uv(if needed), see uv installation instructions. -
Sync the project with development, docs, and testing dependencies:
How to build the documentation locally¶
Serve the documentation locally with live reload:
The documentation will be available at http://127.0.0.1:8000/.
To build static documentation files:
The built documentation will be in the site directory.
How to test the project¶
- Install the package with development requirements:
- Run the full test suite:
Unit tests are located in the tests directory, and are written using the pytest testing framework.
How to submit changes¶
Open a pull request to submit changes to this project.
Your pull request needs to meet the following guidelines for acceptance:
- The test suite must pass without errors and warnings.
- Include unit tests.
- If your changes add functionality, update the documentation accordingly.
To run linting and code formatting checks before committing your change, install pre-commit hooks and run checks before pushing:
It is recommended to open an issue before starting work on anything. This will allow a chance to talk it over with the owners and validate your approach.