Configure pre-commit hooks and configure black for tests also.

These include flake8 linting, black and isort formatting
as well as some general hooks with minor checks.

* .pre-commit-config.yaml

* pyproject.toml : Run black on test files also.
This commit is contained in:
real-yfprojects 2022-08-15 17:42:36 +02:00
parent b80e01c726
commit 63b2eb1089
2 changed files with 82 additions and 1 deletions

81
.pre-commit-config.yaml Normal file
View File

@ -0,0 +1,81 @@
# pre-commit is a useful tool which can be setup by contributors
# per-repository in a few simple steps given that the
# repository has a config file like this one.
#
# The configured hooks are run on `git commit`. If one of the hooks makes or
# demands a change of the commits contents the commit process is aborted.
# The hooks can also be run manually through `pre-commit run --all-files`.
minimum_pre_commit_version: "1.15"
# The following hooks will be run before a commit is created
repos:
# general stuff
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.3.0
hooks:
# check file system problems
- id: check-case-conflict
- id: check-symlinks
- id: destroyed-symlinks
# unify whitespace and line ending
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
- id: end-of-file-fixer
- id: mixed-line-ending
# sort requirements.txt files
- id: requirements-txt-fixer
# format python files
- repo: https://github.com/psf/black
rev: 22.6.0
hooks:
- id: black
files: ^(src/vorta/|tests)
# sort python imports
- repo: https://github.com/PyCQA/isort
rev: 5.10.1
hooks:
- id: isort
# # run black on code embedded in docstrings
# - repo: https://github.com/asottile/blacken-docs
# rev: v1.12.1
# hooks:
# - id: blacken-docs
# additional_dependencies: [black]
# args:
# [
# --line-length,
# "120",
# --skip-string-normalization,
# --target-version,
# py39,
# ]
# check pep8 conformity using flake8
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
hooks:
- id: flake8
# configuration for the pre-commit.ci bot
# only relevant when actually using the bot
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci and
the `.pre-commit-config.yaml` file in this repository.
autofix_prs: true # default
autoupdate_commit_msg: |
[pre-commit.ci] Autoupdate pre-commit hook versions.
for more information, see https://pre-commit.ci and
the `.pre-commit-config.yaml` file in this repository.
submodules: false # default

View File

@ -2,7 +2,7 @@
line-length = 120
skip-string-normalization = true
target-version = ['py39']
include = "src/vorta/.*.py$"
include = "(src/vorta/|tests).*.py$"
[tool.isort]
profile = "black"