def __init__(
        self,
        *,
        vertices: Iterable[Hashable] | None = None,
        labelled_edges: dict[Iterable[Hashable], Any] | None = None,
    ) -> None:
        """A labelled, undirected hypergraph.

        Args:
            vertices: The vertices.
            labelled_edges: The labelled edges, as a mapping from (frozen) sets
                of vertices to the corresponding labels. Vertices are
                automatically added.
        """

        self._adjacency_lists: dict[Hashable, AdjacencyList] = {}
        self._labelled_edges: dict[frozenset[Hashable], Any] = {}
        if vertices is not None:
            self.add_vertices(vertices)
        if labelled_edges is not None:
            self.add_edges(labelled_edges)
A labelled, undirected hypergraph.

        Args:
            vertices: The vertices.
            labelled_edges: The labelled edges, as a mapping from (frozen) sets
                of vertices to the corresponding labels. Vertices are
                automatically added.
        
cirq-core/cirq/contrib/graph_device/hypergraph.py