--- files: (?x)^( .*/Makefile| .*\.sh| .*\.py| .*\.md )$ exclude: (?x)^( .*error.*\.yaml| experiments/.*| submodules/.*| kibot/PyPDF2/.*| kibot/PcbDraw/.*| tests/yaml_samples/definitions_*| tests/yaml_samples/simple_position_csv_pre.kibot.yaml )$ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.5.0 hooks: - id: no-commit-to-branch args: [--branch, main] - id: check-ast - id: check-yaml args: [--unsafe] - id: debug-statements - id: end-of-file-fixer - id: trailing-whitespace - id: check-json stages: [manual] - id: mixed-line-ending - id: check-builtin-literals - id: check-merge-conflict # - id: check-docstring-first - id: fix-byte-order-marker - id: check-case-conflict - id: check-executables-have-shebangs - id: check-shebang-scripts-are-executable # - id: check-toml - repo: https://github.com/adrienverge/yamllint.git rev: v1.33.0 hooks: - id: yamllint args: [-c, .yamllint] # I see no point in making the code more incompatible with older Python # - repo: https://github.com/asottile/pyupgrade # rev: v2.31.0 # hooks: # - id: pyupgrade # Too intrusive # - repo: https://github.com/psf/black # rev: 22.1.0 # hooks: # - id: black - repo: https://github.com/fsouza/autoflake8 rev: v0.4.1 hooks: - id: autoflake8 - repo: https://github.com/PyCQA/flake8 rev: 7.0.0 hooks: - id: flake8 exclude: ^kibot/mcpyrate/ args: [--count, --statistics] additional_dependencies: - flake8-bugbear>=22.1.11 - flake8-comprehensions>=3.8.0 - flake8_2020>=1.6.1 - flake8-docstrings - mccabe>=0.6.1 - pycodestyle>=2.8.0 - pyflakes>=2.4.0 # Sorting imports is dangerous. # - repo: https://github.com/PyCQA/isort # rev: 5.10.1 # hooks: # - id: isort - repo: https://github.com/codespell-project/codespell rev: v2.2.6 hooks: - id: codespell # - repo: https://github.com/pre-commit/mirrors-mypy # rev: v0.931 # hooks: # - id: mypy # Bandit is really slow, really annoying for a commit # - repo: https://github.com/Lucas-C/pre-commit-hooks-bandit # rev: v1.0.5 # hooks: # - id: python-bandit-vulnerability-check # TODO: mdformat --wrap 75 README.md --number # - repo: https://github.com/netromdk/vermin # rev: v1.5.2 # ex: 'e88bda9' or 'v1.3.4' # hooks: # - id: vermin # # specify your target version here, OR in a Vermin config file as usual: # args: ['-t=3.7-', '--violations'] # # (if your target is specified in a Vermin config, you may omit the 'args' entry entirely)