default_stages: ['pre-commit'] repos: - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.14.4 hooks: # fix unused imports and sort them - id: ruff args: ["--extend-select", "I", "--fix"] # format the code - id: ruff-format # run the linter - id: ruff - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: # general hooks: - id: check-added-large-files # Prevent giant files from being committed args: ['--maxkb=5000'] - id: check-merge-conflict # Check for files that contain merge conflict strings - id: check-symlinks # Checks for symlinks which do not point to anything - id: check-yaml # Attempts to load all yaml files to verify syntax - id: destroyed-symlinks # Detects symlinks which are changed to regular files - id: detect-private-key # Checks for the existence of private keys # Python specific hooks: - id: check-ast # Simply check whether files parse as valid python - id: check-docstring-first # Checks for a common error of placing code before the docstring - repo: https://github.com/pycqa/flake8 rev: 7.3.0 hooks: - id: flake8 args: [--config=.flake8] fail_fast: true - repo: https://github.com/pre-commit/mirrors-mypy rev: v1.18.2 hooks: - id: mypy args: [ '--config-file=pyproject.toml' ] fail_fast: true additional_dependencies: - pydantic - pytest - pytest-mock - cryptography - textual - repo: local hooks: - id: pylint name: pylint entry: pylint language: system types: [python] fail_fast: true require_serial: true