Parses ``$HOME/.bangrc`` for global settings and deployer credentials.  The
    ``.bangrc`` file is expected to be a YAML file whose outermost structure is
    a key-value map.

    Note that even though ``.bangrc`` is just a YAML file in which a user could
    store any top-level keys, it is not expected to be used as a holder of
    default values for stack-specific configuration attributes - if present,
    they will be ignored.

    Returns {} if ``$HOME/.bangrc`` does not exist.

    :rtype:  :class:`dict`

def parse_bangrc():
    """
    Parses ``$HOME/.bangrc`` for global settings and deployer credentials.  The
    ``.bangrc`` file is expected to be a YAML file whose outermost structure is
    a key-value map.

    Note that even though ``.bangrc`` is just a YAML file in which a user could
    store any top-level keys, it is not expected to be used as a holder of
    default values for stack-specific configuration attributes - if present,
    they will be ignored.

    Returns {} if ``$HOME/.bangrc`` does not exist.

    :rtype:  :class:`dict`

    """
    raw = read_raw_bangrc()
    return dict((k, raw[k]) for k in raw if k in RC_KEYS)