forked from astropy/astropy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.pre-commit-config.yaml
132 lines (125 loc) · 4.53 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
ci:
autofix_prs: false
autoupdate_schedule: 'monthly'
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
args: ["--enforce-all", "--maxkb=300"]
exclude: "^(\
cextern/wcslib/C/flexed/.*|\
CHANGES.rst|\
astropy/extern/jquery/data/js/jquery.dataTables.js|\
)$"
# Prevent giant files from being committed.
- id: check-case-conflict
# Check for files with names that would conflict on a case-insensitive
# filesystem like MacOS HFS+ or Windows FAT.
- id: check-json
# Attempts to load all json files to verify syntax.
- id: check-merge-conflict
# Check for files that contain merge conflict strings.
- id: check-symlinks
# Checks for symlinks which do not point to anything.
- id: check-toml
# Attempts to load all TOML files to verify syntax.
- id: check-xml
# Attempts to load all xml files to verify syntax.
- id: check-yaml
# Attempts to load all yaml files to verify syntax.
exclude: ".*(.github.*)$"
- id: detect-private-key
# Checks for the existence of private keys.
- id: end-of-file-fixer
# Makes sure files end in a newline and only a newline.
exclude: ".*(data.*|extern.*|licenses.*|_static.*|_parsetab.py)$"
# - id: fix-encoding-pragma # covered by pyupgrade
- id: trailing-whitespace
# Trims trailing whitespace.
exclude_types: [python] # Covered by Ruff W291.
exclude: ".*(data.*|extern.*|licenses.*|_static.*)$"
- repo: https://github.com/pre-commit/pygrep-hooks
rev: v1.10.0
hooks:
- id: rst-directive-colons
# Detect mistake of rst directive not ending with double colon.
- id: rst-inline-touching-normal
# Detect mistake of inline code touching normal text in rst.
- id: text-unicode-replacement-char
# Forbid files which have a UTF-8 Unicode replacement character.
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
- id: codespell
args: ["--write-changes"]
additional_dependencies:
- tomli
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.9
hooks:
- id: ruff
args: ["--fix", "--show-fixes"]
- id: ruff-format
- repo: https://github.com/scientific-python/cookie
rev: 2024.08.19
hooks:
- id: sp-repo-review
- repo: https://github.com/PyCQA/docformatter
# using an untagged rev for forward compatibility with pre-commit 4.0
# see https://github.com/PyCQA/docformatter/issues/289
# This should be changed back to a tag when (>1.7.5) is released
rev: 06907d0267368b49b9180eed423fae5697c1e909
hooks:
- id: docformatter
additional_dependencies: [tomli]
args: [--in-place, --config, ./pyproject.toml]
exclude: |
(?x)(
test.*\.py |
astropy/__init__\.py |
astropy/_dev/ |
astropy/config/ |
astropy/conftest\.py |
astropy/constants/ |
astropy/convolution/ |
astropy/coordinates/ |
astropy/extern/ |
astropy/io/ |
astropy/logger\.py |
astropy/modeling/ |
astropy/nddata/ |
astropy/samp/ |
astropy/stats/ |
astropy/table/ |
astropy/tests/ |
astropy/time/ |
astropy/timeseries/ |
astropy/uncertainty/ |
astropy/units/ |
astropy/utils/ |
astropy/version\.py |
astropy/visualization/ |
astropy/wcs/ |
docs/ |
examples/
)
- repo: local
hooks:
- id: changelogs-rst
name: changelog filenames
language: fail
entry: >-
changelog files must be named <sub-package>/####.(bugfix|feature|api|perf).rst
or ####.other.rst (in the root directory only)
exclude: >-
^docs/changes/[\w\.]+/(\d+\.(bugfix|feature|api|perf)(\.\d)?.rst|.gitkeep)
files: ^docs/changes/[\w\.]+/
- id: changelogs-rst-other
name: changelog filenames for other category
language: fail
entry: >-
only "other" changelog files must be placed in the root directory
exclude: >-
^docs/changes/(\d+\.other.rst|README.rst|template.rst)
files: ^docs/changes/\d+.\w+.rst