Skip to content

Contributing to Kreuzberg

Thank you for considering contributing to Kreuzberg! This document provides guidelines and instructions for contributing to the project.

Development Setup

  1. Clone the repository:

    git clone https://github.com/Goldziher/kreuzberg.git
    cd kreuzberg
    
  2. Create and activate a virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. Install development dependencies:

    pip install -e ".[dev,docs]"
    

Running Tests

pytest

Code Style

This project uses:

  • Black for code formatting
  • isort for import sorting
  • mypy for static type checking
  • ruff for linting

You can run all style checks with:

1
2
3
4
black .
isort .
mypy .
ruff check .

Documentation

Documentation is built with MkDocs using the Material for MkDocs theme.

To build and serve the documentation locally:

mkdocs serve

Pull Request Process

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

By contributing to Kreuzberg, you agree that your contributions will be licensed under the project's MIT License.