code: def create_app(
          default_name: str = None,
          parser: argparse.ArgumentParser = None,
          raw_args: List[str] = None
  ) -> web.Application:
      
  
      if parser is None:
          assert default_name, 'Default service name is required'
          parser = create_parser(default_name)
  
      args = parser.parse_args(raw_args)
      _init_logging(args)
  
      LOGGER.info(f'Creating [{args.name}] application')
      app = web.Application()
      app['config'] = vars(args)
      return app
docs: Creates and configures an Aiohttp application.
  
      Args:
          default_name (str, optional):
              Default value for the --name commandline argument.
              This value is required if `parser` is not provided.
              This value will be ignored if `parser` is provided.
  
          parser (argparse.ArgumentParser, optional):
              Application-specific parser.
              If not provided, the return value of `create_parser()` will be used.
  
          raw_args (list of str, optional):
              Explicit commandline arguments.
              Defaults to sys.argv[1:]
  
      Returns:
          web.Application: A configured Aiohttp Application object.
              This Application must be furnished, and is not yet running.