Skip to content

Latest commit

 

History

History
72 lines (52 loc) · 2.15 KB

CONTRIBUTING.md

File metadata and controls

72 lines (52 loc) · 2.15 KB

Contributing

This document outlines how to contribute to the tika-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:

  1. Check existing issues to avoid duplicates
  2. Create a new issue using the bug report template
  3. 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

Development Setup

  1. Fork and clone the repository
  2. Install uv for independent tool installations
    curl -LsSf https://astral.sh/uv/install.sh | sh  # Install uv
  3. Install hatch and pre-commit
    uv tool install hatch pre-commit
  4. Set up pre-commit hooks:
    pre-commit install

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

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

  1. Create a new branch from develop
  2. Make your changes
  3. Update tests and documentation
  4. Run the test suite
  5. Submit a PR against develop
  6. 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.