Compatibility and Scope
Python and operating system
ROS2 Inspector v0.1.0 requires Python 3.11 or newer. The release CI tests Python 3.11, 3.12, and 3.13 on Ubuntu. Other operating systems may work, but should be validated in your own CI before production use.
ROS2 installation
A ROS2 installation, sourced environment, and running ROS graph are not required for static source analysis.
Workspace layouts
The scanner accepts a workspace root, its src/ directory, or a path inside a workspace. It discovers package.xml files while excluding generated and unrelated trees such as colcon build/, install/, and log/ directories, virtual environments, caches, and ignored packages.
Supported source scope
v0.1.0 recognizes documented direct patterns in:
- Python node classes and
create_*endpoint calls; - C++
rclcpp::Nodeand lifecycle-node patterns; - message, service, and action definition files;
- supported Python, XML, and YAML launch descriptions.
Indirect inheritance, wrappers, generated code, complex templates, macro-generated entities, plugin loading, and computed names can be incomplete. Review has_dynamic_names, endpoint evidence, confidence, and diagnostics when assessing results.
Verify a workspace
Use the shipped commands directly:
ros2inspector scan ~/robot_ws
ros2inspector nodes -C ~/robot_ws --show-connections
ros2inspector audit ~/robot_ws