Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions .github/workflows/publish-pypi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Release

on:
push:
tags:
- 'v*.*.*'

permissions:
contents: read

jobs:
pypi-publish:
name: Upload release to PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/project/rtui2
permissions:
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('poetry.lock') }}

- name: Install Python poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
virtualenvs-path: .venv

- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --sync --no-interaction

- name: Package project
run: poetry build

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
71 changes: 27 additions & 44 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,61 +16,41 @@ jobs:
- uses: actions/checkout@v4

- uses: actions/setup-python@v4
id: setup-python
with:
python-version: "3.10"

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v4
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('poetry.lock') }}

- name: Install Python poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
virtualenvs-path: .venv

- name: Install Dependencies
run: poetry install --no-interaction
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --sync --no-interaction

- name: Check Lint and Format
run: poetry run task check

test-ros1:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v4

- name: Setup ROS environment
run: |
sudo apt update -q
sudo apt install -yqq curl gnupg2

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
echo "deb http://packages.ros.org/ros/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ros-latest.list > /dev/null
sudo apt update -q
sudo apt install -yqq \
ros-noetic-ros-base \
ros-noetic-rospy

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.poetry/bin" >> $GITHUB_PATH

- name: Install Dependencies
run: poetry install --no-interaction

- name: Unit Test
run: |
source /opt/ros/noetic/setup.bash
roscore &
poetry run task test

test-ros2:
strategy:
fail-fast: false

matrix:
ros:
- { distro: humble, os: ubuntu-22.04 }
- { distro: iron, os: ubuntu-22.04 }
- { distro: rolling, os: ubuntu-22.04 }
- { distro: jazzy, os: ubuntu-24.04 }
- { distro: rolling, os: ubuntu-24.04 }

runs-on: ${{ matrix.ros.os }}

Expand All @@ -92,13 +72,16 @@ jobs:
ros-${{ matrix.ros.distro }}-ros-base \
ros-${{ matrix.ros.distro }}-rclpy

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
- name: Install Python poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
virtualenvs-path: .venv

- name: Install Dependencies
run: poetry install --no-interaction
run: poetry install --sync --no-interaction

- name: Unit Test
run: |
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ ipython_config.py
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
poetry.lock
# poetry.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/
Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2022 Yuma Hiramatsu
Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
12 changes: 12 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Copyright 2025 WHILL Inc.

This project was developed by WHILL Inc. and is released under the Apache License, Version 2.0. See LICENSE for details.

Unless otherwise noted, all contents of this repository are licensed under the Apache License, Version 2.0.

This product incorporates code from the following external projects:

--- rtui ---
Based on "rtui" (https://github.com/eduidl/rtui)
Licensed under the Apache License, Version 2.0
Copyright 2022 Yuma Hiramatsu
30 changes: 16 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,29 @@
# rtui

[![PyPI - Version](https://img.shields.io/pypi/v/rtui-app)](https://pypi.org/project/rtui-app/)
[![PyPI - Version](https://img.shields.io/pypi/v/rtui2)](https://pypi.org/project/rtui2/)

rtui is ROS Terminal User Interface
TUI tool for ROS 2 Topic/Node debugging

## Support

- Python
- 3.8+
- ROS1
- noetic
- 3.10+
- ROS2
- humble
- ironic
- Humble
- Jazzy

## Install

> **Note**
> Package name is changed because rtui is already used by other package.
> If you have already installed rtui, please uninstall it and install rtui-app.

Via [pipx](https://github.com/pypa/pipx) (Recommended)

```sh-session
$ pipx install rtui-app
$ pipx install rtui2
```

Pip

```sh-session
$ pip3 install --user rtui-app
$ pip3 install --user rtui2
```

## Demo
Expand All @@ -39,7 +33,7 @@ $ pip3 install --user rtui-app
## Usage

```
Usage: rtui [OPTIONS] COMMAND [ARGS]...
Usage: rtui2 [OPTIONS] COMMAND [ARGS]...

Terminal User Interface for ROS User

Expand All @@ -63,3 +57,11 @@ Commands:
- `b/f`: Trace history backward and forward
- `r`: Once more get list of nodes, topics or etc.
- `q`: Terminate app

## License

This project was developed by WHILL Inc. and is released under the Apache License, Version 2.0. See [NOTICE](./NOTICE) for details.

### Acknowledgements

This product is based on the "rtui" project (https://github.com/eduidl/rtui), which is licensed under the Apache License, Version 2.0.
Loading