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