Spaces:
Sleeping
Sleeping
| # To use: | |
| # | |
| # pre-commit run -a | |
| # | |
| # Or: | |
| # | |
| # pre-commit install # (runs every time you commit in git) | |
| # | |
| # To update this file: | |
| # | |
| # pre-commit autoupdate | |
| # | |
| # See https://github.com/pre-commit/pre-commit | |
| repos: | |
| # Standard hooks | |
| - repo: https://github.com/pre-commit/pre-commit-hooks | |
| rev: v4.1.0 | |
| hooks: | |
| - id: check-added-large-files | |
| - id: check-case-conflict | |
| - id: check-docstring-first | |
| - id: check-merge-conflict | |
| - id: check-symlinks | |
| - id: check-toml | |
| - id: check-yaml | |
| - id: debug-statements | |
| - id: end-of-file-fixer | |
| - id: mixed-line-ending | |
| - id: requirements-txt-fixer | |
| - id: trailing-whitespace | |
| - id: fix-encoding-pragma | |
| exclude: ^noxfile.py$ | |
| - repo: https://github.com/asottile/pyupgrade | |
| rev: v2.31.0 | |
| hooks: | |
| - id: pyupgrade | |
| - repo: https://github.com/PyCQA/isort | |
| rev: 5.10.1 | |
| hooks: | |
| - id: isort | |
| # Black, the code formatter, natively supports pre-commit | |
| - repo: https://github.com/psf/black | |
| rev: 21.12b0 # Keep in sync with blacken-docs | |
| hooks: | |
| - id: black | |
| - repo: https://github.com/asottile/blacken-docs | |
| rev: v1.12.0 | |
| hooks: | |
| - id: blacken-docs | |
| additional_dependencies: | |
| - black==21.12b0 # keep in sync with black hook | |
| # Changes tabs to spaces | |
| - repo: https://github.com/Lucas-C/pre-commit-hooks | |
| rev: v1.1.10 | |
| hooks: | |
| - id: remove-tabs | |
| # Autoremoves unused imports | |
| - repo: https://github.com/hadialqattan/pycln | |
| rev: v1.1.0 | |
| hooks: | |
| - id: pycln | |
| - repo: https://github.com/pre-commit/pygrep-hooks | |
| rev: v1.9.0 | |
| hooks: | |
| - id: python-check-blanket-noqa | |
| - id: python-check-blanket-type-ignore | |
| - id: python-no-log-warn | |
| - id: rst-backticks | |
| - id: rst-directive-colons | |
| - id: rst-inline-touching-normal | |
| # Flake8 also supports pre-commit natively (same author) | |
| - repo: https://github.com/PyCQA/flake8 | |
| rev: 4.0.1 | |
| hooks: | |
| - id: flake8 | |
| additional_dependencies: | |
| - flake8-bugbear | |
| - pep8-naming | |
| exclude: ^(docs/.*|tools/.*)$ | |
| - repo: https://github.com/asottile/yesqa | |
| rev: v1.3.0 | |
| hooks: | |
| - id: yesqa | |
| additional_dependencies: | |
| # CMake formatting | |
| - repo: https://github.com/cheshirekow/cmake-format-precommit | |
| rev: v0.6.13 | |
| hooks: | |
| - id: cmake-format | |
| additional_dependencies: [pyyaml] | |
| types: [file] | |
| files: (\.cmake|CMakeLists.txt)(.in)?$ | |
| # Check static types with mypy | |
| - repo: https://github.com/pre-commit/mirrors-mypy | |
| rev: v0.931 | |
| hooks: | |
| - id: mypy | |
| # Running per-file misbehaves a bit, so just run on all files, it's fast | |
| pass_filenames: false | |
| additional_dependencies: [typed_ast] | |
| # Checks the manifest for missing files (native support) | |
| - repo: https://github.com/mgedmin/check-manifest | |
| rev: "0.47" | |
| hooks: | |
| - id: check-manifest | |
| # This is a slow hook, so only run this if --hook-stage manual is passed | |
| stages: [manual] | |
| additional_dependencies: [cmake, ninja] | |
| - repo: https://github.com/codespell-project/codespell | |
| rev: v2.1.0 | |
| hooks: | |
| - id: codespell | |
| exclude: ".supp$" | |
| args: ["-L", "nd,ot,thist"] | |
| - repo: https://github.com/shellcheck-py/shellcheck-py | |
| rev: v0.8.0.3 | |
| hooks: | |
| - id: shellcheck | |
| # The original pybind11 checks for a few C++ style items | |
| - repo: local | |
| hooks: | |
| - id: disallow-caps | |
| name: Disallow improper capitalization | |
| language: pygrep | |
| entry: PyBind|Numpy|Cmake|CCache|PyTest | |
| exclude: .pre-commit-config.yaml | |
| - repo: https://github.com/pre-commit/mirrors-clang-format | |
| rev: "v13.0.0" | |
| hooks: | |
| - id: clang-format | |