aboutsummaryrefslogtreecommitdiffstats
path: root/3rdparty/pybind11/.pre-commit-config.yaml
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/pybind11/.pre-commit-config.yaml')
-rw-r--r--3rdparty/pybind11/.pre-commit-config.yaml100
1 files changed, 100 insertions, 0 deletions
diff --git a/3rdparty/pybind11/.pre-commit-config.yaml b/3rdparty/pybind11/.pre-commit-config.yaml
new file mode 100644
index 00000000..85254a8a
--- /dev/null
+++ b/3rdparty/pybind11/.pre-commit-config.yaml
@@ -0,0 +1,100 @@
+# 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: v3.2.0
+ hooks:
+ - id: check-added-large-files
+ - id: check-case-conflict
+ - id: check-merge-conflict
+ - id: check-symlinks
+ - 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
+
+# Black, the code formatter, natively supports pre-commit
+- repo: https://github.com/psf/black
+ rev: 20.8b1
+ hooks:
+ - id: black
+ # By default, this ignores pyi files, though black supports them
+ types: [text]
+ files: \.pyi?$
+
+# Changes tabs to spaces
+- repo: https://github.com/Lucas-C/pre-commit-hooks
+ rev: v1.1.9
+ hooks:
+ - id: remove-tabs
+
+# Flake8 also supports pre-commit natively (same author)
+- repo: https://gitlab.com/pycqa/flake8
+ rev: 3.8.3
+ hooks:
+ - id: flake8
+ additional_dependencies: [flake8-bugbear, pep8-naming]
+ exclude: ^(docs/.*|tools/.*)$
+
+# 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.790
+ hooks:
+ - id: mypy
+ # The default Python type ignores .pyi files, so let's rerun if detected
+ types: [text]
+ files: ^pybind11.*\.pyi?$
+ # Running per-file misbehaves a bit, so just run on all files, it's fast
+ pass_filenames: false
+
+# Checks the manifest for missing files (native support)
+- repo: https://github.com/mgedmin/check-manifest
+ rev: "0.43"
+ 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]
+
+# 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
+ exclude: .pre-commit-config.yaml
+
+- repo: local
+ hooks:
+ - id: check-style
+ name: Classic check-style
+ language: system
+ types:
+ - c++
+ entry: ./tools/check-style.sh