This document outlines how to contribute to the tika-client project effectively.
For general questions and support, please use our Q&A Discussions forum.
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.
If you've identified a bug:
- Check existing issues to avoid duplicates
- Create a new issue using the bug report template
- Include:
- Python version
- tika-client version
- Gotenberg server version
- Minimal code example demonstrating the bug
- Expected vs actual behavior
- Error messages/stack traces if applicable
- Fork and clone the repository
- Install
uv
for independent tool installationscurl -LsSf https://astral.sh/uv/install.sh | sh # Install uv
- Install
hatch
andpre-commit
uv tool install hatch pre-commit
- Set up pre-commit hooks:
pre-commit install
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
Please ensure all tests pass and code is properly formatted before submitting changes. The code must pass the CI to be merged.
- 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
By contributing, you agree that your contributions will be licensed under the same terms as the project.