--- default_language_version: python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: check-added-large-files - id: check-byte-order-marker - id: check-case-conflict - id: check-merge-conflict - id: check-shebang-scripts-are-executable - id: check-symlinks - id: check-toml - id: check-yaml - id: debug-statements - id: detect-private-key - id: end-of-file-fixer - id: mixed-line-ending - id: trailing-whitespace - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.6.9 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - id: ruff-format - repo: https://github.com/rbubley/mirrors-prettier rev: v3.3.3 hooks: - id: prettier - repo: https://github.com/Yelp/detect-secrets rev: v1.5.0 hooks: - id: detect-secrets additional_dependencies: [".[word_list]"] args: - --word-list=.secrets.allowlist - --exclude-files=.secrets.baseline$ exclude: tests/cassettes - repo: https://github.com/jumanjihouse/pre-commit-hooks rev: 3.0.0 hooks: - id: check-mailmap - repo: https://github.com/codespell-project/codespell rev: v2.3.0 hooks: - id: codespell additional_dependencies: [".[toml]"] exclude_types: [jupyter] - repo: https://github.com/pappasam/toml-sort rev: v0.23.1 hooks: - id: toml-sort-fix - repo: https://github.com/srstevenson/nb-clean rev: 3.3.0 hooks: - id: nb-clean args: [--preserve-cell-outputs, --remove-empty-cells] - repo: https://github.com/abravalheri/validate-pyproject rev: v0.20.2 hooks: - id: validate-pyproject additional_dependencies: - "validate-pyproject-schema-store[all]>=2024.08.19" # For Ruff renaming RUF025 to C420 - repo: https://github.com/astral-sh/uv-pre-commit rev: 0.4.21 hooks: - id: uv-lock - repo: https://github.com/pre-commit/mirrors-mypy rev: v1.12.0 hooks: - id: mypy additional_dependencies: - fastapi>=0.109 # Match pyproject.toml - fhaviary>=0.8 # Match pyproject.toml - httpx - litellm>=1.40.15,!=1.49.4,!=1.49.5,!=1.49.6 # Match pyproject.toml - numpy>=1.20 # Match pyproject.toml - openai>=1,<1.47 # Match pyproject.toml - pydantic~=2.0 # Match pyproject.toml - tenacity - torch - types-aiofiles - types-tqdm - usearch>=2.13 # Match pyproject.toml - wandb