Skip to main content

Commandline tool to export the meta information of a ROS package.

Project description

ROS 2 Meta System Exporter

This commandline tool can be used to export the meta information of a ROS2 system. This includes:

  • the node names (and their namespaces)
  • publishers and subscribers of each node
  • services and clients of each node
  • message types of each topic

Basic usage

Export your dataset

Exports the system meta information, named [SYSTEM_NAME]:

rosmetasys export [OPTIONS] [SYSTEM_NAME]

Options:

  • -v | --verbose Print more output.
  • -i | --interactive Interactive version asking you the options.
  • -a | --anonymize Anonymizing of node names and topics.
  • -z | --zip Create the zip file.
  • -p | --pretty Pretty formatting for the json.

Upload your dataset

The datasets are gathered in the rosmetasys-datasets repository. Feel free to create a new issue with your dataset attached or create a pull request.

Example output

{
    "version": "1.0.0",
    "nodes": [
        {
            "name": "first_node",
            "namespace": "/",
            "localhost_only": true,
            "publishers": [
                {
                    "name": "/parameter_events",
                    "type": "rcl_interfaces/msg/ParameterEvent"
                },
                {
                    "name": "/my/topic/1",
                    "type": "std_msgs/msg/Empty"
                },
                {
                    "name": "/rosout",
                    "type": "rcl_interfaces/msg/Log"
                }
            ],
            "subscribers": [
                {
                    "name": "/my/topic/1",
                    "type": "std_msgs/msg/Empty"
                },
                {
                    "name": "/my/topic/2",
                    "type": "custom_type"
                }
            ],
            "services": [
                ...
            ],
            "clients": [
                ...
            ]
        },
        {
            "name": "second_node",
            "namespace": "/",
            "localhost_only": false,
            ...
        }
    ]
}

Known issues

ROS nodes need a little time to start up. Sometimes, the introspection methods does not return all nodes of the system. At the moment, the exporter waits for 5 seconds before starting the introspection. But it's not guaranteed that this is enough time for all nodes to start up.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosmetasys-0.0.1.tar.gz (7.4 kB view hashes)

Uploaded Source

Built Distribution

rosmetasys-0.0.1-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page