Thank you for contributing to PyForestScan! Your involvement helps make this project a great tool for point cloud data processing and visualization of forest structure.
By participating in this project, please follow our Code of Conduct.
-
Check Existing Issues — Before opening a new bug report, see if the issue has already been reported. If it has, add any additional details in a comment.
-
Submit a Report — If the issue hasn't been reported, open a new issue and fill out the provided template.
Have an idea to improve PyForestScan? Please open an issue to discuss your suggestion.
To contribute via pull requests:
- Fork the Repository — Fork the PyForestScan repository and clone it locally.
- Create a Branch — Make changes in a new branch. Use descriptive names like
feat/,fix/, ordocs/followed by the feature or fix name. - Commit Your Changes — Write a clear commit message describing your changes.
- Push to Your Fork — Push the branch to your fork on GitHub.
- Create a Pull Request — Open a pull request (PR) in the PyForestScan repository. Link any relevant issues.
- Code Review — A maintainer will review your changes. You may need to make updates based on feedback.
- Merge — Once approved, your PR will be merged into the main codebase.
- Follow the PEP 8 style guide.
- Use type hints in functions.
- Add documentation to public APIs.
- Use present tense ("Add feature" not "Added feature").
- Limit the first line to 72 characters or fewer.
- Reference related issues and PRs when relevant.
-
Ensure
mainis up to date: Confirm all changes intended for the release are merged into themainbranch. -
Update the version: Manually bump the version number in
setup.pybased on the type of release (major, minor, or patch) following semantic versioning. -
Create a new tag: Tag the release with the new version using the format
vX.X.X. For example:git tag v1.2.0 git push origin v1.2.0
-
Deploy to PyPI: The GitHub Actions workflow will automatically build and deploy the package to PyPI once the tag is pushed.
- Major version: For incompatible API changes.
- Minor version: For backward-compatible features.
- Patch version: For backward-compatible bug fixes.
- Ensure compatibility with the latest dependencies.
- Update documentation when adding or changing features.