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
- How to start
- The project's website (opens in a new tab)
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.
Links
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.