-
Notifications
You must be signed in to change notification settings - Fork 38
/
.pre-commit-config.yaml
75 lines (73 loc) · 1.94 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
ci:
autoupdate_schedule: "quarterly"
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-merge-conflict
- id: trailing-whitespace
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.29.3
hooks:
- id: check-github-workflows
- id: check-readthedocs
- repo: https://github.com/asottile/pyupgrade
rev: v3.17.0
hooks:
- id: pyupgrade
args: ["--py37-plus"]
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 24.10.0
hooks:
- id: black
name: "Autoformat python files"
- repo: https://github.com/adamchainz/blacken-docs
rev: 1.18.0
hooks:
- id: blacken-docs
additional_dependencies: ['black==23.9.1']
- repo: https://github.com/PyCQA/flake8
rev: 7.1.1
hooks:
- id: flake8
name: "Lint python files"
additional_dependencies:
- 'flake8-bugbear==24.8.19'
- 'flake8-comprehensions==3.15.0'
- 'flake8-typing-as-t==0.0.3'
- repo: https://github.com/PyCQA/isort
rev: 5.13.2
hooks:
- id: isort
name: "Sort python imports"
- repo: https://github.com/sirosen/slyp
rev: 0.7.1
hooks:
- id: slyp
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
args: ["--ignore-regex", "https://[^\\s]*"]
- repo: https://github.com/sirosen/texthooks
rev: 0.6.7
hooks:
- id: alphabetize-codeowners
- repo: https://github.com/rhysd/actionlint
rev: v1.7.4
hooks:
- id: actionlint
# custom local hooks
- repo: local
hooks:
- id: forbid-code-block-without-language
name: Require code-block directives to specify a language
types_or: [python,rst]
language: pygrep
entry: "\\.\\. +code-block::$"
- id: ensure-all-exports-documented
name: "Check that all public symbols are documented"
entry: ./scripts/ensure_exports_are_documented.py
language: python
always_run: true
pass_filenames: false