.pre-commit-config.yaml
---
repos:
- repo: meta
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-executables-have-shebangs
- id: mixed-line-ending
- id: check-added-large-files
- id: check-merge-conflict
- id: detect-private-key
- id: check-docstring-first
- id: check-toml
- id: check-yaml
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.27.3
hooks:
- id: check-github-workflows
name: validate github workflows
args: ["--verbose"]
- id: check-renovate
name: validate renovate config
args: ["--verbose"]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: python-check-blanket-noqa
- id: python-check-blanket-type-ignore
- id: python-check-mock-methods
- id: rst-backticks
- id: rst-directive-colons
- id: rst-inline-touching-normal
- repo: https://github.com/PyCQA/doc8
rev: v1.1.1
hooks:
- id: doc8
- repo: https://github.com/asottile/pyupgrade
rev: v3.15.0
hooks:
- id: pyupgrade
args: [--py311-plus]
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.9.0.6
hooks:
- id: shellcheck
- repo: local
hooks:
- id: pyproject.toml
name: validate pyproject.toml
language: system
entry: poetry check
files: 'pyproject\.toml'
pass_filenames: false
- id: ruff format
name: ruff format
language: system
entry: poetry run ruff format
types: [python]
pass_filenames: true
- id: ruff check
name: ruff check
language: system
entry: poetry run ruff check --fix
types: [python]
pass_filenames: true
- id: deal lint
name: deal lint
language: system
entry: poetry run python3 -m deal lint
types: [python]
- id: mypy
name: mypy
language: system
entry: poetry run mypy
types: [python]
- id: pylic
name: validate dependency licenses
language: system
entry: poetry run pylic check
pass_filenames: false
files: 'pyproject\.toml'