docs: def create_app(config='udata.settings.Defaults', override=None,
                 init_logging=init_logging):
      '''Factory for a minimal application'''
      app = UDataApp(APP_NAME)
      app.config.from_object(config)
  
      settings = os.environ.get('UDATA_SETTINGS', join(os.getcwd(), 'udata.cfg'))
      if exists(settings):
          app.settings_file = settings  # Keep track of loaded settings for diagnostic
          app.config.from_pyfile(settings)
  
      if override:
          app.config.from_object(override)
  
      # Loads defaults from plugins
      for pkg in entrypoints.get_roots(app):
          if pkg == 'udata':
              continue  # Defaults are already loaded
          module = '{}.settings'.format(pkg)
          if pkgutil.find_loader(module):
              settings = pkgutil.get_loader(module)
              for key, default in settings.__dict__.items():
                  app.config.setdefault(key, default)
  
      app.json_encoder = UDataJsonEncoder
  
      app.debug = app.config['DEBUG'] and not app.config['TESTING']
  
      app.wsgi_app = ProxyFix(app.wsgi_app)
  
      init_logging(app)
      register_extensions(app)
  
      return app