Contributing
Thank you for your interest in HABIT! We welcome contributions of all kinds.
How to contribute
Report bugs
If you find a bug, please open a GitHub issue:
Search existing issues to avoid duplicates.
Include a clear title, steps to reproduce, expected vs. actual behavior, and environment (Python version, OS).
Submit code
Fork the repository.
Create a feature branch (
git checkout -b feature/AmazingFeature).Commit your changes (
git commit -m 'Add some AmazingFeature').Push to the branch (
git push origin feature/AmazingFeature).Open a Pull Request.
Code style
Follow PEP 8.
Use snake_case for Python variables, function parameters, module-level names, and YAML / Pydantic configuration field keys (e.g.
out_dir,kernel_radius,feature_construction). Use PascalCase for classes only.Add docstrings where appropriate.
Add tests for new behavior.
Ensure
pytest tests/passes.
Documentation
Documentation contributions are welcome:
Fix typos and clarify wording.
Add tutorials or examples.
Keep the single English docs site up to date.
Development setup
Use the same Python 3.10 conda environment habit as end users (see Installation).
conda activate habit
pip install -e .
pytest tests/
Pull requests
Before submitting a PR:
All tests pass.
Docs updated if behavior or config changed.
PR description explains the change clearly.
Code of conduct
Be respectful to all contributors.
Accept constructive feedback.
Focus on what helps the community.
Thank you for contributing!