ci: skip: [pylint] repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.3.0 hooks: - id: trailing-whitespace exclude: tests(/\w*)*/functional/t/trailing_whitespaces.py|tests/pyreverse/data/.*.html|doc/data/messages/t/trailing-whitespace/bad.py - id: end-of-file-fixer exclude: | (?x)^( tests(/\w*)*/functional/m/missing/missing_final_newline.py| tests/functional/t/trailing_newlines.py| doc/data/messages/t/trailing-newlines/bad.py| )$ - repo: https://github.com/myint/autoflake rev: v1.4 hooks: - id: autoflake exclude: &fixtures tests(/\w*)*/functional/|tests/input|doc/data/messages|tests(/\w*)*data/ args: - --in-place - --remove-all-unused-imports - --expand-star-imports - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/Pierre-Sassoulas/copyright_notice_precommit rev: 0.1.2 hooks: - id: copyright-notice args: ["--notice=script/copyright.txt", "--enforce-all"] exclude: tests(/\w*)*/functional/|tests/input|doc/data/messages|examples/|setup.py|tests(/\w*)*data/ types: [python] - repo: https://github.com/asottile/pyupgrade rev: v2.37.1 hooks: - id: pyupgrade args: [--py37-plus] exclude: *fixtures - repo: https://github.com/PyCQA/isort rev: 5.10.1 hooks: - id: isort exclude: doc/data/messages/(r/reimported|w/wrong-import-order|u/ungrouped-imports|m/misplaced-future|m/multiple-imports)/bad.py - repo: https://github.com/psf/black rev: 22.6.0 hooks: - id: black args: [--safe, --quiet] exclude: *fixtures - repo: https://github.com/Pierre-Sassoulas/black-disable-checker rev: v1.1.0 hooks: - id: black-disable-checker - repo: https://github.com/PyCQA/flake8 rev: 4.0.1 hooks: - id: flake8 additional_dependencies: [flake8-typing-imports==1.12.0] exclude: *fixtures - repo: local hooks: - id: pylint name: pylint entry: pylint language: system types: [python] args: ["-rn", "-sn", "--rcfile=pylintrc", "--fail-on=I"] exclude: tests(/\w*)*/functional/|tests/input|tests(/\w*)*data/|doc/ # We define an additional manual step to allow running pylint with a spelling # checker in CI. - id: pylint alias: pylint-with-spelling name: pylint entry: pylint language: system types: [python] args: ["-rn", "-sn", "--rcfile=pylintrc", "--fail-on=I", "--spelling-dict=en"] exclude: tests(/\w*)*/functional/|tests/input|tests(/\w*)*data/|doc/ stages: [manual] - id: fix-documentation name: Fix documentation entry: python3 -m script.fix_documentation language: system types: [text] files: ^(doc/whatsnew/\d+\.\d+\.rst) - repo: https://github.com/rstcheck/rstcheck rev: "v6.0.0.post1" hooks: - id: rstcheck args: ["--report-level=warning"] files: ^(doc/(.*/)*.*\.rst) additional_dependencies: [Sphinx==5.0.1] - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.961 hooks: - id: mypy name: mypy entry: mypy language: python types: [python] args: [] require_serial: true additional_dependencies: ["platformdirs==2.2.0", "types-pkg_resources==0.1.3"] exclude: tests(/\w*)*/functional/|tests/input|tests(/.*)+/conftest.py|doc/data/messages|tests(/\w*)*data/ - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.7.1 hooks: - id: prettier args: [--prose-wrap=always, --print-width=88] exclude: tests(/\w*)*data/ - repo: https://github.com/DanielNoord/pydocstringformatter rev: v0.6.2 hooks: - id: pydocstringformatter exclude: *fixtures args: ["--max-summary-lines=2", "--linewrap-full-docstring"] files: "pylint"