chore: enable strict mypy checks and fix pre-commit mypy hook
Add type annotations to all previously untyped functions and remove 9 suppressed error codes (call-arg, assignment, return-value, operator, has-type, dict-item, misc, list-item, annotation-unchecked) by fixing the underlying type issues. Add [[tool.mypy.overrides]] with ignore_missing_imports for KiCAD-specific modules (pcbnew, sexpdata, skip, cairosvg, kipy, PIL) so the pre-commit mypy hook passes in its isolated venv. Add types-requests and pytest to additional_dependencies in .pre-commit-config.yaml. Also fixes several real bugs uncovered by stricter checks: incorrect static calls to instance methods in swig_backend, wrong return type on get_size, missing value param in BoardAPI.place_component, variable shadowing in kicad_process.py, unqualified LibraryManager reference in kicad_interface, and missing top-level Path import. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -23,15 +23,20 @@ disable_error_code = [
|
||||
"arg-type",
|
||||
"attr-defined",
|
||||
"union-attr",
|
||||
"call-arg",
|
||||
"assignment",
|
||||
"var-annotated",
|
||||
"annotation-unchecked",
|
||||
"index",
|
||||
"has-type",
|
||||
"dict-item",
|
||||
"misc",
|
||||
"list-item",
|
||||
"return-value",
|
||||
"operator",
|
||||
]
|
||||
|
||||
[[tool.mypy.overrides]]
|
||||
module = [
|
||||
"pcbnew",
|
||||
"cairosvg",
|
||||
"sexpdata",
|
||||
"skip",
|
||||
"kipy",
|
||||
"kipy.*",
|
||||
"schematic",
|
||||
"PIL",
|
||||
"PIL.*",
|
||||
]
|
||||
ignore_missing_imports = true
|
||||
|
||||
Reference in New Issue
Block a user