Thank you for your interest in contributing to PyStormTracker! We welcome contributions from the community to help improve this cyclone tracking framework.
If you find a bug, please open an issue on GitHub. Include:
- A clear description of the issue.
- Steps to reproduce the bug.
- Any relevant logs or error messages.
- Information about your environment (OS, Python version, PyStormTracker version).
We welcome ideas for new features or improvements. Please open an issue to discuss your proposal before starting implementation.
- Fork the repository and create your branch from
main. - Install development dependencies:
uv sync
- Make your changes:
- Ensure your code follows the project's style (use
rufffor formatting and linting). - Add or update tests for your changes.
- Ensure all tests pass.
- Ensure your code follows the project's style (use
- Run Quality Control Checks:
uv run ruff check . --fix uv run ruff format . uv run mypy src/ uv run pytest
- Submit the Pull Request:
- Provide a clear description of the changes.
- Reference any related issues.
- Code Style: We use
rufffor linting and formatting. - Type Safety: All new code should be type-hinted and pass
mypystrict checks. - Testing: We use
pytest. Ensure that your changes are covered by unit tests and, if applicable, integration tests. - Documentation: Update the documentation in
docs/if you introduce new features or change existing behavior.
This project is currently maintained by Albert M. W. Yau. Decisions regarding pull requests and the project's roadmap are made by the maintainer in consultation with the community.
Please be respectful and professional in all interactions within the PyStormTracker community.