default_language_version: python: python3.12 default_install_hook_types: [pre-commit, pre-push] repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-json - id: check-merge-conflict - id: check-added-large-files args: ['--maxkb=500'] - repo: local hooks: - id: black name: black (formatter) entry: uv run black src/ language: system pass_filenames: false types: [python] - id: mypy name: mypy (type check) entry: uv run mypy src/ language: system pass_filenames: false types: [python] - id: pytest name: pytest (unit tests) entry: uv run pytest src/tests/ language: system pass_filenames: false stages: [pre-push]