Skip to content

Inquirer Textual

Versatile library for terminal user input in Python

About

All terminal programs start small. Some stay small, and some become incredibly big. The goal of this Python library is to make user input simple for small programs, but also support a smooth transition to a comprehensive UI library as your program grows.

This library is based on the sophisticated Textual TUI framework.

Example

Example

The Python code for the example above:

from inquirer_textual import prompts

if __name__ == '__main__':
    answer = prompts.checkbox("Planets:", choices=[
        'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter', 'Saturn', 
        'Uranus', 'Neptune'
    ])
    print(answer)

With uv you can run the example out of the box:

uv run --with inquirer-textual checkbox.py

Key features and design principles

  • Keep simple things simple: High-level prompts API for getting user input
  • Support evolving programs: From small scripts to full-featured TUI applications
  • Inquirer-like syntax: API similar to many other Inquirer libraries
  • Single dependency: The Textual TUI framework