code: def components(self) -> List['DAGCircuit']:
          
          comps = nx.weakly_connected_component_subgraphs(self.graph)
          return [DAGCircuit(comp) for comp in comps]
docs: Split DAGCircuit into independent components