repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 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/add-trailing-comma rev: v2.4.0 hooks: - id: add-trailing-comma args: [--py36-plus] - repo: https://github.com/asottile/pyupgrade rev: v3.3.1 hooks: - id: pyupgrade args: ["--py37-plus"] exclude: "^(tests/demo_pkg_inline/build.py)$" - id: pyupgrade files: "^(tests/demo_pkg_inline/build.py)$" - repo: https://github.com/PyCQA/isort rev: 5.12.0 hooks: - id: isort - repo: https://github.com/psf/black rev: 23.1.0 hooks: - id: black args: [--safe] - repo: https://github.com/asottile/blacken-docs rev: 1.13.0 hooks: - id: blacken-docs additional_dependencies: [black==23.1] - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.10.0 hooks: - id: rst-backticks - repo: https://github.com/tox-dev/tox-ini-fmt rev: "0.6.1" hooks: - id: tox-ini-fmt args: ["-p", "fix"] - repo: https://github.com/PyCQA/flake8 rev: 6.0.0 hooks: - id: flake8 additional_dependencies: - flake8-bugbear==23.3.12 - flake8-comprehensions==3.11.1 - flake8-pytest-style==1.7.2 - flake8-spellcheck==0.28 - flake8-unused-arguments==0.0.13 - flake8-noqa==1.3.1 - pep8-naming==0.13.3 - flake8-pyproject==1.2.3 - repo: https://github.com/pre-commit/mirrors-prettier rev: "v2.7.1" hooks: - id: prettier additional_dependencies: - prettier@2.7.1 - "@prettier/plugin-xml@2.2" args: ["--print-width=120", "--prose-wrap=always"] - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.33.0 hooks: - id: markdownlint - repo: local hooks: - id: changelogs-rst name: changelog filenames language: fail entry: "changelog files must be named ####.(feature|bugfix|doc|removal|misc).rst" exclude: ^docs/changelog/(\d+\.(feature|bugfix|doc|removal|misc).rst|template.jinja2) files: ^docs/changelog/ - repo: meta hooks: - id: check-hooks-apply - id: check-useless-excludes