@@ -11,7 +11,7 @@ default_language_version:
1111
1212repos :
1313 - repo : https://github.com/compilerla/conventional-pre-commit
14- rev : v3.6 .0
14+ rev : v4.3 .0
1515 hooks :
1616 - id : conventional-pre-commit
1717 - repo : https://github.com/pre-commit/pre-commit-hooks
5555 - --max-complexity=10
5656 - --max-line-length=79
5757 - --max-module-lines=500
58+ - --max-positional-arguments=10
5859 - --max-args=10
5960 - --score=n
6061 # TODO: narrow these down
9798 exclude : nonunicode/.*
9899# TODO: add type hints
99100# - repo: https://github.com/pre-commit/mirrors-mypy
100- # rev: v1.9.0
101+ # rev: v1.19.1
101102# hooks:
102103# - id: mypy
103104# require_serial: True
@@ -124,12 +125,13 @@ repos:
124125 additional_dependencies : &flake8deps
125126 - flake8-2020==1.8.1
126127 - flake8-broken-line==1.0.0
127- - flake8-builtins==2.5 .0
128+ - flake8-builtins==3.1 .0
128129 - flake8-comprehensions==3.17.0
130+ - flake8-import-restrictions==2.1
129131 files : coveralls/.*
130132# TODO: debug why CoverallsException breaks this
131133# - repo: https://github.com/guilatrova/tryceratops
132- # rev: v2.3.2
134+ # rev: v2.4.1
133135# hooks:
134136# - id: tryceratops
135137# args:
@@ -156,17 +158,35 @@ repos:
156158 rev : 7.3.0
157159 hooks :
158160 - id : flake8
159- language : python
160161 additional_dependencies : *flake8deps
161162 args :
162163 # https://www.flake8rules.com/
163164 # E501: Line too long. Covered by autopep8.
164165 # E741: Do not use variables named 'I', 'O', or 'l'.
165166 # W503: Line break occurred before a binary operator. Breaks PEP8.
166- - --ignore=E501,E741,W503
167+ # IMR200: Imports should only happen on module level, not locally. Covered by pylint.
168+ # IMR241: When using 'from', import submodules not elements.
169+ - --ignore=E501,E741,W503,IMR200,IMR241
167170 files : coveralls/.*
171+ # TODO: enable refurb
172+ # - repo: https://github.com/dosisod/refurb
173+ # rev: v2.2.0
174+ # hooks:
175+ # - id: refurb
176+ # args:
177+ # - --python-version
178+ # - '3.10'
168179 - repo : local
169180 hooks :
181+ - id : poetry-check
182+ name : check pyproject.toml validity
183+ description : ' Validate the structure of the pyproject.toml file'
184+ entry : bash -c 'set -e; for toml in "$@"; do pushd ./${toml%pyproject.toml}; poetry check; popd; done' --
185+ language : python
186+ additional_dependencies :
187+ - poetry==2.3.1
188+ pass_filenames : true
189+ files : ' pyproject\.toml$'
170190 - id : pyproject-use-version-ranges
171191 name : avoid using carets for version ranges
172192 description : ' Avoid using carets for version ranges'
@@ -196,6 +216,7 @@ repos:
196216 - repo : https://github.com/python-jsonschema/check-jsonschema
197217 rev : 0.36.1
198218 hooks :
219+ - id : check-circle-ci
199220 - id : check-github-workflows
200221 - id : check-renovate
201222 language : python
@@ -204,10 +225,8 @@ repos:
204225
205226# docker
206227 - repo : https://github.com/AleksaC/hadolint-py
207- rev : v2.12.1-beta
228+ rev : v2.14.0
208229 hooks :
209230 - id : hadolint
210231 args :
211- # unignore 3042 after https://github.com/hadolint/hadolint/issues/497
212232 - --ignore=DL3025
213- - --ignore=DL3042
0 commit comments