Path 1: 14 calls (1.0)

PackageDiagram (14)

1def write_packages(self, diagram: PackageDiagram) -> None:
2        """Write a package diagram."""
3        # sorted to get predictable (hence testable) results
4        for module in sorted(diagram.modules(), key=lambda x: x.title):
5            module.fig_id = module.node.qname()
6            self.printer.emit_node(
7                module.fig_id,
8                type_=NodeType.PACKAGE,
9                properties=self.get_package_properties(module),
10            )
11        # package dependencies
12        for rel in diagram.get_relationships("depends"):
13            self.printer.emit_edge(
14                rel.from_object.fig_id,
15                rel.to_object.fig_id,
16                type_=EdgeType.USES,
17            )