Contributing¶
This document outlines how to contribute to the gotenberg-client project effectively.
Questions and Support¶
For general questions and support, please use our Q&A Discussions forum.
Feature Requests¶
We use the Ideas category in Github Discussions for feature requests and project improvements. Please check existing discussions before creating a new one to avoid duplicates.
Bug Reports¶
If you've identified a bug:
- Check existing issues to avoid duplicates
- Create a new issue using the bug report template
- Include:
- Python version
- gotenberg-client version
- Gotenberg server version
- Minimal code example demonstrating the bug
- Expected vs actual behavior
- Error messages/stack traces if applicable
Development Setup¶
- Fork and clone the repository
- Install
uv
for independent tool installations - Install
hatch
andpre-commit
- Set up pre-commit hooks:
Code Style¶
We use hatch
for project management, testing, and formatting:
- Run tests:
hatch test
- Format & lint code:
hatch fmt
- Check formatting:
hatch fmt --check
- Check typing:
hatch run typing:run
- Build documentation:
hatch run docs:build
Please ensure all tests pass and code is properly formatted before submitting changes. The code must pass the CI to be merged.
Pull Request Process¶
- Create a new branch from
develop
- Make your changes
- Update tests and documentation
- Run the test suite
- Submit a PR against
develop
- Reference any related issues
PRs should:
- Focus on a single feature/fix
- Include tests for new functionality
- Update documentation as needed
- Follow existing code style
License¶
By contributing, you agree that your contributions will be licensed under the same terms as the project.