Skip to main content

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::Node and 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