docs: def hash_edge(source, target, edge_data: EdgeData) -> str:
      """Convert an edge tuple to a SHA-512 hash.
  
      :param BaseEntity source: The source BEL node
      :param BaseEntity target: The target BEL node
      :param edge_data: The edge's data dictionary
      :return: A hashed version of the edge tuple using md5 hash of the binary pickle dump of u, v, and the json dump of d
      """
      edge_tuple = _get_edge_tuple(source, target, edge_data)
      return _hash_tuple(edge_tuple)