Contributing
Thank you for your interest in improving highFIS.
Ways to Contribute
- Report bugs or request features through GitHub issues.
- Improve documentation, examples, and test coverage.
- Submit focused bug fixes and incremental feature improvements.
Development Setup
This project uses Hatch for environment management, testing, formatting, and builds.
To set up pre-commit hooks:
Local Checks
Run the following before opening a pull request:
hatch fmt # format and lint (ruff)
hatch run typing # type check (ty)
hatch run security # security scan (bandit)
hatch test -c # tests with coverage (pytest + coverage)
To run all pre-commit hooks at once:
Test Matrix
Tests run against Python 3.11, 3.12, 3.13, and 3.14. To run against a specific version:
Coverage
Coverage must stay at or above 90 %. To generate an HTML report:
Documentation Workflow
Documentation is built with Zensical.
Pull Request Guidelines
- Create a branch from
main. - Keep changes small and coherent.
- Add or update tests for behavior changes.
- Update documentation for public API changes.
- Ensure all local checks pass (
hatch run all). - Provide a clear PR description with motivation and scope.
Reporting Issues
Please include:
- Expected behavior and actual behavior.
- A minimal reproducible example.
- Python version, OS, and package versions.
- Relevant logs or stack traces.