cli.py — flask Source File
Architecture documentation for cli.py, a python file in the flask codebase. 32 imports, 3 dependents.
Entity Profile
Dependency Diagram
graph LR a96499c3_f8a9_e782_f156_1c1ee4a86c69["cli.py"] 9cff5a62_7dbb_7b80_cf3c_128a7a2fda28["globals.py"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 9cff5a62_7dbb_7b80_cf3c_128a7a2fda28 881f9803_28d6_7d77_c8d7_1098b41ccf84["helpers.py"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 881f9803_28d6_7d77_c8d7_1098b41ccf84 aa03072d_fb08_de41_1ce0_535b2a2f9d00["get_debug_flag"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> aa03072d_fb08_de41_1ce0_535b2a2f9d00 36bfda2d_4c0b_0fa1_7108_9f786fa1b2bc["get_load_dotenv"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 36bfda2d_4c0b_0fa1_7108_9f786fa1b2bc 9612cfdd_2178_92c0_2ed7_16ebb0c72901["app.py"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 9612cfdd_2178_92c0_2ed7_16ebb0c72901 9f8cc56e_d5c4_e7a8_438a_3124c0dd5de5["Flask"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 9f8cc56e_d5c4_e7a8_438a_3124c0dd5de5 949a3336_caad_34e4_9d3f_a6e1653188ba["949a3336:caad:34e4:9d3f:a6e1653188ba"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 949a3336_caad_34e4_9d3f_a6e1653188ba cd492506_4d8a_7968_471b_e0fbee54b2bf["ast"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> cd492506_4d8a_7968_471b_e0fbee54b2bf 35e18c72_5163_709e_ecef_3bb55bc800bb["collections.abc"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 35e18c72_5163_709e_ecef_3bb55bc800bb 7d9ebc53_a992_d150_c79b_39c114a84acf["importlib.metadata"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 7d9ebc53_a992_d150_c79b_39c114a84acf 47f3f937_8ccc_385c_133e_f93bec267704["inspect"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 47f3f937_8ccc_385c_133e_f93bec267704 bdc6911d_da67_3a1f_90cb_90f5e9f0603e["os"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> bdc6911d_da67_3a1f_90cb_90f5e9f0603e 7aa2bb55_1207_c6a6_eaea_dc8955c0e441["platform"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 7aa2bb55_1207_c6a6_eaea_dc8955c0e441 2d179a80_c967_3979_8233_1db27e63ff0d["re"] a96499c3_f8a9_e782_f156_1c1ee4a86c69 --> 2d179a80_c967_3979_8233_1db27e63ff0d style a96499c3_f8a9_e782_f156_1c1ee4a86c69 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
from __future__ import annotations
import ast
import collections.abc as cabc
import importlib.metadata
import inspect
import os
import platform
import re
import sys
import traceback
import typing as t
from functools import update_wrapper
from operator import itemgetter
from types import ModuleType
import click
from click.core import ParameterSource
from werkzeug import run_simple
from werkzeug.serving import is_running_from_reloader
from werkzeug.utils import import_string
from .globals import current_app
from .helpers import get_debug_flag
from .helpers import get_load_dotenv
if t.TYPE_CHECKING:
import ssl
from _typeshed.wsgi import StartResponse
from _typeshed.wsgi import WSGIApplication
from _typeshed.wsgi import WSGIEnvironment
from .app import Flask
class NoAppException(click.UsageError):
"""Raised if an application cannot be found or loaded."""
def find_best_app(module: ModuleType) -> Flask:
"""Given a module instance this tries to find the best possible
application in the module or raises an exception.
"""
from . import Flask
# Search for the most common names first.
for attr_name in ("app", "application"):
app = getattr(module, attr_name, None)
if isinstance(app, Flask):
return app
# Otherwise find the only object that is a Flask instance.
matches = [v for v in module.__dict__.values() if isinstance(v, Flask)]
if len(matches) == 1:
return matches[0]
elif len(matches) > 1:
raise NoAppException(
// ... (1068 more lines)
Domain
Subdomains
Functions
Dependencies
- 949a3336:caad:34e4:9d3f:a6e1653188ba
- Flask
- _typeshed.wsgi
- app.py
- ast
- click
- click.core
- code
- collections.abc
- cryptography
- dotenv
- functools
- get_debug_flag
- get_load_dotenv
- globals.py
- helpers.py
- importlib.metadata
- inspect
- operator
- os
- platform
- re
- readline
- rlcompleter
- ssl
- sys
- traceback
- types
- typing.py
- werkzeug
- werkzeug.serving
- werkzeug.utils
Source
Frequently Asked Questions
What does cli.py do?
cli.py is a source file in the flask codebase, written in python. It belongs to the ApplicationCore domain, Scaffolding subdomain.
What functions are defined in cli.py?
cli.py defines 19 function(s): _called_with_wrong_args, _env_file_callback, _path_is_ancestor, _set_app, _set_debug, _validate_key, find_app_by_string, find_best_app, get_version, load_dotenv, and 9 more.
What does cli.py depend on?
cli.py imports 32 module(s): 949a3336:caad:34e4:9d3f:a6e1653188ba, Flask, _typeshed.wsgi, app.py, ast, click, click.core, code, and 24 more.
What files import cli.py?
cli.py is imported by 3 file(s): __main__.py, blueprints.py, testing.py.
Where is cli.py in the architecture?
cli.py is located at src/flask/cli.py (domain: ApplicationCore, subdomain: Scaffolding, directory: src/flask).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free