--- id: simple-term-menu version: "1.6.6" license: MIT license_treatment: permissive maintenance: dormant --- # simple-term-menu — A Python package which creates simple interactive menus on the command line. License: permissive · Maintenance: dormant · Downloads: 4.0M/mo ## What it is and what it does simple-term-menu is a Python library that builds interactive selection menus for terminal applications. It lets users navigate and choose from a list of options using arrow keys, vim-style j/k keys, or emacs bindings, then returns the selected index. The package automatically detects terminal capabilities via the terminfo database and disables styling features that aren't supported. The library supports search filtering with regex patterns, keyboard shortcuts (single-letter prefixes), multi-select mode, custom styling for cursors and highlights, and status bars. It runs on Linux and macOS with no external runtime dependencies, making it straightforward to add interactive choice prompts to command-line tools. Use it for: - Build a CLI tool that prompts users to select from a list of configuration options or actions. - Create an interactive installer or setup wizard that guides users through choices with keyboard navigation. - Add a searchable menu to filter and select items from a large dataset in a terminal application. - Implement multi-select functionality to let users toggle and confirm multiple choices before proceeding. - Define keyboard shortcuts in a menu so power users can jump directly to frequently used options. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Creates interactive command-line menus where users select options using arrow keys, vim motions, or keyboard shortcuts, with built-in search and multi-select support. Yes, if you need an interactive terminal menu for a CLI tool. The package is stable, has no dependencies, and works on standard Linux and macOS systems. The dormant maintenance is a minor concern for new features, but the codebase is mature and unlikely to require frequent updates. Not suitable if you need Windows support or are building a graphical UI. ## Install pip install simple-term-menu uv add simple-term-menu poetry add simple-term-menu ## Installing simple-term-menu Before you install: Low friction installation with no runtime dependencies. Maintenance is dormant—last release was 620 days ago—but the package is marked Production/Stable and the repository remains active with recent commits. License in practice: MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations. Quickstart: from simple_term_menu import TerminalMenu options = ["entry 1", "entry 2", "entry 3"] menu = TerminalMenu(options) selected_index = menu.show() print(f"Selected: {options[selected_index]}") Requires Linux or macOS; terminfo database must be available on the system. Verify before relying: - Whether the package works reliably on modern terminal emulators and recent OS versions given the dormant maintenance status. - Performance characteristics with very large menu lists (thousands of entries). ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 4.0M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags terminal menu selection, interactive command line menu, cli menu builder, keyboard-driven menu, terminal ui menu, command line choice prompt, simple terminal menu, cli-ui, terminal-interaction, menu-selection [View on SkillFed](https://skillfed.io/packages/simple-term-menu) · [View on PyPI](https://pypi.org/project/simple-term-menu/)