Metadata-Version: 2.4
Name: dear_ros_node_viewer
Version: 1.0.6
Summary: dear_ros_node_viewer
Author-email: iwatake2222 <take.iwiw2222@gmail.com>
Maintainer-email: iwatake2222 <take.iwiw2222@gmail.com>
Project-URL: Homepage, https://github.com/iwatake2222/dear_ros_node_viewer
Project-URL: Bug Reports, https://github.com/iwatake2222/dear_ros_node_viewer/issues
Project-URL: Source, https://github.com/iwatake2222/dear_ros_node_viewer
Keywords: ros,ros2,tool,rqt_graph,dearpygui,node-editor
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Utilities
Classifier: Topic :: Scientific/Engineering :: Visualization
Classifier: Framework :: Robot Framework :: Tool
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: dearpygui>=1.10.1
Requires-Dist: matplotlib
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: pydot
Requires-Dist: pyyaml
Provides-Extra: dev
Requires-Dist: check-manifest; extra == "dev"
Provides-Extra: test
Requires-Dist: coverage; extra == "test"
Dynamic: license-file

<h1 align="center">
  <img src="https://github.com/iwatake2222/dear_ros_node_viewer/raw/main/00_docs/logo.png" alt="Dear RosNodeViewer logo"></a>
</h1>

https://user-images.githubusercontent.com/105265012/177068238-eaf4fed9-12c0-4c5b-ac7f-9597483c4c3c.mp4

[![Python application](https://github.com/iwatake2222/dear_ros_node_viewer/actions/workflows/python-app.yml/badge.svg)](https://github.com/iwatake2222/dear_ros_node_viewer/actions/workflows/python-app.yml)
[![PyPI Publish](https://github.com/iwatake2222/dear_ros_node_viewer/actions/workflows/pypi-publish.yml/badge.svg)](https://pypi.org/project/dear-ros-node-viewer/)

# Dear RosNodeViewer
## About
- Visualize ROS2 node diagram
- Support the following sources:
  - *architecture.yaml* generated by [CARET](https://github.com/tier4/caret)
  - *rosgraph.dot* generated by rqt_graph
  - running ROS graph analysis

## Requirements
- Ubuntu 20.04 or 22.04
  - graphviz is required
- optional: ROS 2 Galactic or Humble if you need runtime ROS graph analysis
  - e.g., `sudo apt install ros-humble-rqt-graph` , `sudo apt install ros-humble-desktop`
- Not tested in Windows / Mac

## Get Started
```sh
# Install requirements
sudo apt install graphviz

# Install Dear RosNodeViewer
pip install dear-ros-node-viewer

# Download sample graph
wget https://raw.githubusercontent.com/iwatake2222/dear_ros_node_viewer/main/sample/architecture_autoware.yaml

# Run Dear RosNodeViewer
dear_ros_node_viewer architecture_autoware.yaml
```

- Quick operation guide:
  - Middle button drag: move graph area
  - Mouse scroll: zoom in/out (zoom function is tentative)


## How to Use
[See WiKi](https://github.com/iwatake2222/dear_ros_node_viewer/wiki/01.-How-to-Use)


# Acknowledgements
- Dear RosNodeViewer utilizes [Dear PyGui](https://github.com/hoffstadt/DearPyGui)
  - *Dear RosNodeViewer* is named in honor of Dear PyGui
- Dear RosNodeViewer contains [Roboto font](https://fonts.google.com/specimen/Roboto)
  - licensed under the Apache License, Version 2.0.
