def get_installed_pypackages():
    return {p.project_name.lower(): p for p in pkg_resources.working_set}
def parsed_error_msg(self):
        """
        Sometimes, the error message we've received needs to be parsed into
        something more human readable

        The default behavior is to return the current error message as is.
        """
        return self.error_msg