repos:
  - repo: https://github.com/astral-sh/uv-pre-commit
    # uv version.
    rev: 0.8.18
    hooks:
      - id: uv-lock
  - repo: local
    hooks:
      - id: ruff-check
        name: Ruff Linter
        language: python
        types: [python]
        entry: ruff check --fix
        require_serial: true
        stages: [pre-commit, pre-push, manual]
      - id: ruff-format
        name: Ruff Formatter
        language: python
        types: [python]
        entry: ruff format
        require_serial: true
        stages: [pre-commit, pre-push, manual]
      - id: codespell
        name: Find Spelling Errors
        language: python
        entry: codespell
        stages: [pre-commit, pre-push, manual]
        additional_dependencies: [codespell]
      - id: mypy
        name: MyPy Typing and more
        language: python
        types: [python]
        entry: mypy
        stages: [manual]
        additional_dependencies: [mypy]
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.2.0
    hooks:
      - id: check-ast
      - id: check-added-large-files
      - id: detect-private-key
      - id: trailing-whitespace
