From 34f9e578f8916c575171aa35ad37c3cd30789b4a Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Thu, 17 Nov 2022 09:02:47 -0500 Subject: [PATCH 1/5] add default for `owner` parameter of `pyqtSignal.__get__()` https://github.com/python-qt-tools/PyQt5-stubs/actions/runs/3485949394/jobs/5831945350#step:7:111 > `error: PyQt5.QtCore.pyqtSignal.__get__ is inconsistent, runtime argument "owner" has a default value but stub argument does not` --- PyQt5-stubs/QtCore.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PyQt5-stubs/QtCore.pyi b/PyQt5-stubs/QtCore.pyi index 5030179..9707ee8 100644 --- a/PyQt5-stubs/QtCore.pyi +++ b/PyQt5-stubs/QtCore.pyi @@ -56,7 +56,7 @@ class pyqtSignal: def __init__(self, *types: typing.Any, name: str = ...) -> None: ... @typing.overload - def __get__(self, instance: None, owner: typing.Type["QObject"]) -> "pyqtSignal": ... + def __get__(self, instance: None, owner: typing.Type["QObject"] = ...) -> "pyqtSignal": ... @typing.overload def __get__(self, instance: "QObject", owner: typing.Type["QObject"]) -> pyqtBoundSignal: ... From 8fdabd0548233ce5af45b23a00b03c4fa38f2354 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Thu, 17 Nov 2022 09:07:07 -0500 Subject: [PATCH 2/5] conditionally, only for 3.10+ --- PyQt5-stubs/QtCore.pyi | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/PyQt5-stubs/QtCore.pyi b/PyQt5-stubs/QtCore.pyi index 9707ee8..1f54d8b 100644 --- a/PyQt5-stubs/QtCore.pyi +++ b/PyQt5-stubs/QtCore.pyi @@ -55,8 +55,12 @@ class pyqtSignal: def __init__(self, *types: typing.Any, name: str = ...) -> None: ... - @typing.overload - def __get__(self, instance: None, owner: typing.Type["QObject"] = ...) -> "pyqtSignal": ... + if sys.version_info >= (3, 10): + @typing.overload + def __get__(self, instance: None, owner: typing.Type["QObject"] = ...) -> "pyqtSignal": ... + else: + @typing.overload + def __get__(self, instance: None, owner: typing.Type["QObject"]) -> "pyqtSignal": ... @typing.overload def __get__(self, instance: "QObject", owner: typing.Type["QObject"]) -> pyqtBoundSignal: ... From 364d74d143eb4581081d8888eff16dd211eee14d Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Thu, 17 Nov 2022 09:13:07 -0500 Subject: [PATCH 3/5] get both the overloads --- PyQt5-stubs/QtCore.pyi | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/PyQt5-stubs/QtCore.pyi b/PyQt5-stubs/QtCore.pyi index 1f54d8b..cc90a30 100644 --- a/PyQt5-stubs/QtCore.pyi +++ b/PyQt5-stubs/QtCore.pyi @@ -58,12 +58,15 @@ class pyqtSignal: if sys.version_info >= (3, 10): @typing.overload def __get__(self, instance: None, owner: typing.Type["QObject"] = ...) -> "pyqtSignal": ... + + @typing.overload + def __get__(self, instance: "QObject", owner: typing.Type["QObject"] = ...) -> pyqtBoundSignal: ... else: @typing.overload def __get__(self, instance: None, owner: typing.Type["QObject"]) -> "pyqtSignal": ... - @typing.overload - def __get__(self, instance: "QObject", owner: typing.Type["QObject"]) -> pyqtBoundSignal: ... + @typing.overload + def __get__(self, instance: "QObject", owner: typing.Type["QObject"]) -> pyqtBoundSignal: ... # Convenient type aliases. From 7ae6ad5d2a7ba6e2982b1065729540ad7be5533a Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Thu, 17 Nov 2022 09:20:33 -0500 Subject: [PATCH 4/5] optional... --- PyQt5-stubs/QtCore.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PyQt5-stubs/QtCore.pyi b/PyQt5-stubs/QtCore.pyi index cc90a30..d06dd39 100644 --- a/PyQt5-stubs/QtCore.pyi +++ b/PyQt5-stubs/QtCore.pyi @@ -57,10 +57,10 @@ class pyqtSignal: if sys.version_info >= (3, 10): @typing.overload - def __get__(self, instance: None, owner: typing.Type["QObject"] = ...) -> "pyqtSignal": ... + def __get__(self, instance: None, owner: typing.Optional[typing.Type["QObject"]] = ...) -> "pyqtSignal": ... @typing.overload - def __get__(self, instance: "QObject", owner: typing.Type["QObject"] = ...) -> pyqtBoundSignal: ... + def __get__(self, instance: "QObject", owner: typing.Optional[typing.Type["QObject"]] = ...) -> pyqtBoundSignal: ... else: @typing.overload def __get__(self, instance: None, owner: typing.Type["QObject"]) -> "pyqtSignal": ... From 9ae7ae244edcfde57cf93111c50515dc318c5f9c Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Sun, 20 Nov 2022 09:07:06 -0500 Subject: [PATCH 5/5] Update QtCore.pyi --- PyQt5-stubs/QtCore.pyi | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/PyQt5-stubs/QtCore.pyi b/PyQt5-stubs/QtCore.pyi index d06dd39..1805a50 100644 --- a/PyQt5-stubs/QtCore.pyi +++ b/PyQt5-stubs/QtCore.pyi @@ -55,18 +55,11 @@ class pyqtSignal: def __init__(self, *types: typing.Any, name: str = ...) -> None: ... - if sys.version_info >= (3, 10): - @typing.overload - def __get__(self, instance: None, owner: typing.Optional[typing.Type["QObject"]] = ...) -> "pyqtSignal": ... - - @typing.overload - def __get__(self, instance: "QObject", owner: typing.Optional[typing.Type["QObject"]] = ...) -> pyqtBoundSignal: ... - else: - @typing.overload - def __get__(self, instance: None, owner: typing.Type["QObject"]) -> "pyqtSignal": ... + @typing.overload + def __get__(self, instance: None, owner: typing.Optional[typing.Type["QObject"]] = ...) -> "pyqtSignal": ... - @typing.overload - def __get__(self, instance: "QObject", owner: typing.Type["QObject"]) -> pyqtBoundSignal: ... + @typing.overload + def __get__(self, instance: "QObject", owner: typing.Optional[typing.Type["QObject"]] = ...) -> pyqtBoundSignal: ... # Convenient type aliases.