{"id":45437035,"url":"https://github.com/ar90n/ros-graph-dump","last_synced_at":"2026-02-22T03:16:33.410Z","repository":{"id":239400590,"uuid":"797795037","full_name":"ar90n/ros-graph-dump","owner":"ar90n","description":"Dump rosgraph as json","archived":false,"fork":false,"pushed_at":"2024-09-06T02:23:53.000Z","size":56,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-13T12:00:07.750Z","etag":null,"topics":["json","my-projects","ros","ros-noetic"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ar90n.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-08T14:28:36.000Z","updated_at":"2024-09-06T02:23:28.000Z","dependencies_parsed_at":"2024-05-12T06:29:11.827Z","dependency_job_id":"6972d536-4eba-4ae7-b3c8-a7690a203d19","html_url":"https://github.com/ar90n/ros-graph-dump","commit_stats":null,"previous_names":["ar90n/ros-graph-dump"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ar90n/ros-graph-dump","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar90n%2Fros-graph-dump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar90n%2Fros-graph-dump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar90n%2Fros-graph-dump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar90n%2Fros-graph-dump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ar90n","download_url":"https://codeload.github.com/ar90n/ros-graph-dump/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ar90n%2Fros-graph-dump/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29704411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T23:35:04.139Z","status":"online","status_checked_at":"2026-02-22T02:00:08.193Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","my-projects","ros","ros-noetic"],"created_at":"2026-02-22T03:16:32.732Z","updated_at":"2026-02-22T03:16:33.406Z","avatar_url":"https://github.com/ar90n.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ros-graph-dump\n\nA tool to dump the relationship of ROS nodes and ROS topics as JSON Graph Format.\n\n## Features\n\n- Supports only ROS, not supports ROS2\n- Dumps the graph of ROS nodes and topics\n- Filters the graph based on node or topic names\n- Outputs the graph in JSON format using NetworkX\n- Supports two graph types: node-to-node and node-to-topic\n\n## Output\n```\n$ rgd\n{\n  \"directed\": true,\n  \"multigraph\": false,\n  \"graph\": {},\n  \"nodes\": [\n    {\n      \"label\": \"/talker\",\n      \"id\": \"/talker@node\"\n    },\n    {\n      \"label\": \"/listener\",\n      \"id\": \"/listener@node\"\n    },\n    {\n      \"label\": \"/rosout\",\n      \"id\": \"/rosout@node\"\n    }\n  ],\n  \"links\": [\n    {\n      \"label\": \"/chatter\",\n      \"source\": \"/talker@node\",\n      \"target\": \"/listener@node\"\n    },\n    {\n      \"label\": \"/rosout\",\n      \"source\": \"/talker@node\",\n      \"target\": \"/rosout@node\"\n    },\n    {\n      \"label\": \"/rosout\",\n      \"source\": \"/listener@node\",\n      \"target\": \"/rosout@node\"\n    }\n  ]\n}\n```\n\n## Requirements\n\n- Python 3.8+\n- ROS1\n- poetry (for dependency management)\n- ros-noetic-rospy-tutorials (for development)\n\n## Installation\n\n1. Clone the repository:\n   ```\n   $ git clone https://github.com/your-username/ros-graph-dump.git\n   ```\n\n2. Navigate to the project directory:\n   ```\n   $ cd ros-graph-dump\n   ```\n\n3. Install rgd and dependencies using pip:\n   ```\n   $ pip install .\n   ```\n\n## Usage\n\nTo dump the ROS graph, use the following command:\n```\nrgd [--filter FILTER] [--output OUTPUT] [--graph-type GRAPH_TYPE]\n```\n\n- `--filter FILTER`: Filter the graph based on node or topic names (optional)\n- `--output OUTPUT` or `-o OUTPUT`: Output file path. Use \"-\" for stdout (default).\n- `--graph-type GRAPH_TYPE` or `-t GRAPH_TYPE`: Graph type: \"nn\" (node-to-node) or \"nt\" (node-to-topic). Default is \"nt\".\n\nExamples:\n```\n# Dump the entire graph to stdout\nrgd\n\n# Dump the graph to a file\nrgd --output graph.json\n\n# Dump the node-to-node graph\nrgd -t nn\n\n# Dump the graph with a filter\nrgd --filter /my_node\n```\n\n## Running Tests\nTo run the tests, use the following command:\n```\npoetry run pytest tests\n```\n\n## License\nThis project is licensed under the Apache License 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Far90n%2Fros-graph-dump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Far90n%2Fros-graph-dump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Far90n%2Fros-graph-dump/lists"}