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.0.tar.gz (44.8 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.0-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ros2_term-0.1.0.tar.gz
  • Upload date:
  • Size: 44.8 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.0.tar.gz
Algorithm Hash digest
SHA256 ba6732aecb7682320b933aeffff5e4beee5d80cc5b4ec287ff6c8ee381897491
MD5 42979954634a21bfc3ec63fb9c2f7c98
BLAKE2b-256 2da09da820a8d34de87bf05e2e6b039c841f2a916ef1198ab1ead3da3b0c9237

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ros2_term-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.4 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c1851aab3b3bb4da9aad8b613e6bc5be5900c3400326d000daf1951097b899b6
MD5 febdfce0b5bd4ff7c95d9d2044c9e75c
BLAKE2b-256 c6a133d0c263c2b546b9130686f07698b98dad65b79d6dd8c0727c4aade933d4

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