(self, graph: nx.DiGraph)
return scores
Scoring nodes for processing order.

        Scores are calculated by the graph depth level. Lowest score (0) should be processed first.

        Args:
            graph: The graph to be scored.

        Returns:
            A dictionary consisting of `node name`:`score` pairs.
Scoring nodes for processing order.
Scoring nodes for processing order .
def _get_scores(self, graph: nx.DiGraph) -> Dict[str, int]:
        """Scoring nodes for processing order.

        Scores are calculated by the graph depth level. Lowest score (0) should be processed first.

        Args:
            graph: The graph to be scored.

        Returns:
            A dictionary consisting of `node name`:`score` pairs.
        """
        # split graph by connected subgraphs
        subgraphs = (
            graph.subgraph(x) for x in nx.connected_components(nx.Graph(graph))
        )

        # score all nodes in all subgraphs
        scores = {}
        for subgraph in subgraphs:
            grouped_nodes = self._grouped_topological_sort(subgraph)
            for level, group in enumerate(grouped_nodes):
                for node in group:
                    scores[node] = level

        return scores
def _get_scores ( self , graph : nx . DiGraph ) -> Dict [ str , int ] : # split graph by connected subgraphs subgraphs = ( graph . subgraph ( x ) for x in nx . connected_components ( nx . Graph ( graph ) ) ) # score all nodes in all subgraphs scores = { } for subgraph in subgraphs : grouped_nodes = self . _grouped_topological_sort ( subgraph ) for level , group in enumerate ( grouped_nodes ) : for node in group : scores [ node ] = level return scores