    def get_edge(self, src_or_list, dst=None):
        """Retrieved an edge from the graph.

        Given an edge's source and destination the corresponding
        Edge instance(s) will be returned.

        If one or more edges exist with that source and destination
        a list of Edge instances is returned.
        An empty list is returned otherwise.
        """
        if isinstance(src_or_list, (list, tuple)) and dst is None:
            edge_points = tuple(src_or_list)
            edge_points_reverse = (edge_points[1], edge_points[0])
        else:
            edge_points = (src_or_list, dst)
            edge_points_reverse = (dst, src_or_list)

        match = list()

        if edge_points in self.obj_dict["edges"] or (
            self.get_top_graph_type() == "graph"
            and edge_points_reverse in self.obj_dict["edges"]
        ):
            edges_obj_dict = self.obj_dict["edges"].get(
                edge_points,
                self.obj_dict["edges"].get(edge_points_reverse, None),
            )

            for edge_obj_dict in edges_obj_dict:
                match.append(
                    Edge(edge_points[0], edge_points[1], obj_dict=edge_obj_dict)
                )

        return match
Retrieved an edge from the graph.

Given an edge's source and destination the corresponding
Edge instance(s) will be returned.

If one or more edges exist with that source and destination
a list of Edge instances is returned.
An empty list is returned otherwise.
python/aitemplate/utils/visualization/pydot.py