skillfed

inquirer

Collection of common interactive command line user interfaces, based on Inquirer.js

inquirer v3.4.1 4.9M downloads/30d#2,202 on PyPI1,139
Permissive license MIT AGING released

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 inquirer

uv

uv add inquirer

poetry

poetry add inquirer

Installing 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

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries :: Application FrameworksTopic :: Software Development :: User Interfaces

Tags

interactive command line promptscli user input collectionterminal questionnairecommand line formsinteractive terminal uicli input validationterminal choice selection
cli-uxterminal-uiuser-input

More Application Frameworks packages