'Key is now required.'

def add_edge(self, u, v, key, **attr):

    if (key in self.edge_index):
        (uu, vv, _) = self.edge_index[key]
        if ((u != uu) or (v != vv)):
            raise Exception('Key    {0!r}    is    already    in    use.'.format(key))
    self._cls.add_edge(u, v, key=key, **attr)
    self.edge_index[key] = (u, v, self.succ[u][v][key])
