diff --git a/.gitignore b/.gitignore index 6cc9d837a5..43d46489a0 100644 --- a/.gitignore +++ b/.gitignore @@ -39,6 +39,7 @@ debian/*debhelper .tox/ .cache/ .pytest_cache/ +.pytype/ .mypy_cache/ .tags venv diff --git a/.travis.yml b/.travis.yml index d9b719ef97..505f096377 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,6 +26,8 @@ jobs: env: TOXENV=pep8 - python: 3.8 env: TOXENV=mypy + - python: 3.7 + env: TOXENV=pytype allow_failures: - python: pypy3 @@ -43,6 +45,7 @@ addons: - gkrellm - graphviz # for docs - imagemagick + - libdbus-1-dev - x11-apps - xserver-xephyr - xterm diff --git a/libqtile/backend/x11/xcursors.py b/libqtile/backend/x11/xcursors.py index 24454b83fa..da6777d52e 100644 --- a/libqtile/backend/x11/xcursors.py +++ b/libqtile/backend/x11/xcursors.py @@ -1,7 +1,7 @@ from libqtile.log_utils import logger try: - from libqtile.backend.x11._ffi_xcursors import ffi + from libqtile.backend.x11._ffi_xcursors import ffi # pytype: disable=import-error except ImportError: raise ImportError("No module named libqtile.backend.x11._ffi_xcursors, be sure to run `./scripts/ffibuild`") diff --git a/libqtile/pangocffi.py b/libqtile/pangocffi.py index 2e2aa84db4..5c1f9fb46a 100644 --- a/libqtile/pangocffi.py +++ b/libqtile/pangocffi.py @@ -48,7 +48,7 @@ try: - from libqtile._ffi_pango import ffi + from libqtile._ffi_pango import ffi # pytype: disable=import-error except ImportError: raise ImportError("No module named libqtile._ffi_pango, be sure to run `./scripts/ffibuild`") diff --git a/tox.ini b/tox.ini index 1b0e0f25db..cd764ef1ec 100644 --- a/tox.ini +++ b/tox.ini @@ -7,10 +7,11 @@ envlist = py36, py37, py38, - py-nightly + py-nightly, docs, pep8, mypy, + pytype, packaging [testenv] @@ -55,6 +56,16 @@ commands = pip install -r requirements.txt mypy -p libqtile +[testenv:pytype] +deps = + dbus-python + jupyter_client + pytype + xcffib >= 0.8.1 +commands = + pip install -r requirements.txt + pytype -k libqtile + [testenv:docs] deps = -r{toxinidir}/docs/requirements.txt commands = python setup.py build_sphinx -W