default_language_version: python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-ast - id: check-builtin-literals - id: check-docstring-first - id: check-merge-conflict - id: check-yaml - id: check-toml - id: debug-statements - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/asottile/pyupgrade rev: v2.23.3 hooks: - id: pyupgrade - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort - repo: https://github.com/psf/black rev: 21.7b0 hooks: - id: black args: - --safe language_version: python3.8 - repo: https://github.com/asottile/blacken-docs rev: v1.10.0 hooks: - id: blacken-docs additional_dependencies: - black==20.8b1 language_version: python3.8 - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.9.0 hooks: - id: rst-backticks - repo: https://github.com/asottile/setup-cfg-fmt rev: v1.17.0 hooks: - id: setup-cfg-fmt args: - --min-py3-version - "3.4" - repo: https://github.com/PyCQA/flake8 rev: 3.9.2 hooks: - id: flake8 additional_dependencies: - flake8-bugbear == 20.11.1 language_version: python3.8 - repo: local hooks: - id: changelogs-rst name: changelog filenames language: fail entry: >- changelog files must be named ####.(bugfix|feature|deprecation|breaking|doc|misc).rst exclude: >- ^docs/changelog/(\d+\.(bugfix|feature|deprecation|breaking|doc|misc).rst|README.rst|template.jinja2) files: ^docs/changelog/ - id: changelogs-user-role name: changelog files have a non-broken :user:`name` role language: pygrep entry: :user:([^`]+`?|`[^`]+[\s,]) pass_filenames: true types: [file, rst]