From 98612a0d70f01863d81d61733bea0e2dcd0ed5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20St=C3=A5hl?= Date: Wed, 23 Sep 2020 18:03:15 +0200 Subject: [PATCH] Enable type checking with mypy --- requirements_test.txt | 1 + setup.cfg | 17 +++++++++++++++++ tox.ini | 5 +---- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/requirements_test.txt b/requirements_test.txt index 0ec6a70..8c70fa8 100644 --- a/requirements_test.txt +++ b/requirements_test.txt @@ -1,4 +1,5 @@ black==20.8b1 +codespell==1.17.1 flake8==3.8.3 mypy==0.782 pydocstyle==5.1.1 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 384cedc..2d94fd3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -2,3 +2,20 @@ exclude = .git,.tox max-line-length = 88 ignore = E203, W503 + +[mypy] +python_version = 3.7 +ignore_errors = true +follow_imports = silent +ignore_missing_imports = true +warn_incomplete_stub = true +warn_redundant_casts = true +warn_unused_configs = true + +[mypy-homeassistant.block_async_io,homeassistant.bootstrap,homeassistant.components,homeassistant.config_entries,homeassistant.config,homeassistant.const,homeassistant.core,homeassistant.data_entry_flow,homeassistant.exceptions,homeassistant.__init__,homeassistant.loader,homeassistant.__main__,homeassistant.requirements,homeassistant.runner,homeassistant.setup,homeassistant.util,homeassistant.auth.*,homeassistant.components.automation.*,homeassistant.components.binary_sensor.*,homeassistant.components.calendar.*,homeassistant.components.cover.*,homeassistant.components.device_automation.*,homeassistant.components.frontend.*,homeassistant.components.geo_location.*,homeassistant.components.group.*,homeassistant.components.history.*,homeassistant.components.http.*,homeassistant.components.image_processing.*,homeassistant.components.integration.*,homeassistant.components.light.*,homeassistant.components.lock.*,homeassistant.components.mailbox.*,homeassistant.components.media_player.*,homeassistant.components.notify.*,homeassistant.components.persistent_notification.*,homeassistant.components.proximity.*,homeassistant.components.remote.*,homeassistant.components.scene.*,homeassistant.components.sensor.*,homeassistant.components.sun.*,homeassistant.components.switch.*,homeassistant.components.systemmonitor.*,homeassistant.components.tts.*,homeassistant.components.vacuum.*,homeassistant.components.water_heater.*,homeassistant.components.weather.*,homeassistant.components.websocket_api.*,homeassistant.components.zone.*,homeassistant.helpers.*,homeassistant.scripts.*,homeassistant.util.*] +strict = true +ignore_errors = false +warn_unreachable = true +# TODO: turn these off, address issues +allow_any_generics = true +implicit_reexport = true diff --git a/tox.ini b/tox.ini index 91ebab3..e311a19 100644 --- a/tox.ini +++ b/tox.ini @@ -33,8 +33,5 @@ commands = pydocstyle -v custom_components [testenv:typing] -whitelist_externals = - true commands = - true - #mypy --ignore-missing-imports --follow-imports=skip custom_components + mypy --ignore-missing-imports --follow-imports=skip custom_components