Skip to main content

ROS2 Explorer TUI

A Terminal User Interface (TUI) app for exploring ROS2 nodes, topics, services, actions, and message types.

Requirements

  • ROS2 Humble, Iron, or Jazzy already installed on system
  • pipx (sudo apt install pipx)

Installation

Source your ROS2 installation first, then install with pipx:

source /opt/ros/humble/setup.bash   # or iron, jazzy, etc.
pipx install ros2-term

Then run:

ros2-term

Note: ROS2 must be sourced in any shell where you run ros2-term.

Command Line Options

ros2-term [--profile NAME] [--continue] [--refresh-rate SECONDS]
  • --profile NAME - Load specific profile on startup
  • --continue - Resume last used profile
  • --refresh-rate SECONDS - Set refresh interval (default: 2.0)
  • --help - Show available profiles and config location

Troubleshooting

If you have multiple Python versions installed and see import errors related to ROS2 packages, force pipx to use the system Python explicitly:

pipx install ros2-term --python $(which python3)

Features

  • Tree views for nodes/topics with expandable details
  • Topic watching (w) with spinning propeller showing publish rate
  • Topic inspection: Hz (h), echo (e), sample (s)
  • Profile system: Auto-save/load watched topics and views
  • Clickable links between entities (node → topic → type)
  • History navigation (b/f)
  • Search with regex support
  • Native rclpy integration (no subprocess overhead)

Key Components

  • ros2_client.py - Native rclpy integration with background executor
  • topic_watcher.py - Hz tracking and propeller animation
  • config.py - Profile persistence
  • widgets.py - In-place tree updates (no flicker)

Keyboard Shortcuts

Key Action Visible in Footer
? Show help screen
w Watch/unwatch topic
h Show Hz for topic
e Echo topic (continuous)
s Sample topic (single msg)
a Toggle array visibility
r Reload current view
b Navigate back in history
f Navigate forward in history
v Toggle verbose mode
c Collapse all tree nodes
p Save profile
1 View nodes
2 View topics
3 View services
4 View actions
5 View message types
q Quit

Navigation

  • Arrow keys navigate tree, Enter expands/collapses
  • Click entity names in info panel to navigate
  • b/f for history navigation
  • Tree state preserved when switching views

Download files

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

Source Distribution

ros2_term-0.1.2.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ros2_term-0.1.2-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

Details for the file ros2_term-0.1.2.tar.gz.

File metadata

  • Download URL: ros2_term-0.1.2.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for ros2_term-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6de4e84fc076785dc602e84e0b3a0a41176c88eec26b81fc4c77ea4414bd766b
MD5 81db522e34ea34d677c2904699b2b031
BLAKE2b-256 a3085750da40fdbfba2bf5d2037ca137d632705d6d33c2d2e4bd6041f803631d

See more details on using hashes here.

File details

Details for the file ros2_term-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ros2_term-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 36.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for ros2_term-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4cd3fedd994951ab5404ce5215c58cbf2bef87ac9b032dff65bb9234c5e37f54
MD5 1f73031de9ff40ac7d6b3b1ebce34d81
BLAKE2b-256 7bd6cdbea8de3df03964c4395353ba41ad34f26e4da7ddd6989affdd157dbc11

See more details on using hashes here.

Supported by

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