def __repr__(self):
        return "<Requirement(package={package}, version='{version}')>".format(
            package=self.package, version=self.version)
def md5(fname):
    hash_md5 = hashlib.md5()
    with open(fname, "rb") as f:
        for chunk in iter(lambda: f.read(4096), b""):
            hash_md5.update(chunk)
    return hash_md5.hexdigest()