60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
# This configuration includes the full set of hooks we use. In
|
|
# addition to the defaults (see .pre-commit-config.yaml), this
|
|
# includes hooks that require our development and test dependencies
|
|
# installed and the virtualenv containing them active by the time
|
|
# pre-commit runs to produce correct results.
|
|
#
|
|
# If this is not a problem for your workflow, using this config is
|
|
# recommended, install it with
|
|
# pre-commit install --config .pre-commit-config-all.yaml
|
|
# Otherwise, see the default .pre-commit-config.yaml for a lighter one.
|
|
|
|
repos:
|
|
- repo: https://github.com/psf/black
|
|
rev: 19.10b0
|
|
hooks:
|
|
- id: black
|
|
args:
|
|
- --safe
|
|
- --quiet
|
|
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
|
|
- repo: https://github.com/PyCQA/flake8
|
|
rev: 3.7.9
|
|
hooks:
|
|
- id: flake8
|
|
additional_dependencies:
|
|
- flake8-docstrings==1.5.0
|
|
- pydocstyle==5.0.1
|
|
files: ^(homeassistant|script|tests)/.+\.py$
|
|
- repo: https://github.com/PyCQA/bandit
|
|
rev: 1.6.2
|
|
hooks:
|
|
- id: bandit
|
|
args:
|
|
- --quiet
|
|
- --format=custom
|
|
- --configfile=tests/bandit.yaml
|
|
files: ^(homeassistant|script|tests)/.+\.py$
|
|
- repo: https://github.com/pre-commit/mirrors-isort
|
|
rev: v4.3.21
|
|
hooks:
|
|
- id: isort
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v2.4.0
|
|
hooks:
|
|
- id: check-json
|
|
# Using a local "system" mypy instead of the mypy hook, because its
|
|
# results depend on what is installed. And the mypy hook runs in a
|
|
# virtualenv of its own, meaning we'd need to install and maintain
|
|
# another set of our dependencies there... no. Use the "system" one
|
|
# and reuse the environment that is set up anyway already instead.
|
|
- repo: local
|
|
hooks:
|
|
- id: mypy
|
|
name: mypy
|
|
entry: mypy
|
|
language: system
|
|
types: [python]
|
|
require_serial: true
|
|
files: ^homeassistant/.+\.py$
|