From 31ece1ecb0fe3c6dec5e100bfcb9de42499c54d5 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 30 Jun 2023 00:55:19 +0200 Subject: 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 --- .mypy.ini | 260 +++++++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 200 insertions(+), 60 deletions(-) diff --git a/.mypy.ini b/.mypy.ini index 68839e86f..f34957197 100644 --- a/.mypy.ini +++ b/.mypy.ini @@ -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.config.configtypes] +# Needs some major work to use specific generics +disallow_any_generics = False -[mypy-qutebrowser.browser.hints] -disallow_untyped_defs = True +# Modules that are not fully typed yet +[mypy-qutebrowser.app] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.inspector] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.commands] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webkit.webkitinspector] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.downloads] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webengine.webengineinspector] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.downloadview] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webengine.notification] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.eventfilter] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.guiprocess] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.greasemonkey] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.objects] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.history] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.quitter] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.navigate] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.debugcachestats] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.network.pac] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.elf] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.network.proxy] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.utilcmds] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.pdfjs] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.throttle] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.qtnetworkdownloads] +disallow_untyped_defs = False -[mypy-qutebrowser.misc.backendproblem] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.shared] +disallow_untyped_defs = False -[mypy-qutebrowser.config.*] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.signalfilter] +disallow_untyped_defs = False -[mypy-qutebrowser.config.configtypes] -# Needs some major work to use specific generics -disallow_any_generics = False +[mypy-qutebrowser.browser.urlmarks] +disallow_untyped_defs = False -[mypy-qutebrowser.api.*] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.cookies] +disallow_untyped_defs = False -[mypy-qutebrowser.components.*] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.interceptor] +disallow_untyped_defs = False -[mypy-qutebrowser.extensions.*] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.spell] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webelem] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.tabhistory] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webkit.webkitelem] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.webenginedownloads] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webengine.webengineelem] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.webenginequtescheme] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.webengine.darkmode] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.webenginesettings] +disallow_untyped_defs = False -[mypy-qutebrowser.keyinput.*] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.webenginetab] +disallow_untyped_defs = False -[mypy-qutebrowser.utils.*] -disallow_untyped_defs = True +[mypy-qutebrowser.browser.webengine.webview] +disallow_untyped_defs = False -[mypy-qutebrowser.mainwindow.statusbar.command] -disallow_untyped_defs = True +[mypy-qutebrowser.commands.argparser] +disallow_untyped_defs = False -[mypy-qutebrowser.browser.qutescheme] -disallow_untyped_defs = True +[mypy-qutebrowser.commands.cmdexc] +disallow_untyped_defs = False -[mypy-qutebrowser.completion.models.filepathcategory] -disallow_untyped_defs = True +[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 -- cgit v1.2.3-54-g00ecf