mypy: Turn on disallow_untyped_defs by default

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
This commit is contained in:
Florian Bruhin 2023-06-30 00:55:19 +02:00
parent 904cab911d
commit 31ece1ecb0
1 changed files with 212 additions and 72 deletions

284
.mypy.ini
View File

@ -6,7 +6,7 @@ warn_unused_configs = True
disallow_any_generics = True
disallow_subclassing_any = True
# disallow_untyped_calls = True
# disallow_untyped_defs = True
disallow_untyped_defs = True
disallow_incomplete_defs = True
check_untyped_defs = True
disallow_untyped_decorators = True
@ -44,90 +44,230 @@ ignore_missing_imports = True
[mypy-qutebrowser.browser.webkit.*]
ignore_errors = True
[mypy-qutebrowser.browser.browsertab]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.hints]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.inspector]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.webkit.webkitinspector]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.webengine.webengineinspector]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.webengine.notification]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.guiprocess]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.objects]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.quitter]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.debugcachestats]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.elf]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.utilcmds]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.throttle]
disallow_untyped_defs = True
[mypy-qutebrowser.misc.backendproblem]
disallow_untyped_defs = True
[mypy-qutebrowser.config.*]
disallow_untyped_defs = True
[mypy-qutebrowser.config.configtypes]
# Needs some major work to use specific generics
disallow_any_generics = False
[mypy-qutebrowser.api.*]
disallow_untyped_defs = True
# Modules that are not fully typed yet
[mypy-qutebrowser.app]
disallow_untyped_defs = False
[mypy-qutebrowser.components.*]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.commands]
disallow_untyped_defs = False
[mypy-qutebrowser.extensions.*]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.downloads]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webelem]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.downloadview]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webkit.webkitelem]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.eventfilter]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.webengineelem]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.greasemonkey]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.darkmode]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.history]
disallow_untyped_defs = False
[mypy-qutebrowser.keyinput.*]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.navigate]
disallow_untyped_defs = False
[mypy-qutebrowser.utils.*]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.network.pac]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.command]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.network.proxy]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.qutescheme]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.pdfjs]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.filepathcategory]
disallow_untyped_defs = True
[mypy-qutebrowser.browser.qtnetworkdownloads]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.shared]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.signalfilter]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.urlmarks]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.cookies]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.interceptor]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.spell]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.tabhistory]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.webenginedownloads]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.webenginequtescheme]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.webenginesettings]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.webenginetab]
disallow_untyped_defs = False
[mypy-qutebrowser.browser.webengine.webview]
disallow_untyped_defs = False
[mypy-qutebrowser.commands.argparser]
disallow_untyped_defs = False
[mypy-qutebrowser.commands.cmdexc]
disallow_untyped_defs = False
[mypy-qutebrowser.commands.command]
disallow_untyped_defs = False
[mypy-qutebrowser.commands.runners]
disallow_untyped_defs = False
[mypy-qutebrowser.commands.userscripts]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.completer]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.completiondelegate]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.completionwidget]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.completionmodel]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.configmodel]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.histcategory]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.listcategory]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.miscmodels]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.urlmodel]
disallow_untyped_defs = False
[mypy-qutebrowser.completion.models.util]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.mainwindow]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.messageview]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.prompt]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.backforward]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.bar]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.clock]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.keystring]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.percentage]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.progress]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.tabindex]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.textbase]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.statusbar.url]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.tabbedbrowser]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.tabwidget]
disallow_untyped_defs = False
[mypy-qutebrowser.mainwindow.windowundo]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.autoupdate]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.checkpyver]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.cmdhistory]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.consolewidget]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.crashdialog]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.crashsignal]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.earlyinit]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.editor]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.httpclient]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.ipc]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.keyhintwidget]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.lineparser]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.miscwidgets]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.msgbox]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.pastebin]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.savemanager]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.sessions]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.split]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.sql]
disallow_untyped_defs = False
[mypy-qutebrowser.qutebrowser]
disallow_untyped_defs = False
[mypy-qutebrowser.misc.nativeeventfilter]
disallow_untyped_defs = True