'Yield (node, data) pairs representing the predecessors of node *dest*.
(*data* will be None if no data was specified when adding the edge)'

def predecessors(self, dest):

    for src in self._preds[dest]:
        (yield (src, self._edge_data[(src, dest)]))
