From 7d5d1874581209f66ad7bcdfb7f85b2b9a7ca471 Mon Sep 17 00:00:00 2001 From: David Lord Date: Sat, 29 Mar 2025 15:23:34 -0700 Subject: [PATCH] better type checking during deprecation --- src/flask/__init__.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/flask/__init__.py b/src/flask/__init__.py index 7440aef1..1fdc50ce 100644 --- a/src/flask/__init__.py +++ b/src/flask/__init__.py @@ -42,19 +42,20 @@ from .templating import stream_template_string as stream_template_string from .wrappers import Request as Request from .wrappers import Response as Response +if not t.TYPE_CHECKING: -def __getattr__(name: str) -> t.Any: - if name == "__version__": - import importlib.metadata - import warnings + def __getattr__(name: str) -> t.Any: + if name == "__version__": + import importlib.metadata + import warnings - warnings.warn( - "The '__version__' attribute is deprecated and will be removed in" - " Flask 3.2. Use feature detection or" - " 'importlib.metadata.version(\"flask\")' instead.", - DeprecationWarning, - stacklevel=2, - ) - return importlib.metadata.version("flask") + warnings.warn( + "The '__version__' attribute is deprecated and will be removed in" + " Flask 3.2. Use feature detection or" + " 'importlib.metadata.version(\"flask\")' instead.", + DeprecationWarning, + stacklevel=2, + ) + return importlib.metadata.version("flask") - raise AttributeError(name) + raise AttributeError(name)