Contributing¤
Thank you for your interest in contributing to KymFlow!
Development Setup¤
-
Clone the repository:
git clone https://github.com/mapmanager/kymflow.git cd kymflow -
Install in editable mode with development dependencies:
pip install -e ".[gui,test,notebook]" -
Run tests:
pytest
Code Style¤
- Follow PEP 8 style guidelines
- Use type hints for function parameters and return values
- Add docstrings in Google style format
- Run linters before submitting PRs
Testing¤
- Write tests for new features
- Ensure all tests pass:
pytest - Aim for good test coverage of new code
- Tests should work without proprietary data when possible
Documentation¤
- Update docstrings when adding/changing functions
- Update user guide for GUI changes
- Update API docs for backend changes
- Keep examples in notebooks up to date
Submitting Changes¤
- Create a feature branch
- Make your changes
- Add/update tests
- Run tests and ensure they pass
- Submit a pull request with a clear description