File: .pre-commit-config.yaml

package info (click to toggle)
pytest 9.0.2-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,308 kB
  • sloc: python: 65,808; makefile: 45
file content (168 lines) | stat: -rw-r--r-- 4,850 bytes parent folder | download
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
minimum_pre_commit_version: "4.4.0"
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
  rev: "v0.14.3"
  hooks:
    - id: ruff-check
      args: ["--fix"]
    - id: ruff-format
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
- repo: https://github.com/woodruffw/zizmor-pre-commit
  rev: v1.16.2
  hooks:
    - id: zizmor
-   repo: https://github.com/adamchainz/blacken-docs
    rev: 1.20.0
    hooks:
    -   id: blacken-docs
        additional_dependencies: [black==24.1.1]
-   repo: https://github.com/codespell-project/codespell
    rev: v2.4.1
    hooks:
    -   id: codespell
        args: ["--toml=pyproject.toml"]
        additional_dependencies:
          - tomli
-   repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.10.0
    hooks:
    -   id: python-use-type-annotations
-   repo: https://github.com/pre-commit/mirrors-mypy
    rev: v1.18.2
    hooks:
    -   id: mypy
        files: ^(src/|testing/|scripts/)
        additional_dependencies:
          - iniconfig>=1.1.0
          - attrs>=19.2.0
          - pluggy>=1.5.0
          - packaging
          - tomli
          - types-setuptools
          - types-tabulate
            # for mypy running on python>=3.11 since exceptiongroup is only a dependency
            # on <3.11
          - exceptiongroup>=1.0.0rc8
-   repo: https://github.com/RobertCraigie/pyright-python
    rev: v1.1.407
    hooks:
    -   id: pyright
        files: ^(src/|scripts/)
        additional_dependencies:
          - iniconfig>=1.1.0
          - attrs>=19.2.0
          - pluggy>=1.5.0
          - packaging
          - tomli
          - types-setuptools
          - types-tabulate
            # for mypy running on python>=3.11 since exceptiongroup is only a dependency
            # on <3.11
          - exceptiongroup>=1.0.0rc8
        # Manual because passing pyright is a work in progress.
        stages: [manual]
- repo: https://github.com/tox-dev/pyproject-fmt
  rev: "v2.11.0"
  hooks:
    - id: pyproject-fmt
      # https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
      additional_dependencies: ["tox>=4.9"]
-   repo: https://github.com/asottile/pyupgrade
    rev: v3.21.0
    hooks:
    -   id: pyupgrade
        args:
          - "--py310-plus"
        # Manual because ruff does what pyupgrade does and the two are not out of sync
        # often enough to make launching pyupgrade everytime worth it
        stages: [manual]
-   repo: local
    hooks:
    -   id: pylint
        name: pylint
        entry: pylint
        language: system
        types: [python]
        args: ["-rn", "-sn", "--fail-on=I", "--enable-all-extentions"]
        require_serial: true
        stages: [manual]
    -   id: rst
        name: rst
        entry: rst-lint
        files: ^(RELEASING.rst|README.rst|TIDELIFT.rst)$
        language: python
        additional_dependencies: [pygments, restructuredtext_lint>=2.0.0]
    -   id: changelogs-rst
        name: changelog filenames
        language: fail
        entry: >-
          changelog files must be named
          ####.(
          breaking
          | deprecation
          | feature
          | improvement
          | bugfix
          | vendor
          | doc
          | packaging
          | contrib
          | misc
          )(.#)?(.rst)?
        exclude: >-
          (?x)
          ^
            changelog/(
              \.gitignore
              |\d+\.(
                breaking
                |deprecation
                |feature
                |improvement
                |bugfix
                |vendor
                |doc
                |packaging
                |contrib
                |misc
              )(\.\d+)?(\.rst)?
              |README\.rst
              |_template\.rst
            )
          $
        files: ^changelog/
    -   id: changelogs-user-role
        name: Changelog files should use a non-broken :user:`name` role
        language: pygrep
        entry: :user:([^`]+`?|`[^`]+[\s,])
        pass_filenames: true
        types:
          - file
          - rst
    -   id: py-deprecated
        name: py library is deprecated
        language: pygrep
        entry: >
            (?x)\bpy\.(
                _code\.|
                builtin\.|
                code\.|
                io\.|
                path\.local\.sysfind|
                process\.|
                std\.|
                error\.|
                xml\.
            )
        types: [python]
    -   id: py-path-deprecated
        name: py.path usage is deprecated
        exclude: docs|src/_pytest/deprecated.py|testing/deprecated_test.py|src/_pytest/legacypath.py
        language: pygrep
        entry: \bpy\.path\.local
        types: [python]