KiBot/.pre-commit-config.yaml

102 lines
2.7 KiB
YAML

---
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)