docs: def default():
      """Retrieves a default Context object, creating it if necessary.
  
        The default Context is a global shared instance used every time the default context is
        retrieved.
  
        Attempting to use a Context with no project_id will raise an exception, so on first use
        set_project_id must be called.
  
      Returns:
        An initialized and shared instance of a Context object.
      """
      credentials = du.get_credentials()
      project = du.get_default_project_id()
      if Context._global_context is None:
        config = Context._get_default_config()
        Context._global_context = Context(project, credentials, config)
      else:
        # Always update everything in case the access token is revoked or expired, config changed,
        # or project changed.
        Context._global_context.set_credentials(credentials)
        Context._global_context.set_project_id(project)
      return Context._global_context