proto2ros.dependencies module
This module provides APIs to manipulate dependencies between Protobuf <-> ROS message equivalences.
- proto2ros.dependencies.fix_dependency_cycles(message_specs: List[rosidl_adapter.parser.MessageSpecification], quiet: bool = True) None
Fixes dependency cycles among ROS message specifications.
ROS messages do not support recursive definitions, so this function works around this limitation by type erasing the least amount of offending fields.
- proto2ros.dependencies.message_dependency_graph(message_specs: List[rosidl_adapter.parser.MessageSpecification]) networkx.DiGraph
Returns the dependency graph for the given ROS message specifications.
This dependency graph is a directed multi-graph where message types make up nodes and composition relationships (has-a) make up edges. Nodes are annotated with the corresponding message specification, while edges are annotated with the corresponding field specification.