ros2_inspector
Static ROS 2 architecture analysis, visualization, auditing, and CI policy enforcement for Python and C++ workspaces.
What it does and how it connects
ros2inspector scans supported Python, C++, interface and launch-file patterns in a ROS 2 workspace and builds an evidence-backed architecture graph, renders that graph in several formats, and enforces architecture policies in CI. It analyzes source files without executing or building the workspace. Unsupported or ambiguous constructs are reported through evidence, confidence, dynamic-name flags or diagnostics, rather than presented as complete architectural truth.
The current alpha ships eleven commands: scan, packages, nodes, graph, viz, audit, validate, docs, watch, doctor and design. It discovers nodes and endpoints with Python AST and Tree-sitter C++ parsers, parses .msg, .srv and .action interfaces, analyzes Python, XML and YAML launch files with per-node remapping, and outputs rich tables, JSON, YAML, Mermaid, DOT and interactive HTML. A built-in connectivity audit and YAML policy enforcement run in CI.
It needs Python 3.10 or newer, and no ROS 2 installation is required for source analysis. It installs with pipx or pip, and the website and documentation live at the Vercel site.
Alternatives
Compare side by side- lvkit
Reads, renders, documents and diffs LabVIEW VI files without LabVIEW, rather than analyzing ROS 2 workspace architecture.
- benchtop-plc
A browser-based software PLC that runs PLC logic, rather than a static analyzer for ROS 2 workspaces.
Recurring errors it addresses
Error Index entries this tool is built to reduce or work around.
Sources
Not verified
- Pricing (none stated on the repo)
- Real user voices (the repo has no public issues)
Last verified November 6, 2026. Listings are informational. The evidence score measures public, verifiable evidence and is not an endorsement or a compatibility claim.