-
Notifications
You must be signed in to change notification settings - Fork 412
/
.pre-commit-config.yaml
156 lines (137 loc) · 4.41 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
exclude: '^(build|data/datasets|data/scene_datasets|node_modules/|src/deps|src/obsolete)'
default_language_version:
python: python3
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
hooks:
- id: trailing-whitespace
- id: check-added-large-files
args: ['--maxkb=2000']
- id: end-of-file-fixer
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-json
# The JSONs below support comments (against spec)
exclude: ^(.eslintrc.json|tsconfig.json)
- id: check-merge-conflict
- id: check-toml
- id: check-xml
- id: check-yaml
exclude: ^conda-build/.*/meta.yaml
- id: debug-statements
- id: mixed-line-ending
args: ['--fix=lf']
- id: requirements-txt-fixer
# Changes tabs to spaces
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.1.13
hooks:
- id: remove-tabs
exclude: "(^(.git|setup.cfg))|(.(json|scn|tsv)$)"
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.3.0
hooks:
- id: pretty-format-ini
args: [--autofix]
- id: pretty-format-toml
args: [--autofix]
additional_dependencies:
- toml-sort==0.21.0
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.9.0 # Use the ref you want to point at
hooks:
- id: python-check-blanket-noqa
- id: python-check-blanket-type-ignore
- repo: https://github.com/timothycrosley/isort
rev: 5.12.0
hooks:
- id: isort
exclude: docs/
- repo: https://github.com/ambv/black
rev: 23.1.0
hooks:
- id: black
exclude: ^examples/tutorials/(nb_python|notebooks)
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.0.277
hooks:
- id: ruff
args: [--fix]
exclude: ^examples/tutorials/(nb_python|notebooks)
- repo: https://github.com/pycqa/flake8
rev: 5.0.4
hooks:
- id: flake8
exclude: docs/
additional_dependencies: &flake8_dependencies
- flake8-bugbear==22.1.11
- flake8-builtins==1.5.3
- flake8-comprehensions==3.10.0
- flake8-return==1.2.0
- flake8-simplify==0.17.0
- repo: https://github.com/asottile/yesqa
rev: v1.3.0
hooks:
- id: yesqa
additional_dependencies: *flake8_dependencies
- repo: https://github.com/pre-commit/mirrors-mypy
rev: 'v1.9.0'
hooks:
- id: mypy
pass_filenames: false
additional_dependencies:
- attrs
- repo: https://github.com/seddonym/import-linter
rev: v1.2.6
hooks:
- id: import-linter
entry: env PYTHONPATH=src_python lint-imports
- repo: https://github.com/kynan/nbstripout
rev: 0.5.0
hooks:
- id: nbstripout
- repo: https://github.com/mwouts/jupytext
rev: v1.13.7
hooks:
- id: jupytext
files: '^examples/tutorials/(notebooks|nb_python)/(.*\.py|.*\.ipynb)$'
args: [--update-metadata, '{"jupytext":{"notebook_metadata_filter":"all", "cell_metadata_filter":"-all"}, "accelerator":"GPU"}', --set-formats, 'nb_python//py:percent,notebooks//ipynb,', --pipe, black, --pipe, 'isort - --treat-comment-as-code "# %%"', --pipe-fmt, 'py:percent', --sync]
additional_dependencies:
- 'nbformat<=5.0.8'
- black==23.1.0
- isort==5.12.0
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v13.0.1
hooks:
- id: clang-format
types_or: [c++, c, c#, cuda] # also run on CUDA
additional_dependencies:
- pip>=21
- repo: https://github.com/cheshirekow/cmake-format-precommit
rev: v0.6.13
hooks:
- id: cmake-format
exclude: (^src/(cmake/Find|deps)|configure\.h\.cmake$)
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v8.12.0
hooks:
- id: eslint
args: [--fix, --ext .html,.js]
language_version: 14.21.3
additional_dependencies:
- eslint@6.4.0
- eslint-config-prettier@6.3.0
- eslint-plugin-prettier@3.1.0
- eslint-plugin-html@6.0.0
- prettier@1.18.2
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.8.0.4
hooks:
- id: shellcheck
- repo: https://github.com/AleksaC/circleci-cli-py
rev: v0.1.16737
hooks:
- id: circle-ci-validator