tests/test_imports.py catches modules that fail at import, but it is a cheap approximation of static checking. A type checker reports the same class without importing, plus much more: wrong constructor arity, dataclass field ordering,
attribute typos, None-safety on optional returns.
Worth weighing after 1.0, when churn slows:
- mypy or pyright, both workable since PyQt6 ships stubs
- new CI job, keep it separate from
lint so failures read distinctly
tests/test_imports.pycatches modules that fail at import, but it is a cheap approximation of static checking. A type checker reports the same class without importing, plus much more: wrong constructor arity, dataclass field ordering,attribute typos, None-safety on optional returns.
Worth weighing after 1.0, when churn slows:
lintso failures read distinctly