Flask-Konch adds an improved shell command, flask konch
, to the Flask CLI.
- Uses IPython, BPython, or ptpython if available, and falls back to built-in interpreter
- Automatically imports top-level Flask functions and classes by default
- Define additional variables to include in the shell context
- Configurable banner and prompt
Flask-Konch uses konch, a shell configuration utility, under the hood.
pip install flask-konch
To run the shell:
export FLASK_APP=path/to/app.py
flask konch
To add additional variables to the shell context:
app = Flask(__name__)
app.config.update({"KONCH_CONTEXT": {"db": database, "User": User}})
KONCH_FLASK_IMPORTS
: Whether to automatically import top-level Flask functions and classes. Defaults toTrue
.KONCH_FLASK_SHELL_CONTEXT
: Whether to automatically import Flask shell context, as registered by shell_context_processor(f). Defaults toTrue
.KONCH_CONTEXT
: Dictionary of additional variables to include in the shell context.KONCH_SHELL
: May be'ipy'
,'bpy'
,'ptpy'
,'ptipy'
,'py'
, or'auto'
(default).KONCH_BANNER
: Custom banner.KONCH_PROMPT
: Custom input prompt.KONCH_OUTPUT
: Custom output prompt.KONCH_CONTEXT_FORMAT
: Format to display shell context. May be'full'
,'short'
, or a function that receives the context dictionary as input and returns a string.KONCH_IPY_AUTORELOAD
: Whether to load and enable the IPython autoreload extension (must be usingipython
shell).KONCH_IPY_EXTENSIONS
: List of IPython extension names to load (must be usingipython
shell).KONCH_IPY_COLORS
: IPython color style.KONCH_IPY_HIGHLIGHTING_STYLE
: IPython code highlighting style.KONCH_PTPY_VI_MODE
: Enable vi mode (must be usingptpython
shell).
MIT licensed. See the bundled LICENSE file for more details.