def is_back_edge(t: networkx.DiGraph, e: Tuple[Node, Node]): u, v = e[:2] if not t.has_edge(u, v): if u in t and v in networkx.ancestors(t, u): return True return False