docs: def shell(ipython_args):
      """Runs a shell in the app context.
  
      Runs an interactive Python shell in the context of a given
      Flask application. The application will populate the default
      namespace of this shell according to it's configuration.
      This is useful for executing small snippets of management code
      without having to manually configuring the application.
      """
      import IPython
      from IPython.terminal.ipapp import load_default_config
      from traitlets.config.loader import Config
      from flask.globals import _app_ctx_stack
  
      app = _app_ctx_stack.top.app
  
      if 'IPYTHON_CONFIG' in app.config:
          config = Config(app.config['IPYTHON_CONFIG'])
      else:
          config = load_default_config()
  
      config.TerminalInteractiveShell.banner1 = '''Python %s on %s
  IPython: %s
  App: %s [%s]
  Instance: %s''' % (sys.version,
                     sys.platform,
                     IPython.__version__,
                     app.import_name,
                     app.env,
                     app.instance_path)
  
      IPython.start_ipython(
          argv=ipython_args,
          user_ns=app.make_shell_context(),
          config=config,
      )