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.1.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.1-py3-none-any.whl (36.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ros2_term-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 42b1a9204bca8f34ff8d51fda92295760bf2fdc7f9fe338ac63c50cae6adff04
MD5 cd09043a71bfa45ec7cd029b9bf6be73
BLAKE2b-256 0b45f8061983395385af76fecfcc5c7b75a9088a1ee4817344b80fd198269d25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ros2_term-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98ee2b0d6df72cd9e349d318486e7019bfeb80388af3f1596a8a221c1242ef24
MD5 42a6919d950fc8b1259e6bf64bdb75a5
BLAKE2b-256 0addc47998ff543fbb39ad273d43339d4fb61ef4ed7e62668795439a9461f9f4

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