diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 380c658..f811500 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,46 +1,59 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.4.0 hooks: - id: trailing-whitespace - - id: flake8 - id: check-json - id: check-yaml +# we need the master of pyflakes to have support for @overload on methods, +# so we use a local config for now +# - repo: https://gitlab.com/pycqa/flake8 +# hooks: +# - id: flake8 +- repo: local + hooks: + - id: flake8 + name: flake8 + entry: flake8 + pass_filenames: true + language: system + types: [python] + - repo: https://github.com/codespell-project/codespell rev: v1.16.0 hooks: - id: codespell - repo: local hooks: - id: mypy name: mypy entry: mypy args: [swh] pass_filenames: false language: system types: [python] # unfortunately, we are far from being able to enable this... # - repo: https://github.com/PyCQA/pydocstyle.git # rev: 4.0.0 # hooks: # - id: pydocstyle # name: pydocstyle # description: pydocstyle is a static analysis tool for checking compliance with Python docstring conventions. # entry: pydocstyle --convention=google # language: python # types: [python] # black requires py3.6+ #- repo: https://github.com/python/black # rev: 19.3b0 # hooks: # - id: black # language_version: python3 #- repo: https://github.com/asottile/blacken-docs # rev: v1.0.0-1 # hooks: # - id: blacken-docs # additional_dependencies: [black==19.3b0] diff --git a/tox.ini b/tox.ini index ec4d6ce..1a0a86d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,32 +1,33 @@ [tox] envlist=flake8,mypy,py3 [testenv] passenv=SWH_KAFKA_ROOT extras = testing deps = pytest-cov dev: pdbpp setenv = SWH_KAFKA_ROOT = {env:SWH_KAFKA_ROOT:swh/journal/tests/kafka} commands = pytest --cov={envsitepackagesdir}/swh/journal \ {envsitepackagesdir}/swh/journal \ --cov-branch \ --doctest-modules {posargs} [testenv:flake8] skip_install = true deps = + git+https://github.com/PyCQA/pyflakes.git flake8 commands = {envpython} -m flake8 [testenv:mypy] extras = testing deps = mypy commands = mypy swh