-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.pre-commit-config.yaml
More file actions
133 lines (123 loc) · 4.06 KB
/
.pre-commit-config.yaml
File metadata and controls
133 lines (123 loc) · 4.06 KB
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
133
# pre-commit.ci
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit hooks
For more information, see https://pre-commit.ci
autofix_prs: false
autoupdate_branch: 'master'
autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
autoupdate_schedule: 'weekly'
skip: []
submodules: false
# hooks
repos:
# pre-commit-hooks supplies a multitude of small hooks
# To get an overview of them all as well as the ones used here, please see
# https://github.com/pre-commit/pre-commit-hooks#hooks-available
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-json
name: Check JSON
- id: check-toml
name: Check TOML
- id: check-yaml
name: Check YAML
- id: debug-statements
- id: end-of-file-fixer
exclude: ^(CHANGELOG.md|tests/(entities|input|output|static)/.*)$
- id: mixed-line-ending
exclude: ^CHANGELOG.md$
- id: name-tests-test
args: ["--pytest-test-first"]
exclude: ^tests/(entities|input|output|static)/.*$
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
exclude: ^(CHANGELOG.md$|tests/(entities|input|output|static)/.*)$
# Markdown linter to ensure the quality of the documentation
# More information can be found in its source repository:
# https://github.com/DavidAnson/markdownlint-cli2
- repo: https://github.com/DavidAnson/markdownlint-cli2
rev: v0.22.1
hooks:
- id: markdownlint-cli2
name: markdownlint
exclude: ^(docs/)?(CHANGELOG|LICENSE).md$
args:
- --fix
- --config=.markdownlint.yaml
# pyupgrade is a tool for automatically upgrading Python syntax for newer versions of
# the language
# It works on files in-place
- repo: https://github.com/asottile/pyupgrade
rev: v3.21.2
hooks:
- id: pyupgrade
args: [--py310-plus]
# Black is a code style and formatter
# It works on files in-place
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 26.3.1
hooks:
- id: black
# Run black on Python code in documentation strings and files
- repo: https://github.com/adamchainz/blacken-docs
rev: 1.20.0
hooks:
- id: blacken-docs
additional_dependencies: [black]
# ruff is a Python linter, incl. import sorter and formatter
# It works partly on files in-place
# More information can be found in its documentation:
# https://docs.astral.sh/ruff/
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.12
hooks:
- id: ruff-check
name: ruff
# Fix what can be fixed in-place and exit with non-zero status if files were
# changed and/or there are rules violations.
args:
- "--fix"
- "--exit-non-zero-on-fix"
- "--show-fixes"
- "--no-unsafe-fixes"
# Bandit is a security linter
# More information can be found in its documentation:
# https://bandit.readthedocs.io/en/latest/
- repo: https://github.com/PyCQA/bandit
rev: 1.9.4
hooks:
- id: bandit
args: ["-r"]
files: ^oteapi_dlite/.*$
# mypy is a static typing linter
# The main code repository can be found at:
# https://github.com/python/mypy
# The project's documentation can be found at:
# https://mypy.readthedocs.io/en/stable/index.html
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.20.2
hooks:
- id: mypy
exclude: ^tests/.*$
additional_dependencies:
- "types-requests"
- "pydantic>=2,<3"
# ci-cd is a collection of hooks to prepare for CI/CD workflows
# It's mainly related to documentation
# More information can be found in its documentation:
# https://SINTEF.github.io/ci-cd/
- repo: https://github.com/SINTEF/ci-cd
rev: v2.10.0
hooks:
- id: docs-api-reference
args:
- --package-dir=oteapi_dlite
- --full-docs-folder=models
- --full-docs-folder=strategies
- id: docs-landing-page
args:
- --replacement=(LICENSE),(LICENSE.md)
- --replacement=https://EMMC-ASBL.github.io/oteapi-dlite/latest/,
- --replacement=all_strategies),all_strategies.md)