docs: def serve(info, host, port, reload, debugger, eager_loading, with_threads):
      '''
      Runs a local udata development server.
  
      This local server is recommended for development purposes only but it
      can also be used for simple intranet deployments.
  
      By default it will not support any sort of concurrency at all
      to simplify debugging.
      This can be changed with the --with-threads option which will enable basic
      multithreading.
  
      The reloader and debugger are by default enabled if the debug flag of
      Flask is enabled and disabled otherwise.
      '''
      # Werkzeug logger is special and is required
      # with this configuration for development server
      logger = logging.getLogger('werkzeug')
      logger.setLevel(logging.INFO)
      logger.handlers = []
  
      debug = current_app.config['DEBUG']
      if reload is None:
          reload = bool(debug)
      if debugger is None:
          debugger = bool(debug)
      if eager_loading is None:
          eager_loading = not reload
  
      app = DispatchingApp(info.load_app, use_eager_loading=eager_loading)
  
      settings = os.environ.get('UDATA_SETTINGS',
                                os.path.join(os.getcwd(), 'udata.cfg'))
      extra_files = [settings]
      if reload:
          extra_files.extend(assets.manifests_paths())
  
      run_simple(host, port, app, use_reloader=reload,
                 use_debugger=debugger, threaded=with_threads,
                 extra_files=extra_files)