-
-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d64d503
commit f98c043
Showing
2 changed files
with
225 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,137 @@ | ||
# 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.4.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 | ||
|
||
# Black, the code formatter, natively supports pre-commit | ||
- repo: https://github.com/psf/black | ||
rev: "23.3.0" # Keep in sync with blacken-docs | ||
hooks: | ||
- id: black | ||
|
||
# Also code format the docs | ||
- repo: https://github.com/asottile/blacken-docs | ||
rev: "1.13.0" | ||
hooks: | ||
- id: blacken-docs | ||
additional_dependencies: | ||
- black==22.8.0 # keep in sync with black hook | ||
|
||
# Changes tabs to spaces | ||
- repo: https://github.com/Lucas-C/pre-commit-hooks | ||
rev: "v1.5.1" | ||
hooks: | ||
- id: remove-tabs | ||
|
||
- repo: https://github.com/sirosen/texthooks | ||
rev: "0.5.0" | ||
hooks: | ||
- id: fix-ligatures | ||
- id: fix-smartquotes | ||
|
||
|
||
# Checking for common mistakes | ||
- repo: https://github.com/pre-commit/pygrep-hooks | ||
rev: "v1.10.0" | ||
hooks: | ||
- id: rst-backticks | ||
- id: rst-directive-colons | ||
- id: rst-inline-touching-normal | ||
|
||
|
||
# PyLint has native support - not always usable, but works for us | ||
- repo: https://github.com/PyCQA/pylint | ||
rev: "v3.0.0a6" | ||
hooks: | ||
- id: pylint | ||
files: ^pybind11 | ||
|
||
# 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.971" | ||
# hooks: | ||
# - id: mypy | ||
# args: [] | ||
# exclude: ^(tests|docs)/ | ||
# additional_dependencies: [nox, rich] | ||
|
||
# Checks the manifest for missing files (native support) | ||
- repo: https://github.com/mgedmin/check-manifest | ||
rev: "0.49" | ||
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/charliermarsh/ruff-pre-commit | ||
rev: v0.0.261 | ||
hooks: | ||
- id: ruff | ||
args: ["--fix", "--show-fixes"] | ||
|
||
# Check for spelling | ||
- repo: https://github.com/codespell-project/codespell | ||
rev: "v2.2.4" | ||
hooks: | ||
- id: codespell | ||
exclude: ".*/test_.*.py" | ||
args: ["-x", ".codespell-ignore-lines"] | ||
|
||
# Check for common shell mistakes | ||
- repo: https://github.com/shellcheck-py/shellcheck-py | ||
rev: "v0.9.0.2" | ||
hooks: | ||
- id: shellcheck | ||
|
||
# Disallow some common capitalization mistakes | ||
- repo: local | ||
hooks: | ||
- id: disallow-caps | ||
name: Disallow improper capitalization | ||
language: pygrep | ||
entry: PyBind|Numpy|Cmake|CCache|PyTest | ||
exclude: ^\.pre-commit-config.yaml$ | ||
|
||
# Clang format the codebase automatically | ||
- repo: https://github.com/pre-commit/mirrors-clang-format | ||
rev: "v16.0.0" | ||
hooks: | ||
- id: clang-format | ||
types_or: [c++, c] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters