File: .pre-commit-config.yaml

package info (click to toggle)
sphinx-substitution-extensions 2025.06.06-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 248 kB
  • sloc: python: 1,021; makefile: 17
file content (274 lines) | stat: -rw-r--r-- 7,986 bytes parent folder | download
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
---
fail_fast: true

# We use system Python, with required dependencies specified in pyproject.toml.
# We therefore cannot use those dependencies in pre-commit CI.
ci:
  skip:
    - actionlint
    - sphinx-lint
    - check-manifest
    - deptry
    - doc8
    - interrogate
    - interrogate-docs
    - mypy
    - mypy-docs
    - pylint
    - pyproject-fmt-fix
    - pyright
    - pyright-docs
    - pyright-verifytypes
    - pyroma
    - ruff-check-fix
    - ruff-check-fix-docs
    - ruff-format-fix
    - ruff-format-fix-docs
    - docformatter
    - shellcheck
    - shellcheck-docs
    - shfmt
    - shfmt-docs
    - vulture
    - vulture-docs
    - yamlfix

# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_install_hook_types: [pre-commit, pre-push, commit-msg]

repos:
  - repo: meta
    hooks:
      - id: check-useless-excludes
  - 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-executables-have-shebangs
      - id: check-merge-conflict
      - id: check-shebang-scripts-are-executable
      - id: check-symlinks
      - id: check-json
      - id: check-toml
      - id: check-vcs-permalinks
      - id: check-yaml
      - id: end-of-file-fixer
      - id: file-contents-sorter
        files: spelling_private_dict\.txt$
      - id: trailing-whitespace
  - repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.10.0
    hooks:
      - id: rst-directive-colons
      - id: rst-inline-touching-normal
      - id: text-unicode-replacement-char
      - id: rst-backticks

  - repo: local
    hooks:
      - id: actionlint
        name: actionlint
        entry: uv run --extra=dev actionlint
        language: python
        pass_filenames: false
        types_or: [yaml]
        additional_dependencies: [uv==0.6.3]

      - id: docformatter
        name: docformatter
        entry: uv run --extra=dev -m docformatter --in-place
        language: python
        types_or: [python]
        additional_dependencies: [uv==0.6.3]

      - id: shellcheck
        name: shellcheck
        entry: uv run --extra=dev shellcheck --shell=bash
        language: python
        types_or: [shell]
        additional_dependencies: [uv==0.6.3]

      - id: shellcheck-docs
        name: shellcheck-docs
        entry: uv run --extra=dev doccmd --language=shell --language=console --command="shellcheck
          --shell=bash"
        language: python
        types_or: [markdown, rst]
        additional_dependencies: [uv==0.6.3]

      - id: shfmt
        name: shfmt
        entry: shfmt --write --space-redirects --indent=4
        language: python
        types_or: [shell]
        additional_dependencies: [uv==0.6.3]

      - id: shfmt-docs
        name: shfmt-docs
        entry: uv run --extra=dev doccmd --language=shell --language=console --skip-marker=shfmt
          --no-pad-file --command="shfmt --write --space-redirects --indent=4"
        language: python
        types_or: [markdown, rst]
        additional_dependencies: [uv==0.6.3]

      - id: mypy
        name: mypy
        stages: [pre-push]
        entry: uv run --extra=dev -m mypy
        language: python
        types_or: [python, toml]
        pass_filenames: false
        additional_dependencies: [uv==0.6.3]

      - id: mypy-docs
        name: mypy-docs
        stages: [pre-push]
        entry: uv run --extra=dev doccmd --language=python --command="mypy"
        language: python
        types_or: [markdown, rst]

      - id: check-manifest
        name: check-manifest
        stages: [pre-push]
        entry: uv run --extra=dev -m check_manifest
        language: python
        pass_filenames: false
        additional_dependencies: [uv==0.6.3]

      - id: pyright
        name: pyright
        stages: [pre-push]
        entry: uv run --extra=dev -m pyright .
        language: python
        types_or: [python, toml]
        pass_filenames: false
        additional_dependencies: [uv==0.6.3]

      - id: pyright-docs
        name: pyright-docs
        stages: [pre-push]
        entry: uv run --extra=dev doccmd --language=python --command="pyright"
        language: python
        types_or: [markdown, rst]

      - id: pyright-verifytypes
        name: pyright-verifytypes
        stages: [pre-push]
        # Use `--ignoreexternal` because we expose parts of the Sphinx API and Sphinx is not
        # thoroughly typed enough.
        entry: uv run --extra=dev -m pyright --ignoreexternal --verifytypes sphinx_substitution_extensions
        language: python
        pass_filenames: false
        types_or: [python]
        additional_dependencies: [uv==0.6.3]

      - id: vulture
        name: vulture
        entry: uv run --extra=dev -m vulture .
        language: python
        types_or: [python]
        pass_filenames: false
        additional_dependencies: [uv==0.6.3]

      - id: vulture-docs
        name: vulture docs
        entry: uv run --extra=dev doccmd --language=python --command="vulture"
        language: python
        types_or: [markdown, rst]
        additional_dependencies: [uv==0.6.3]

      - id: pyroma
        name: pyroma
        entry: uv run --extra=dev -m pyroma --min 10 .
        language: python
        pass_filenames: false
        types_or: [toml]
        additional_dependencies: [uv==0.6.3]

      - id: deptry
        name: deptry
        entry: uv run --extra=dev -m deptry src/
        language: python
        pass_filenames: false
        additional_dependencies: [uv==0.6.3]

      - id: pylint
        name: pylint
        entry: uv run --extra=dev -m pylint src/ tests/
        language: python
        stages: [manual]
        pass_filenames: false
        additional_dependencies: [uv==0.6.3]

      - id: ruff-check-fix
        name: Ruff check fix
        entry: uv run --extra=dev -m ruff check --fix
        language: python
        types_or: [python]
        additional_dependencies: [uv==0.6.3]

      - id: ruff-check-fix-docs
        name: Ruff check fix docs
        entry: uv run --extra=dev doccmd --language=python --command="ruff check --fix"
        language: python
        types_or: [markdown, rst]
        additional_dependencies: [uv==0.6.3]

      - id: ruff-format-fix
        name: Ruff format
        entry: uv run --extra=dev -m ruff format
        language: python
        types_or: [python]
        additional_dependencies: [uv==0.6.3]

      - id: ruff-format-fix-docs
        name: Ruff format docs
        entry: uv run --extra=dev doccmd --language=python --no-pad-file --command="ruff
          format"
        language: python
        types_or: [markdown, rst]
        additional_dependencies: [uv==0.6.3]

      - id: doc8
        name: doc8
        entry: uv run --extra=dev -m doc8
        language: python
        types_or: [rst]
        additional_dependencies: [uv==0.6.3]

      - id: interrogate
        name: interrogate
        entry: uv run --extra=dev -m interrogate
        language: python
        types_or: [python]
        additional_dependencies: [uv==0.6.3]

      - id: interrogate-docs
        name: interrogate docs
        entry: uv run --extra=dev doccmd --language=python --command="interrogate"
        language: python
        types_or: [markdown, rst]
        additional_dependencies: [uv==0.6.3]

      - id: pyproject-fmt-fix
        name: pyproject-fmt
        entry: uv run --extra=dev pyproject-fmt
        language: python
        types_or: [toml]
        files: pyproject.toml

      - id: yamlfix
        name: yamlfix
        entry: uv run --extra=dev yamlfix
        language: python
        types_or: [yaml]
        additional_dependencies: [uv==0.6.3]

      - id: sphinx-lint
        name: sphinx-lint
        entry: uv run --extra=dev sphinx-lint --enable=all --disable=line-too-long
        language: python
        types_or: [rst]
        additional_dependencies: [uv==0.6.3]