flowpipe.utilities module¶
Utilities for serializing and importing Nodes.
- class flowpipe.utilities.NodeEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶
Bases:
JSONEncoder
Custom JSONEncoder to handle non-json serializable node values.
If the value is not json serializable, a sha256 hash of its bytes is encoded instead.
- default(o)¶
Encode the object, handling type errors by encoding into sha256.
- flowpipe.utilities.deserialize_graph(data)¶
De-serialize from the given json data.
- flowpipe.utilities.deserialize_node(data)¶
De-serialize a node from the given json data.
- flowpipe.utilities.get_hash(obj, hash_func=<function <lambda>>)¶
Safely get the hash of an object.
This function tries to compute the hash as safely as possible, dealing with json data and strings in a well-defined manner.
- Parameters:
obj – The object to hash
hash_func (func(obj) -> str) – The hashing function to use
- Returns:
A hash of the obj
- Return type:
(str)
- flowpipe.utilities.import_class(module, cls_name, file_location=None)¶
Import and return the given class from the given module.
File location can be given to import the class from a location that is not accessible through the PYTHONPATH. This works from python 2.6 to python 3.