Skip to content

NoDL (Node Definition Language)

  • Software
  • Middleware
  • Tool

A schema and toolkit for describing a ROS 2 node's interface, covering its parameters, topics, services and actions.

Made by ROS 2 Tooling Working Groups.

Source on GitHub: github.com/ros-tooling/nodl (opens in a new tab). Facts read at commit cd56cb6 (opens in a new tab).

Licenses

Code
Apache-2.0 (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit cd56cb6 (opens in a new tab), on 16 Oct 2026.

Commercial use
Yes

What it does

  • Provides a schema, the key file nodl.schema.yaml, for describing a node's interface.
  • Includes a C++ generator that produces an abstract base class from a NoDL document.
  • Includes a Python generator that produces an rclpy base class from a NoDL document at build time.
  • Offers a ros2cli extension with ros2 nodl commands.
  • Includes a Sphinx extension that renders a NoDL document into a documentation page.
  • Includes an observe package that produces a running node's interface as a rosgraph_msgs/Node message.

Written by Robotheca from the project's README (opens in a new tab) at commit cd56cb6.

Getting started

Difficulty
Advanced

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
10 Oct 2026 on main
Latest release
None published on GitHub

Checked on GitHub on 16 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.