Done by removing the existing config and doing:
tox -e mypy-pyqt6 | \
grep -F .py | \
cut -d: -f1 | \
sort | \
uniq | \
sed 's/\.py//' | \
sed 's/\//./g' | \
while read line; do \
echo "[mypy-$line]\ndisallow_untyped_defs = False\n" \
done >> .mypy.ini
This means we now enforce type annotations for all new modules.
We can still add sections for upcoming PR merges where this is a problem.
Closes#7409
The ignores needed between Qt 5 and Qt 6 differ.
We could buy into e.g. only Qt 6 linting, but apparently e.g. VS Code
also shows more errors when removing the Qt 5 type ignores.
Instead, disable this for now. We might want to re-enable it when we see
a major change in the mypy changelog and filter the results manually.
81 -> 50 errors
Commits for dropping 3.5 support to copy from:
c245b7d855ccd "Initial drop of Python 3.5"
ccdfb44b85 "Drop support for Python 3.6.0"
Anything needed to update regarding OS version support in
doc/install.asciidoc?
TODO: remove 3.6/7 annotations in requirements files and
rebuild
workflows: not sure I updated it right (run 5.12 with 3.7, same 18.04 OS) but
18.04 seems to have 3.7 on it too so it should work. It'll all change when we
drop <5.15 anyway. Not sure what the minimum ubuntu version will be going
forward.
Regarding mimetype overrides (ebb3046822) the doctring says they can all go
in 3.7 but .h5 is still missing on py39, not sure if we should care.
There are a bunch of old(?) warning messages still ignored in tests/end2end/fixtures/quteprocess.py.