| # Learn more about this config here: https://pre-commit.com/ | |
| # To enable these pre-commit hooks run: | |
| # `pipx install pre-commit` or `brew install pre-commit` | |
| # Then in the project root directory run `pre-commit install` | |
| repos: | |
| - repo: https://github.com/pre-commit/pre-commit-hooks | |
| rev: v5.0.0 | |
| hooks: | |
| - id: check-added-large-files | |
| - id: check-ast | |
| - id: check-builtin-literals | |
| - id: check-case-conflict | |
| - id: check-docstring-first | |
| - id: check-executables-have-shebangs | |
| - id: check-json | |
| - id: check-merge-conflict | |
| - id: check-shebang-scripts-are-executable | |
| - id: check-symlinks | |
| - id: check-toml | |
| - id: check-vcs-permalinks | |
| - id: check-xml | |
| - id: check-yaml | |
| - id: debug-statements | |
| - id: destroyed-symlinks | |
| - id: detect-private-key | |
| # - id: end-of-file-fixer # TODO(cclauss): Causes some tests to fail. | |
| - id: file-contents-sorter | |
| - id: fix-byte-order-marker | |
| - id: forbid-new-submodules | |
| - id: forbid-submodules | |
| # - id: mixed-line-ending # TODO(cclauss): Causes some tests to fail. | |
| # args: | |
| # - --fix=lf | |
| - id: name-tests-test | |
| - id: pretty-format-json | |
| - id: requirements-txt-fixer | |
| - id: sort-simple-yaml | |
| # - id: trailing-whitespace # TODO(cclauss): Causes some tests to fail. | |
| - repo: https://github.com/MarcoGorelli/auto-walrus | |
| rev: 0.3.4 | |
| hooks: | |
| - id: auto-walrus | |
| - repo: https://github.com/codespell-project/codespell | |
| rev: v2.4.1 | |
| hooks: | |
| - id: codespell | |
| args: | |
| - --ignore-words-list=alse,ons | |
| additional_dependencies: | |
| - tomli | |
| - repo: https://github.com/astral-sh/ruff-pre-commit | |
| rev: v0.11.4 | |
| hooks: | |
| - id: ruff | |
| - id: ruff-format | |
| - repo: https://github.com/tox-dev/pyproject-fmt | |
| rev: v2.5.1 | |
| hooks: | |
| - id: pyproject-fmt | |
| - repo: https://github.com/abravalheri/validate-pyproject | |
| rev: v0.24.1 | |
| hooks: | |
| - id: validate-pyproject |