-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy path.pre-commit-config.yaml
94 lines (94 loc) · 3.09 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
---
#
# Over all strategy
# Mutators here... eg black, pypugrade and other things
# that change code.
#
# ci probably only applies to Github Actions?
ci:
autofix_commit_msg: 🎨 [pre-commit.ci] Auto format from pre-commit.com hooks
autoupdate_commit_msg: ⬆ [pre-commit.ci] pre-commit autoupdate
default_language_version:
python: python3
exclude: ^(dead_code|vendor|whitelist.py|pymarc|edtf_plus)
repos:
- repo: https://github.com/python-poetry/poetry
rev: '1.8.0'
hooks:
- id: poetry-check
# - id: poetry-lock
# - id: poetry-export
# - id: poetry-install
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
# each hook takes about 1s to run. These are expensive-ish checks
- id: check-added-large-files
- id: check-yaml
- id: check-builtin-literals
- id: check-byte-order-marker
- id: check-case-conflict
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: debug-statements
- id: detect-private-key
- id: fix-encoding-pragma
args: [--remove]
- id: forbid-new-submodules
# passes on workstation, fails on github actions
# - repo: https://github.com/asottile/pyupgrade
# rev: v3.15.0
# hooks:
# - id: pyupgrade
# args: [--py37-plus]
# Buggy? Reports no files change, "FAILURE"
# - repo: https://github.com/tox-dev/pyproject-fmt
# rev: "0.4.1"
# hooks:
# - id: pyproject-fmt
- repo: https://github.com/abravalheri/validate-pyproject
rev: v0.19
hooks:
- id: validate-pyproject
- repo: https://github.com/myint/autoflake
rev: v2.3.1
hooks:
- id: autoflake
args:
- --in-place
- --recursive
- --expand-star-imports
- --remove-all-unused-imports
- --remove-duplicate-keys
- --remove-unused-variables
- repo: https://github.com/psf/black
rev: 24.8.0
hooks:
- id: black
language_version: python3.9
# - repo: https://github.com/pycqa/isort
# rev: 5.12.0
# hooks:
# - id: isort
# name: isort
# args:
# - --profile black
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.6.1
hooks:
- id: ruff
exclude: ^dead_code/
args: ["--config", "pyproject.toml", "--fix"]
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0 # Use the ref you want to point at
hooks:
- id: python-use-type-annotations
- id: python-no-eval
- id: python-no-log-warn
- id: text-unicode-replacement-char
# breaks change log validator
# - repo: https://github.com/executablebooks/mdformat
# rev: 0.7.17
# hooks:
# - id: mdformat