| ci: |
| skip: [pylint] |
| |
| repos: |
| - repo: https://github.com/pre-commit/pre-commit-hooks |
| rev: v4.2.0 |
| hooks: |
| - id: trailing-whitespace |
| exclude: "tests/functional/t/trailing_whitespaces.py|tests/pyreverse/data/.*.html" |
| - id: end-of-file-fixer |
| exclude: "tests/functional/m/missing/missing_final_newline.py|tests/functional/t/trailing_newlines.py" |
| - repo: https://github.com/myint/autoflake |
| rev: v1.4 |
| hooks: |
| - id: autoflake |
| exclude: &fixtures tests/functional/|tests/input|tests/regrtest_data/|tests/data/|doc/data/messages|tests/testutils/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: f683ab7d10d5f7e779c75aea17197007583d14e4 |
| hooks: |
| - id: copyright-notice |
| args: ["--notice=script/copyright.txt", "--enforce-all"] |
| exclude: tests/functional/|tests/input|tests/regrtest_data/|tests/data/|doc/data/messages|tests/testutils/data/|examples/|setup.py |
| types: [python] |
| - repo: https://github.com/asottile/pyupgrade |
| rev: v2.32.0 |
| hooks: |
| - id: pyupgrade |
| args: [--py36-plus] |
| exclude: *fixtures |
| - repo: https://github.com/PyCQA/isort |
| rev: 5.10.1 |
| hooks: |
| - id: isort |
| - repo: https://github.com/psf/black |
| rev: 22.3.0 |
| hooks: |
| - id: black |
| args: [--safe, --quiet] |
| exclude: *fixtures |
| - repo: https://github.com/Pierre-Sassoulas/black-disable-checker |
| rev: 1.0.1 |
| 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", |
| "--load-plugins=pylint.extensions.docparams", |
| ] |
| # disabled plugins: pylint.extensions.mccabe |
| exclude: tests/functional/|tests/input|tests/extensions/data|tests/regrtest_data/|tests/data/|doc/ |
| - id: fix-documentation |
| name: Fix documentation |
| entry: python3 -m script.fix_documentation |
| language: system |
| types: [text] |
| files: ^(ChangeLog|doc/whatsnew/\d+\.\d+\.rst) |
| - repo: https://github.com/myint/rstcheck |
| rev: "v5.0.0" |
| hooks: |
| - id: rstcheck |
| args: ["--ignore-roles=func,class,mod", "--report=warning"] |
| types: [text] # necessary to include ChangeLog file |
| files: ^(ChangeLog|doc/(.*/)*.*\.rst) |
| - repo: https://github.com/pre-commit/mirrors-mypy |
| rev: v0.941 |
| 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/functional/|tests/input|tests(/.*)*/data|tests/regrtest_data/|tests/data/|tests(/.*)+/conftest.py|doc/|bin/ |
| - repo: https://github.com/pre-commit/mirrors-prettier |
| rev: v2.6.0 |
| hooks: |
| - id: prettier |
| args: [--prose-wrap=always, --print-width=88] |
| exclude: tests(/.*)*/data |
| - repo: https://github.com/DanielNoord/pydocstringformatter |
| rev: v0.5.3 |
| hooks: |
| - id: pydocstringformatter |
| exclude: *fixtures |
| args: ["--split-summary-body", "--max-summary-lines=2"] |
| files: "pylint" |