click-prompt
click-prompt provides more beautiful interactive options for the Python click library
What it is and what it does
click-prompt is a thin wrapper around Click and questionary that replaces Click's basic option handling with interactive prompts. Instead of requiring users to type option values or remember syntax, it presents menus, text fields, file pickers, and yes/no dialogs directly in the terminal. The library provides decorators (choice_option, confirm_option, filepath_option, auto_complete_option, input_text_option) that work as drop-in replacements for Click's standard option and argument decorators.
It's designed for developers building CLI tools who want a more polished user experience without writing custom prompt logic. The package supports Python 3.9 through 3.14 and has no exotic dependencies—just Click and questionary—making it straightforward to add to existing Click-based projects.
Use it for:
- Build a CLI tool that prompts users to select from a predefined list instead of requiring them to type exact values
- Add yes/no confirmation dialogs to CLI commands that perform destructive operations
- Create interactive file-picker prompts with auto-completion for file path arguments
- Replace repetitive Click argument parsing with user-friendly text input prompts
- Build setup wizards or configuration CLIs that guide users through choices step-by-step
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
click-prompt adds interactive prompts to Click CLI applications, letting you build command-line tools with user-friendly choice selection, text input, file picking, and confirmation dialogs.
Yes, if you're building Click-based CLIs and want better user experience with minimal overhead. The low install friction, permissive license, and straightforward decorator API make it a practical choice. However, the aging maintenance status (235 days since last release, modest repository activity) means you should be comfortable with a stable but not actively evolving tool—suitable for mature projects, less ideal if you expect frequent updates or community support.
Install
click-prompt on PyPI
pip
pip install click-promptuv
uv add click-promptpoetry
poetry add click-promptInstalling click-prompt
Before you install
Low friction: pure Python wheel with only two runtime dependencies (click and questionary). Last commit was recent (2025-12-22), though the project shows aging maintenance signals with 235 days since the last release and modest repository activity (11 stars).
License in practice
MIT License permits unrestricted use, modification, and distribution with only attribution required. No commercial or proprietary restrictions.
Quickstart
pip install click-prompt
import click
from click_prompt import choice_option
@click.command()
@choice_option('--fruit', type=click.Choice(['Apples', 'Bananas']))
def select_fruit(fruit: str):
print(f"You selected: {fruit}")
if __name__ == '__main__':
select_fruit()
Verify before relying
- Whether the package is actively maintained or in maintenance-only mode given the 235-day gap since last release
- Real-world stability and test coverage for the interactive prompt decorators
- Performance characteristics when handling large choice lists or complex prompts
Package facts
| License | MIT License Copyright (c) 2022 Markus Grotz Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — click, questionary |
| Maintenance | aging — 235 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 89,291/month — #13,672 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: click_prompt-0.7.1-py3-none-any.whl
Keywords: cli
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
click-config-fileAdds configuration file support to Click…
permissive · top 15,000 on PyPI
pdd-cliPDD is a CLI tool that treats natural-language…
permissive · top 15,000 on PyPI
clickclickProvides utility functions for Click, a…
permissive · top 5,000 on PyPI
prompthub-pyFetches prompt templates from Prompt Hub or…
permissive · top 15,000 on PyPI
questionaryQuestionary builds interactive command-line…
permissive · top 1,000 on PyPI
inquirerpyInquirerPy provides interactive command-line…
permissive · top 5,000 on PyPI
click-datetimeAdds datetime type support to Click, allowing…
permissive · top 15,000 on PyPI
clickClick is a Python toolkit for building…
permissive · top 100 on PyPI
rich-clickRenders Click command-line interfaces with rich…
permissive · top 1,000 on PyPI
pyfzfpyfzf wraps the fzf command-line fuzzy finder,…
permissive · top 15,000 on PyPI