From 44ed500be317eec1d0531bad021bbdeaf441d46d Mon Sep 17 00:00:00 2001 From: ZeroIntensity Date: Sat, 10 Aug 2024 16:06:20 -0400 Subject: [PATCH 1/4] Restore the (formerly) deprecated warn() in 3.13 --- stdlib/logging/__init__.pyi | 60 +++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/stdlib/logging/__init__.pyi b/stdlib/logging/__init__.pyi index e6e6e8f645a0..20d7a0a08a6b 100644 --- a/stdlib/logging/__init__.pyi +++ b/stdlib/logging/__init__.pyi @@ -55,10 +55,9 @@ __all__ = [ "setLogRecordFactory", "lastResort", "raiseExceptions", + "warn" ] -if sys.version_info < (3, 13): - __all__ += ["warn"] if sys.version_info >= (3, 11): __all__ += ["getLevelNamesMapping"] if sys.version_info >= (3, 12): @@ -157,16 +156,15 @@ class Logger(Filterer): stacklevel: int = 1, extra: Mapping[str, object] | None = None, ) -> None: ... - if sys.version_info < (3, 13): - def warn( - self, - msg: object, - *args: object, - exc_info: _ExcInfoType = None, - stack_info: bool = False, - stacklevel: int = 1, - extra: Mapping[str, object] | None = None, - ) -> None: ... + def warn( + self, + msg: object, + *args: object, + exc_info: _ExcInfoType = None, + stack_info: bool = False, + stacklevel: int = 1, + extra: Mapping[str, object] | None = None, + ) -> None: ... def error( self, @@ -412,17 +410,16 @@ class LoggerAdapter(Generic[_L]): extra: Mapping[str, object] | None = None, **kwargs: object, ) -> None: ... - if sys.version_info < (3, 13): - def warn( - self, - msg: object, - *args: object, - exc_info: _ExcInfoType = None, - stack_info: bool = False, - stacklevel: int = 1, - extra: Mapping[str, object] | None = None, - **kwargs: object, - ) -> None: ... + def warn( + self, + msg: object, + *args: object, + exc_info: _ExcInfoType = None, + stack_info: bool = False, + stacklevel: int = 1, + extra: Mapping[str, object] | None = None, + **kwargs: object, + ) -> None: ... def error( self, @@ -524,15 +521,14 @@ def warning( extra: Mapping[str, object] | None = None, ) -> None: ... -if sys.version_info < (3, 13): - def warn( - msg: object, - *args: object, - exc_info: _ExcInfoType = None, - stack_info: bool = False, - stacklevel: int = 1, - extra: Mapping[str, object] | None = None, - ) -> None: ... +def warn( + msg: object, + *args: object, + exc_info: _ExcInfoType = None, + stack_info: bool = False, + stacklevel: int = 1, + extra: Mapping[str, object] | None = None, +) -> None: ... def error( msg: object, From dae0232af79f857dec9aae2dded0653dc7961823 Mon Sep 17 00:00:00 2001 From: ZeroIntensity Date: Sat, 10 Aug 2024 16:11:07 -0400 Subject: [PATCH 2/4] Add @deprecated --- stdlib/logging/__init__.pyi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/stdlib/logging/__init__.pyi b/stdlib/logging/__init__.pyi index 20d7a0a08a6b..7ba5b638c2c2 100644 --- a/stdlib/logging/__init__.pyi +++ b/stdlib/logging/__init__.pyi @@ -156,6 +156,7 @@ class Logger(Filterer): stacklevel: int = 1, extra: Mapping[str, object] | None = None, ) -> None: ... + @deprecated("Deprecated; use warning() instead.") def warn( self, msg: object, @@ -165,7 +166,6 @@ class Logger(Filterer): stacklevel: int = 1, extra: Mapping[str, object] | None = None, ) -> None: ... - def error( self, msg: object, @@ -410,6 +410,7 @@ class LoggerAdapter(Generic[_L]): extra: Mapping[str, object] | None = None, **kwargs: object, ) -> None: ... + @deprecated("Deprecated; use warning() instead.") def warn( self, msg: object, @@ -420,7 +421,6 @@ class LoggerAdapter(Generic[_L]): extra: Mapping[str, object] | None = None, **kwargs: object, ) -> None: ... - def error( self, msg: object, @@ -521,6 +521,7 @@ def warning( extra: Mapping[str, object] | None = None, ) -> None: ... +@deprecated("Deprecated; use warning() instead.") def warn( msg: object, *args: object, From cc463c093d310025dbe5725954b4c388a4a85d6f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 10 Aug 2024 20:15:49 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/logging/__init__.pyi | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/stdlib/logging/__init__.pyi b/stdlib/logging/__init__.pyi index 7ba5b638c2c2..9a4827a8f626 100644 --- a/stdlib/logging/__init__.pyi +++ b/stdlib/logging/__init__.pyi @@ -55,7 +55,7 @@ __all__ = [ "setLogRecordFactory", "lastResort", "raiseExceptions", - "warn" + "warn", ] if sys.version_info >= (3, 11): @@ -520,7 +520,6 @@ def warning( stacklevel: int = 1, extra: Mapping[str, object] | None = None, ) -> None: ... - @deprecated("Deprecated; use warning() instead.") def warn( msg: object, @@ -530,7 +529,6 @@ def warn( stacklevel: int = 1, extra: Mapping[str, object] | None = None, ) -> None: ... - def error( msg: object, *args: object, From d25694caa5acddb10739ef25f9d0c9a73e09c69c Mon Sep 17 00:00:00 2001 From: ZeroIntensity Date: Sat, 10 Aug 2024 16:41:43 -0400 Subject: [PATCH 4/4] Supress CI errors. --- stdlib/@tests/stubtest_allowlists/py313.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/stdlib/@tests/stubtest_allowlists/py313.txt b/stdlib/@tests/stubtest_allowlists/py313.txt index 2687f993a26e..5b0741b40dec 100644 --- a/stdlib/@tests/stubtest_allowlists/py313.txt +++ b/stdlib/@tests/stubtest_allowlists/py313.txt @@ -194,3 +194,9 @@ codecs.xmlcharrefreplace_errors # To match `dict`, we lie about the runtime, but use overloads to match the correct behavior types.MappingProxyType.get + +# logging.warn() was restored after the 3.13 release candidate, which is what CI is using +logging.__all__ +logging.Logger.warn +logging.LoggerAdapter.warn +logging.warn