bullet
Beautiful Python prompts made simple.
What it is and what it does
Bullet is a Python library for building styled, interactive command-line prompts without heavy dependencies. It wraps terminal input into reusable components—bullet lists, checkboxes, password fields, yes/no dialogs, and scrollable selections—each customizable with colors, background colors, text styling, and emoji. You import a prompt class, configure it with choices or a prompt string, and call launch() to display it and capture the user's selection.
The package is abandoned: the last release was 2020-08-14 and the last repository commit 2023-07-18. It has no runtime dependencies, making installation friction-free, but you should expect no future maintenance, security patches, or compatibility fixes for modern Python versions. The codebase was last tested on Python >= 3.6, and Windows support was listed as a to-do item.
Use it for:
- Build a CLI tool with a styled menu where users select from a list of options using arrow keys.
- Prompt for a password or sensitive input with masked terminal display in a custom-styled prompt.
- Create a multi-select checkbox interface for users to pick multiple items from a list.
- Add yes/no confirmation dialogs with custom colors and formatting to a command-line script.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Bullet provides styled, interactive CLI prompts for Python—bullet lists, checkboxes, password inputs, yes/no questions, and scrollable selections—with customizable colors, formatting, and emoji support.
Yes, if you need styled CLI prompts and are comfortable with an abandoned package. Installation is frictionless and there are no runtime dependencies. The MIT license is permissive. However, verify Python version compatibility for your target environment, expect no future maintenance or bug fixes, and consider whether a maintained alternative better suits long-term projects.
Install
bullet on PyPI
pip
pip install bulletuv
uv add bulletpoetry
poetry add bulletInstalling bullet
Before you install
Installation is straightforward with no runtime dependencies. However, the package is abandoned—last release was 2020-08-14 and last commit 2023-07-18—so expect no maintenance, bug fixes, or compatibility updates for newer Python versions.
License in practice
MIT license is permissive; you can use, modify, and distribute bullet freely in commercial and private projects with minimal restrictions.
Quickstart
pip install bullet
from bullet import Bullet
cli = Bullet(prompt="Choose:", choices=["Option A", "Option B"])
result = cli.launch()
Python version compatibility unspecified in package metadata; verify against your target Python version given the package's abandonment since 2020.
Verify before relying
- Exact Python version range supported (requires_python is empty; last tested on Python >= 3.6 per docs but not enforced).
- Whether Windows support mentioned in 'Todo' section was ever completed.
- Current state of terminal compatibility on modern systems (last commit 2023-07-18, but no releases since 2020).
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,191 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 95,729/month — #13,252 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bullet-2.2.0-py3-none-any.whl
Keywords: cli, list, prompt, customize, colors
Tags
More Terminals packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
richRich renders styled text, tables, progress…
permissive · top 100 on PyPI
coloramaColorama makes ANSI escape sequences for…
permissive · top 100 on PyPI
wcwidthMeasures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
ptyprocessRun a subprocess in a pseudo terminal (pty) and…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
inquirer3Builds interactive command-line prompts with…
permissive · top 15,000 on PyPI
pickpick provides a Python library to create…
permissive · top 15,000 on PyPI
inquirerInquirer provides interactive command-line…
permissive · top 5,000 on PyPI
simple-colorsAdds colored and styled text output to terminal…
unclear · top 15,000 on PyPI
questionaryQuestionary builds interactive command-line…
permissive · top 1,000 on PyPI
ascii-colorsUnified terminal UI library providing colored…
permissive · top 15,000 on PyPI
click-promptclick-prompt adds interactive prompts to Click…
permissive · top 15,000 on PyPI
inquirerpyInquirerPy provides interactive command-line…
permissive · top 5,000 on PyPI
pastelPastel adds colored text output to terminal…
permissive · top 5,000 on PyPI
simple-term-menuCreates interactive command-line menus where…
permissive · top 5,000 on PyPI