inquirer
Collection of common interactive command line user interfaces, based on Inquirer.js
What it is and what it does
Inquirer is a Python port of the JavaScript Inquirer.js library that simplifies building interactive terminal user interfaces. It handles the mechanics of asking questions, parsing answers, validating input, managing conditional/hierarchical prompts, and displaying error feedback—all without requiring you to manage raw terminal I/O. The package supports multiple question types: plain text input, multi-line editor-based answers, single-choice lists, multi-select checkboxes, and path validation, each with optional validation rules and conditional display logic.
Typically used in CLI tools, setup wizards, configuration scripts, and interactive installers where you need to collect structured user input at the terminal. It depends on blessed for terminal control, editor for launching external text editors, and readchar for capturing individual keystrokes. The library is stable (Production/Stable status) and widely downloaded, though recent maintenance activity is sparse.
Use it for:
- Build interactive setup wizards or configuration scripts that guide users through a series of validated questions.
- Create CLI tools that let users select from lists or check multiple options without manual text entry.
- Collect long-form text input by opening the user's preferred editor (vim, emacs, nano) within a Python script.
- Validate user input (phone numbers, file paths, email addresses) before processing in a command-line application.
- Chain conditional prompts where later questions depend on earlier answers in an interactive survey or form.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Inquirer provides interactive command-line prompts for collecting user input—text, selections, checkboxes, file paths, and editor-based answers—with built-in validation and hierarchical question support.
Yes, if you need interactive terminal prompts with validation. The library is stable, permissive-licensed, and has low install friction. However, maintenance is aging (last release 377 days ago), so check whether its three dependencies remain actively maintained. Windows users should test thoroughly before relying on it in production.
Install
inquirer on PyPI
pip
pip install inquireruv
uv add inquirerpoetry
poetry add inquirerInstalling inquirer
Before you install
Low friction: pure Python wheel with only three runtime dependencies (blessed, editor, readchar). Maintenance status is aging—last release was 377 days ago—but the repository remains active with recent commits and no archived status.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and open-source projects with minimal restrictions.
Quickstart
pip install inquirer
import inquirer
questions = [inquirer.Text('name', message="What's your name?")]
answers = inquirer.prompt(questions)
Requires Python 3.9.2 or later. UNIX-based platforms (macOS, Linux) are fully supported; Windows has experimental support.
Verify before relying
- Whether Windows support has improved since the 'experimental' designation in the description.
- Current state of the three runtime dependencies (blessed, editor, readchar) and their maintenance status.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9.2) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — blessed, editor, readchar |
| Maintenance | aging — 377 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 4,907,025/month — #2,202 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: inquirer-3.4.1-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
inquirer3Builds interactive command-line prompts with…
permissive · top 15,000 on PyPI
inquirerpyInquirerPy provides interactive command-line…
permissive · top 5,000 on PyPI
questionaryQuestionary builds interactive command-line…
permissive · top 1,000 on PyPI
bulletBullet provides styled, interactive CLI prompts…
permissive · top 15,000 on PyPI
cli-uiProvides terminal UI components for colored…
permissive · top 15,000 on PyPI
click-promptclick-prompt adds interactive prompts to Click…
permissive · top 15,000 on PyPI
beaupyBeauPy provides interactive CLI…
permissive · top 15,000 on PyPI
readcharReads single characters and keystrokes from…
permissive · top 5,000 on PyPI
python-editorProgrammatically open your system's $EDITOR…
permissive · top 5,000 on PyPI
pickpick provides a Python library to create…
permissive · top 15,000 on PyPI