-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.pre-commit-config.yaml
148 lines (134 loc) · 5.19 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
ci:
autoupdate_commit_msg: "chore: update pre-commit hooks"
autofix_commit_msg: "style: pre-commit fixes"
repos:
# Useful to determine which files are included/excluded, tests of pre-commit, etc.
# Don't enable by default because it seems noisy. But I'll keep it around because
# it can be quite useful for debugging
# See: https://github.com/pre-commit/pre-commit/issues/1173#issuecomment-542341362
#- repo: meta
# hooks:
# - id: identity
# name: identity (all)
- repo: https://github.com/adamchainz/blacken-docs
rev: "1.19.1"
hooks:
- id: blacken-docs
additional_dependencies: [black==24.*]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: "v5.0.0"
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-merge-conflict
- id: check-symlinks
- id: check-yaml
exclude: "scale_factors.yaml|track_efficiency_pt_dependence.yaml"
- id: debug-statements
- id: end-of-file-fixer
exclude: ".patch"
- id: mixed-line-ending
- id: name-tests-test
args: ["--pytest-test-first"]
- id: requirements-txt-fixer
- id: trailing-whitespace
exclude: ".patch"
- 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
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v4.0.0-alpha.8"
hooks:
- id: prettier
exclude: "tests/track_skim_validation|track_efficiency_pt_dependence.yaml"
types_or: [yaml, markdown, html, css, scss, javascript, json]
args: ["--prose-wrap=preserve", "--print-width=120"]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.8.4"
hooks:
- id: ruff
args: ["--fix", "--show-fixes"]
exclude: "projects/framework/debug/debug_outputs.ipynb|projects/exploration/log_binning_madness.ipynb|projects/jetscape/summer_school_2022/"
- id: ruff-format
exclude: "projects/framework/debug/debug_outputs.ipynb|projects/exploration/log_binning_madness.ipynb|projects/jetscape/summer_school_2022/"
# Give ssome dumb error about metal. Doesn't make sense, but not worth my effort to fix
#- repo: https://github.com/pre-commit/mirrors-clang-format
# rev: "v19.1.3"
# hooks:
# - id: clang-format
# types_or: [c++, c, cuda]
#- repo: https://github.com/pre-commit/mirrors-mypy
# rev: "v1.8.0"
# hooks:
# - id: mypy
# files: src|tests|mammoth-cpp/src
# # It's crazy that this is required, but apparently it is. I don't understand why
# # (the files selection should be explicit...), but not worth my time to investigate.
# exclude: ^.venv-*/
# # This is a bit aggressive, but otherwise it will be quite a pain to use since there
# # are a number of touchy packages here. And it can give non-sense like it can't find
# # the mammoth when it is being checked...
# #args: ["--ignore-missing-imports"]
# args: []
# additional_dependencies:
# # NOTE: I want the dependencies that are in my **lock file** (or as close as possible),
# # not in my pyproject. The issue is that if lower bound packages are taken, then
# # I'll get older typing than what I'm actually running with.
# # (this doesn't resolve all problems, but it seems like progress)
# - "pytest >=8.0"
# - "awkward >=2.6.1"
# - "uproot >=5.2.2"
# - "numpy >=1.26.4"
# - "scipy >=1.12"
# - "pyarrow >=15.0"
# - "pandas >=2.2"
# - "attrs >=23.2.0"
# - "particle >=0.23.1"
# - "numba >=0.59.0"
# - "hist >=2.7.2"
# - "seaborn >=0.13.2"
# - "vector >=1.2"
# - "parsl[monitoring] >=2024.2.12"
# - "rich >=v13.7.0"
# - "rich_argparse >=1.1.1"
# - "pachyderm >=3.2.2"
# - "dask[distributed,diagnostics]>=2024.2.0"
# - "dask-jobqueue>=0.8.2"
# - "ipython >=8.21"
- repo: https://github.com/codespell-project/codespell
rev: "v2.3.0"
hooks:
- id: codespell
additional_dependencies: [tomli]
# While it would be nice to have spell checking there, it doesn't handle the encoding of the output properly.
exclude: .ipynb
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: "v0.10.0.1"
hooks:
- id: shellcheck
exclude: projects/
- repo: local
hooks:
- id: disallow-caps
name: Disallow improper capitalization
language: pygrep
entry: PyBind|Numpy|Cmake|CCache|Github|PyTest
exclude: .pre-commit-config.yaml
#- repo: https://github.com/cheshirekow/cmake-format-precommit
# rev: "v0.6.13"
# hooks:
# - id: cmake-format
- repo: https://github.com/abravalheri/validate-pyproject
rev: "v0.23"
hooks:
- id: validate-pyproject
additional_dependencies: ["validate-pyproject-schema-store[all]"]
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: "0.30.0"
hooks:
- id: check-dependabot
- id: check-github-workflows
- id: check-readthedocs