Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November
No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/ros-tooling/nodl.git
VCS Type git
VCS Version main
Last Updated 2026-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

NoDL - Node Definition Language

NoDL logo

NoDL (Node Definition Language) is a schema and toolkit to describe a ROS 2 node’s interface: parameters, topics (publishers and subscriptions), services (clients and servers), and actions (clients and servers).

Find complete documentation at https://nodl.readthedocs.io/en/latest/

Repository structure

NoDL is split into packages for the schema, code generators, documentation generation, and ROS 2 integration. The nodl metapackage pulls in the common ones, so most users only need to depend on it. The package list in the documentation describes each package.

The NoDL schema, key to this whole thing, is nodl.schema.yaml.

Outside the packages:

Developing

See RELEASING.md for versioning and tag releases.

Setup

  1. Clone the repo and install pre-commit hooks:
pre-commit install
pre-commit install --hook-type prepare-commit-msg

The prepare-commit-msg hook will automatically add the Signed-off-by line to your commits. If you prefer to sign off manually, use git commit -s.

Pip dependencies for full test suite

The packages in this repository use a few package only available from pip as test_depends.

For the buildfarm environment, these dependencies and tests are disabled, because a package may not be packaged into a deb/rpm against dependencies from another package manager (pip).

To install all dependencies and run the full test suite, export environment variable ENABLE_PIP_TEST_DEPENDS=1 - which the GitHub Action CI for this repo does.

ROS Distribution Status

Distro Dev Doc Ubuntu Bin
Humble Hdev Hdoc Hbin
Jazzy Jdev Jdoc Jbin
Lyrical Ldev Ldoc Lbin
Rolling Rdev Rdoc Rbin

Unsupported Distributions

These ROS distributions will receive no future release updates or code compatibility support.

Distro Date Support Ended Reason
Kilted Kaiju October 5, 2026 Distro EOL in November