|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| clearpath_tests | |
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |
Launch files
Messages
Services
Plugins
Recent questions tagged simple_term_menu_vendor at Robotics Stack Exchange
|
simple_term_menu_vendor package from simple_term_menu_vendor reposimple_term_menu_vendor |
ROS Distro
|
Package Summary
| Tags | No category tags. |
| Version | 1.5.7 |
| License | MIT |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | A Python package which creates simple interactive menus on the command line. |
| Checkout URI | https://github.com/clearpathrobotics/simple-term-menu.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2022-12-19 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | No category tags. |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Additional Links
Maintainers
- rkreinin
Authors
- Ingo Meyer
Simple Terminal Menu
Overview
simple-term-menu creates simple menus for interactive command line programs. It can be used to offer a choice of
different options to the user. Menu entries can be selected with the arrow, j/k, or emacs (C-n/C-p) keys. The module
uses the terminfo database to detect terminal features automatically and disables styles that are not available.
Currently, Linux and macOS are supported.
Breaking changes
From version 0.x to 1.x
If you update from version 0.x to 1.x, please consider these breaking changes:
-
The
TerminalMenuconstructor now only takes keyword-only arguments (except for the first parameter which contains the menu entries). This makes it easier to add new parameters in future releases and allows to keep a well-arranged parameter list. -
The command line interface was revised. It now uses
-instead of_to separate words consistently and rearranges short options. Only the most important short options were kept to save free letters for future releases.
From version 1.1 to 1.2
-
The
multi_select_keyparameter is now namedmulti_select_keysand takes an iterable of keys and by defaultspaceandtabare now used as multi-select keys. This allows to toggle selected items in search mode. -
The
shortcut_parentheses_highlight_styleparameter is renamed toshortcut_brackets_highlight_styleto be more consistent with the newmulti_select_cursor_brackets_styleparameter.
Installation
simple-term-menu is available on PyPI for Python 3.5+ and can be installed with pip:
python3 -m pip install simple-term-menu
If you use Arch Linux or one of its derivatives, you can also install simple-term-menu from the
AUR:
yay -S python-simple-term-menu
You also find self-contained executables for 64-bit Linux distributions and macOS High Sierra and newer on the releases page. They are created with PyInstaller and only require glibc >= 2.17 on Linux (should be fine on any recent Linux system).
Usage
Create a menu with the default style
Create an instance of the class TerminalMenu and pass the menu entries as a list of strings to the constructor. Call
the show method to output the menu and wait for keyboard input:
#!/usr/bin/env python3
from simple_term_menu import TerminalMenu
def main():
options = ["entry 1", "entry 2", "entry 3"]
terminal_menu = TerminalMenu(options)
menu_entry_index = terminal_menu.show()
print(f"You have selected {options[menu_entry_index]}!")
if __name__ == "__main__":
main()
You will get an output like:

You can now select a menu entry with the arrow keys or j/k (vim motions) and accept your choice by hitting enter or
cancel the menu with escape, q or <Ctrl>-C. show returns the selected menu entry index or None if the menu was
canceled.
You can pass an optional title to the TerminalMenu constructor which will be placed above the menu. title can be a
simple string, a multiline string (with \n newlines) or a list of strings. The same applies to the status_bar
parameter, which places a status bar below the menu. Moreover, you can use a callable as status_bar parameter which
takes the currently selected entry and returns a status bar string.
Styling
You can pass styling arguments to the TerminalMenu constructor. Each style is a tuple of keyword strings. Currently
the following keywords are accepted:
bg_blackbg_bluebg_cyanbg_graybg_greenbg_purplebg_redbg_yellowfg_blackfg_blue
File truncated at 100 lines see the full file
Changelog for package simple_term_menu
1.5.6 (2022-12-19)
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.7 (2022-12-19)
- 1.5.7
- Tag fix
- 1.5.6
- Changelogs.
- Removed unused files Added testing dependencies
- Contributors: Roni Kreinin
1.5.5 (2022-12-09)
- Added ament_cmake_python buildtool_depend
- Contributors: Roni Kreinin
1.5.4 (2022-12-01)
- Renamed folder to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.3 (2022-12-01)
- Renamed package to simple_term_menu_vendor
- Contributors: Roni Kreinin
1.5.2 (2022-11-28)
- Initial ROS package
- Contributors: Roni Kreinin
Package Dependencies
System Dependencies
Dependant Packages
| Name | Deps |
|---|---|
| turtlebot4_setup |