easygraph.utils.misc module#

easygraph.utils.misc.edges_equal(edges1, edges2, need_data=True)[source]#

Check if edges are equal.

Equality here means equal as Python objects. Edge data must match if included. The order of the edges is not relevant.

Parameters:
  • edges1 (iterables of with u, v nodes as) – edge tuples (u, v), or edge tuples with data dicts (u, v, d), or edge tuples with keys and data dicts (u, v, k, d)

  • edges2 (iterables of with u, v nodes as) – edge tuples (u, v), or edge tuples with data dicts (u, v, d), or edge tuples with keys and data dicts (u, v, k, d)

Returns:

True if edges are equal, False otherwise.

Return type:

bool

easygraph.utils.misc.graphs_equal(graph1, graph2)[source]#

Check if graphs are equal.

Equality here means equal as Python objects (not isomorphism). Node, edge and graph data must match.

Parameters:
  • graph1 (graph) –

  • graph2 (graph) –

Returns:

True if graphs are equal, False otherwise.

Return type:

bool

easygraph.utils.misc.nodes_equal(nodes1, nodes2)[source]#

Check if nodes are equal.

Equality here means equal as Python objects. Node data must match if included. The order of nodes is not relevant.

Parameters:
  • nodes1 (iterables of nodes, or (node, datadict) tuples) –

  • nodes2 (iterables of nodes, or (node, datadict) tuples) –

Returns:

True if nodes are equal, False otherwise.

Return type:

bool

easygraph.utils.misc.pairwise(iterable, cyclic=False)[source]#

s -> (s0, s1), (s1, s2), (s2, s3), …

easygraph.utils.misc.split(nodes, n)[source]#
easygraph.utils.misc.split_len(nodes, step=30000)[source]#