forked from astropy/astropy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pre-commit-config.yaml
129 lines (122 loc) · 4.3 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
ci:
autofix_prs: false
autoupdate_schedule: 'monthly'
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.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.4.7"
hooks:
- id: ruff
args: ["--fix", "--show-fixes"]
- id: ruff-format
- repo: https://github.com/scientific-python/cookie
rev: 2024.04.23
hooks:
- id: sp-repo-review
- repo: https://github.com/PyCQA/docformatter
rev: v1.7.5
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