1 from __future__ import annotations 2 3 import typing as t 4 5 from . import json as json 6 from .app import Flask as Flask 7 from .blueprints import Blueprint as Blueprint 8 from .config import Config as Config 9 from .ctx import after_this_request as after_this_request 10 from .ctx import copy_current_request_context as copy_current_request_context 11 from .ctx import has_app_context as has_app_context 12 from .ctx import has_request_context as has_request_context 13 from .globals import current_app as current_app 14 from .globals import g as g 15 from .globals import request as request 16 from .globals import session as session 17 from .helpers import abort as abort 18 from .helpers import flash as flash 19 from .helpers import get_flashed_messages as get_flashed_messages 20 from .helpers import get_template_attribute as get_template_attribute 21 from .helpers import make_response as make_response 22 from .helpers import redirect as redirect 23 from .helpers import send_file as send_file 24 from .helpers import send_from_directory as send_from_directory 25 from .helpers import stream_with_context as stream_with_context 26 from .helpers import url_for as url_for 27 from .json import jsonify as jsonify 28 from .signals import appcontext_popped as appcontext_popped 29 from .signals import appcontext_pushed as appcontext_pushed 30 from .signals import appcontext_tearing_down as appcontext_tearing_down 31 from .signals import before_render_template as before_render_template 32 from .signals import got_request_exception as got_request_exception 33 from .signals import message_flashed as message_flashed 34 from .signals import request_finished as request_finished 35 from .signals import request_started as request_started 36 from .signals import request_tearing_down as request_tearing_down 37 from .signals import template_rendered as template_rendered 38 from .templating import render_template as render_template 39 from .templating import render_template_string as render_template_string 40 from .templating import stream_template as stream_template 41 from .templating import stream_template_string as stream_template_string 42 from .wrappers import Request as Request 43 from .wrappers import Response as Response 44 45 46 def __getattr__(name: str) -> t.Any: 47 if name == "__version__": 48 import importlib.metadata 49 import warnings 50 51 warnings.warn( 52 "The '__version__' attribute is deprecated and will be removed in" 53 " Flask 3.1. Use feature detection or" 54 " 'importlib.metadata.version(\"flask\")' instead.", 55 DeprecationWarning, 56 stacklevel=2, 57 ) 58 return importlib.metadata.version("flask") 59 60 raise AttributeError(name) 61