Contributing¶
Thank you for your interest in contributing to pyCropWat!
Development Setup¶
-
Fork and clone the repository:
-
Create a virtual environment:
-
Install development dependencies:
-
Authenticate with Google Earth Engine:
Code Style¶
We use the following tools to maintain code quality:
- Black for code formatting
- Ruff for linting
- NumPy-style docstrings
Run formatting and linting:
Running Tests¶
# Run all tests
pytest
# Run with coverage
pytest --cov=pycropwat --cov-report=html
# Run specific test file
pytest tests/test_core.py
Documentation¶
Documentation is built with MkDocs. To preview locally:
Then open http://localhost:8000 in your browser.
Pull Request Process¶
-
Create a new branch for your feature:
-
Make your changes and commit:
-
Push to your fork:
-
Open a Pull Request on GitHub
PR Checklist¶
- [ ] Code follows the project style guidelines
- [ ] Tests pass locally
- [ ] New functionality includes tests
- [ ] Documentation updated if needed
- [ ] Commit messages are clear and descriptive
Reporting Issues¶
When reporting issues, please include:
- Python version
- pyCropWat version
- Operating system
- Full error traceback
- Minimal code to reproduce the issue
Feature Requests¶
Feature requests are welcome! Please:
- Check existing issues first
- Describe the use case clearly
- Explain why this would benefit other users
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.