$npx skillfedfor your agent

simple-term-menu

A Python package which creates simple interactive menus on the command line.

With conditionsPyPI UtilitiesReleased Dec 20244.0M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — simple_term_menu-1.6.6-py3-none-any.whl
v1.6.6 · released 2024-12-02 · Python ~=3.5

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Linux or macOS; terminfo database must be available on the system.
  • 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 · maintenance · safety

MIT (permissive) — MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.

last release 2024-12-02 (620 days) · last repo commit 2024-12-02 · 570 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 4,002,444 downloads/mo, #2,403 on PyPI

Verify before relying

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]}")
  • 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).
Same gist for agents: .md · .json

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 on this page. Verify before relying on it.

With conditions

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

simple-term-menu on PyPI

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.

Requires Linux or macOS; terminfo database must be available on the system.

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]}")

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

LicenseMIT permissive
Python supportSupports the current Python release ~=3.5
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceDormant 620 days since the last release
Last repo commit
First released
Downloads4,002,444 / month, #2,403 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableEnvironment :: ConsoleLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: TerminalsTopic :: Utilities

Evidence: simple_term_menu-1.6.6-py3-none-any.whl

Tags

Capabilities
terminal menu selectioninteractive command line menucli menu builderkeyboard-driven menuterminal ui menucommand line choice promptsimple terminal menu
Topics
cli-uiterminal-interactionmenu-selection
PyPI keywords
terminalmenuchoice

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “terminal menu selection”

  • simple-term-menuCreates interactive command-line menus where users select options…
  • pickpick provides a Python library to create interactive terminal…
  • bulletBullet provides styled, interactive CLI prompts for Python—bullet…

Give your agent the search over MCP, or paste the wish link into any chat.

More Utilities packages

idna Worth it
PyPI · Python Modules · released Jun 2026

Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.

Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.

BSD-3-Clausepure Python · 3.9+
1.8Bdownloads / mo
charset-normalizer Worth it
PyPI · Utilities · released Aug 2026

Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.

permissive licensepure Python · 3.7+
1.7Bdownloads / mo
setuptools Worth it
PyPI · Python Modules · released Aug 2026

Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.

MITpure Python · 3.10+
1.6Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.

Install it if you're building an extensible application or framework.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
Pygments Worth it
PyPI · Utilities · released Mar 2026

Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.

Install it if you need to display or transform source code.

BSD-2-Clausepure Python · 3.9+
1.3Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.

MITpure Python
1.2Bdownloads / mo

See also git-python · pick · cli-ui · streamlit-option-menu · app-model · pyshortcuts · bullet · blurb · ascii-colors · click-aliases