better type checking during deprecation (#5700)

This commit is contained in:
David Lord 2025-03-29 15:28:27 -07:00 committed by GitHub
commit 315ebc1176
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -42,19 +42,20 @@ from .templating import stream_template_string as stream_template_string
from .wrappers import Request as Request from .wrappers import Request as Request
from .wrappers import Response as Response from .wrappers import Response as Response
if not t.TYPE_CHECKING:
def __getattr__(name: str) -> t.Any: def __getattr__(name: str) -> t.Any:
if name == "__version__": if name == "__version__":
import importlib.metadata import importlib.metadata
import warnings import warnings
warnings.warn( warnings.warn(
"The '__version__' attribute is deprecated and will be removed in" "The '__version__' attribute is deprecated and will be removed in"
" Flask 3.2. Use feature detection or" " Flask 3.2. Use feature detection or"
" 'importlib.metadata.version(\"flask\")' instead.", " 'importlib.metadata.version(\"flask\")' instead.",
DeprecationWarning, DeprecationWarning,
stacklevel=2, stacklevel=2,
) )
return importlib.metadata.version("flask") return importlib.metadata.version("flask")
raise AttributeError(name) raise AttributeError(name)