idmtools.utils.hashing module¶
Fast hash of Python objects.
-
class
idmtools.utils.hashing.Hasher(hash_name='md5')¶ Bases:
pickle._PicklerA subclass of pickler to do hashing, rather than pickling.
-
hash(obj, return_digest=True)¶
-
save(obj)¶
-
memoize(obj)¶ Disable memoization for strings so hashing happens on value and not reference.
-
save_set(set_items)¶
-
-
idmtools.utils.hashing.hash_obj(obj, hash_name='md5')¶ Quick calculation of a hash to identify uniquely Python objects.
- Parameters
hash_name – The hashing algorithm to use. ‘md5’ is faster; ‘sha1’ is considered safer.
-
idmtools.utils.hashing.ignore_fields_in_dataclass_on_pickle(item)¶
-
idmtools.utils.hashing.calculate_md5(filename: str, chunk_size: int = 8192) → str¶ Calculate MD5
- Parameters
filename – Filename to caclulate md5 for
chunk_size – Chunk size
Returns:
-
idmtools.utils.hashing.calculate_md5_stream(stream: Union[_io.BytesIO, BinaryIO], chunk_size: int = 8192)¶ Calculate md5 on stream :param chunk_size: :param stream:
- Returns
md5 of stream