def METHOD_NAME(
    self, stack_name, profile=None, region=None, sceptre_role=None
):
    """
    Communicates with AWS CloudFormation to fetch outputs from a specific
    Stack.
    :param stack_name: Name of the Stack to collect output for.
    :type stack_name: str
    :returns: A formatted version of the Stack outputs.
    :rtype: dict
    :raises: sceptre.stack.DependencyStackNotLaunchedException
    """
    self.logger.debug("Collecting outputs from '{0}'...".format(stack_name))
    connection_manager = self.stack.connection_manager
    try:
        response = connection_manager.call(
            service="cloudformation",
            command="describe_stacks",
            kwargs={"StackName": stack_name},
            profile=profile,
            region=region,
            stack_name=stack_name,
            sceptre_role=sceptre_role,
        )
    except ClientError as e:
        if "does not exist" in e.response["Error"]["Message"]:
            raise StackDoesNotExistError(e.response["Error"]["Message"])
        else:
            raise e
    else:
        outputs = response["Stacks"][0].get("Outputs", {})
    self.logger.debug("Outputs: {0}".format(outputs))
    formatted_outputs = dict(
        (output["OutputKey"], output["OutputValue"]) for output in outputs
    )
    return formatted_outputs