-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pre-commit-config.yaml
97 lines (90 loc) · 2.71 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
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: trailing-whitespace
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-json
- id: check-case-conflict
- id: check-toml
- id: check-merge-conflict
- id: check-xml
- id: check-yaml
- id: end-of-file-fixer
- id: check-symlinks
- id: mixed-line-ending
- id: fix-encoding-pragma
args:
- --remove
- id: pretty-format-json
args:
- --autofix
- id: requirements-txt-fixer
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: python-check-blanket-noqa
- id: python-check-mock-methods
- id: python-no-eval
- id: python-no-log-warn
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
name: Run isort to sort imports
files: \.py$
# To keep consistent with the global isort skip config defined in setup.cfg
exclude: ^build/.*$|^.tox/.*$|^venv/.*$
args:
- --lines-after-imports=2
- --multi-line=3
- --trailing-comma
- --force-grid-wrap=0
- --use-parentheses
- --ensure-newline-before-comments
- --line-length=88
- repo: https://github.com/pycqa/pydocstyle
rev: 6.3.0
hooks:
- id: pydocstyle
name: Run pydocstyle
args:
- --convention=pep257
# Do not require docstrings, only check existing ones. (D1)
# Allow for a newline after a docstring. (D202)
# Don't require a summary line. (D205)
# Don't require a period on the first line. (D400)
- --add-ignore=D1,D202,D205,D400
exclude: tests/
- repo: local
hooks:
- id: no-shebang
language: pygrep
name: Do not use shebangs in non-executable files
description: Only executable files should have shebangs (e.g. '#!/usr/bin/env python')
entry: "#!/"
pass_filenames: true
exclude: bin|cli|manage.py|app.py|setup.py|docs|data-munging|create_db.py|test_data.py
files: \.py$
- repo: https://github.com/pycqa/flake8
rev: 6.0.0
hooks:
- id: flake8
args:
- --ignore=E203,E402,E501,E800,W503,W391,E261
- --select=B,C,E,F,W,T4,B9
- repo: https://github.com/ambv/black
rev: 23.3.0
hooks:
- id: black
args:
- --safe
# Turn off for now
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v0.902
# hooks:
# - id: mypy
# additional_dependencies:
# - types-click
# - types-ujson