ros2_inspector

Static ROS 2 architecture analysis, visualization, auditing, and CI policy enforcement for Python and C++ workspaces.

ToolchainOpen sourceActiveEmbedded

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.

  • 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

  1. 1READMEgithub.com
  2. 2Websiteros2-inspector-theta.vercel.app
  3. 3Release v0.1.5github.com

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.