forked from pymc-devs/pymc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.pre-commit-config.yaml
116 lines (116 loc) · 3.54 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
exclude: ^(docs/logos|pymc/tests/data)/
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: no-commit-to-branch
args: [--branch, main]
- id: requirements-txt-fixer
exclude: ^requirements-dev\.txt$
- id: trailing-whitespace
- repo: https://github.com/lucianopaz/head_of_apache
rev: "0.0.3"
hooks:
- id: head_of_apache
args:
- --author=The PyMC Developers
- --exclude=docs/
- --exclude=scripts/
- --exclude=binder/
- --exclude=versioneer.py
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
name: isort
- repo: https://github.com/asottile/pyupgrade
rev: v3.9.0
hooks:
- id: pyupgrade
args: [--py37-plus]
- repo: https://github.com/psf/black
rev: 23.7.0
hooks:
- id: black
- id: black-jupyter
- repo: https://github.com/PyCQA/pylint
rev: v3.0.0a6
hooks:
- id: pylint
args: [--rcfile=.pylintrc]
files: ^pymc/
exclude: (?x)(pymc/_version.py)
- repo: https://github.com/PyCQA/pydocstyle
rev: 6.3.0
hooks:
- id: pydocstyle
args:
- --ignore=D100,D101,D102,D103,D104,D105,D107,D200,D202,D203,D204,D205,D209,D212,D213,D301,D400,D401,D403,D413,D415,D417
files: ^pymc/
exclude: ^pymc/tests/
- repo: https://github.com/MarcoGorelli/madforhooks
rev: 0.4.1
hooks:
- id: no-print-statements
files: ^pymc/
exclude: (?x)(pymc/_version.py)
- repo: local
hooks:
- id: check-no-tests-are-ignored
additional_dependencies: [pandas,pyyaml]
entry: python scripts/check_all_tests_are_covered.py
files: ^.github/workflows/tests.yml$
language: python
name: Check no tests are ignored
pass_filenames: false
- id: pip-from-conda
additional_dependencies: [pyyaml]
entry: python scripts/generate_pip_deps_from_conda.py
files: ^conda-envs/environment-dev.yml$
language: python
name: Generate pip dependency from conda
- id: no-relative-imports
name: No relative imports
entry: from \.[\.\w]* import
types: [python]
language: pygrep
exclude: (?x)(pymc/_version.py|versioneer.py)
- id: no-internal-links
name: Check no links that should be cross-references are in the docs
description: >-
'A quick check for the links in the intersphinx '
'mapping inside `docs/source/`'
'See docs/source/conf.py for more information.'
files: ^docs/source/
# Files that should be ignored:
# - index.md
# - 404.md
# - contributing/release_checklist.md
# The other files are under development and should be
# removed from the list once they are revised.
exclude: >
(?x)(index.md|
404.md|
contributing/release_checklist.md|
contributing/versioning_schemes_explanation.md|
learn/examples.md)
entry: >
(?x)(arviz-devs.github.io|
python.arviz.org|
pytensor.readthedocs.io|
pymc-experimental.readthedocs.io|
docs.pymc.io|
www.pymc.io|
numpy.org/doc|
pymc-examples.readthedocs.io|
myst-parser.readthedocs.io|
myst-nb.readthedocs.io|
docs.python.org|
xarray.pydata.org)
language: pygrep
types_or: [markdown, rst, jupyter]