def get_installed_pypackages():
    return {p.project_name.lower(): p for p in pkg_resources.working_set}
def is_overdue(self):
        """
        Returns True when the due date is in the past and the task has not
        yet been completed.
        """
        return not self.is_completed() and self.days_till_due() < 0