default_install_hook_types: # Mandatory to install both pre-commit and pre-push hooks (see https://pre-commit.com/#top_level-default_install_hook_types) # Add new hook types here to ensure automatic installation when running `pre-commit install` - pre-commit - pre-push repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-yaml - id: check-json - id: check-added-large-files - repo: local hooks: - id: black name: Formatting (black) entry: black language: system types: [python] stages: [commit] - id: ruff name: Linter (ruff) entry: ruff language: system types: [python] stages: [commit] - id: mypy name: Type checking (mypy) entry: make mypy pass_filenames: false language: system types: [python] stages: [commit] - id: test name: Unit tests (pytest) entry: make test pass_filenames: false language: system types: [python] stages: [push]