mirror of
https://github.com/python-kasa/python-kasa.git
synced 2025-08-09 20:24:02 +00:00
Configure mypy to run in virtual environment and fix resulting issues (#989)
For some time I've noticed that my IDE is reporting mypy errors that the pre-commit hook is not picking up. This is because [mypy mirror](https://github.com/pre-commit/mirrors-mypy) runs in an isolated pre-commit environment which does not have dependencies installed and it enables `--ignore-missing-imports` to avoid errors. This is [advised against by mypy](https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-library-stubs-or-py-typed-marker) for obvious reasons: > We recommend avoiding --ignore-missing-imports if possible: it’s equivalent to adding a # type: ignore to all unresolved imports in your codebase. This PR configures the mypy pre-commit hook to run in the virtual environment and addresses the additional errors identified as a result. It also introduces a minimal mypy config into the `pyproject.toml` [mypy errors identified without the fixes in this PR](https://github.com/user-attachments/files/15896693/mypyerrors.txt)
This commit is contained in:
@@ -58,6 +58,7 @@ xdoctest = "*"
|
||||
coverage = {version = "*", extras = ["toml"]}
|
||||
pytest-timeout = "^2"
|
||||
pytest-freezer = "^0.4"
|
||||
mypy = "1.9.0"
|
||||
|
||||
[tool.poetry.extras]
|
||||
docs = ["sphinx", "sphinx_rtd_theme", "sphinxcontrib-programoutput", "myst-parser", "docutils"]
|
||||
@@ -138,3 +139,19 @@ convention = "pep257"
|
||||
"D100",
|
||||
"D103",
|
||||
]
|
||||
|
||||
[tool.mypy]
|
||||
warn_unused_configs = true # warns if overrides sections unused/mis-spelled
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = [ "kasa.tests.*", "devtools.*" ]
|
||||
disable_error_code = "annotation-unchecked"
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = [
|
||||
"devtools.bench.benchmark",
|
||||
"devtools.parse_pcap",
|
||||
"devtools.perftest",
|
||||
"devtools.create_module_fixtures"
|
||||
]
|
||||
disable_error_code = "import-not-found,import-untyped"
|
||||
|
Reference in New Issue
Block a user