cyyeh/py-code-analyzer
0
1"""GraphAnalyzer uses some open source graph library for network analysis2"""3import networkx as nx4 5 6class GraphAnalyzer:7 def __init__(self, is_directed: bool = False):8 self.graph = nx.DiGraph() if is_directed else nx.Graph()9 10 def add_node(self, node, **kwargs):11 self.graph.add_node(node, **kwargs)12 13 def add_edge(self, first_node, second_node):14 self.graph.add_edge(first_node, second_node)15 16 def add_edges_from_nodes(self, nodes):17 assert len(nodes) > 118 for first_node, second_node in zip(nodes, nodes[1:]):19 self.add_node(first_node, color="gray") # set default node color20 self.add_node(second_node, color="gray") # set default node color21 self.add_edge(first_node, second_node)22 