explaingit

bchao1/bullet

Analysis updated 2026-05-18

3,616PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

A Python library for building colorful, interactive command line prompts like scrollable lists, checkboxes, password fields, and yes or no toggles.

Mindmap

mindmap
  root((Bullet))
    What it does
      List selection
      Checkboxes
      Password input
      Yes no toggle
    Tech stack
      Python 3.6+
      PyPI package
    Use cases
      CLI setup wizard
      Multi step questionnaire
      Themed terminal prompts
    Audience
      Python developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a command line setup wizard that asks a series of styled questions

USE CASE 2

Let a user pick multiple options from a checklist in the terminal

USE CASE 3

Collect a password in the terminal without showing typed characters

USE CASE 4

Apply a built-in color theme like Ocean or Christmas to your CLI prompts

What is it built with?

Python

How does it compare?

bchao1/bulletjunxiaosong/alphazero_gomokumarkfzp/act-plus-plus
Stars3,6163,6163,615
LanguagePythonPythonPython
Setup difficultyeasyeasyhard
Complexity2/53/55/5
Audiencedeveloperresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Only supports Linux today, Windows support is planned but not yet available.

No license terms are stated in the explanation provided.

In plain English

Bullet is a Python library for building interactive prompts in command-line tools. Instead of a plain text input box, you can present users with a scrollable list to pick one option, a set of checkboxes to pick multiple options, a password field that hides typed characters, a yes/no toggle, or a number input, all styled with colors and custom visual themes. The library lets you stack multiple prompts together in a sequence, so you can ask a series of questions one after another in a single flow. Each prompt type is a Python class, and you compose them by creating instances and combining them into a list. When you launch the prompts, the user navigates with arrow keys and confirms with Enter, and the answers come back as a Python dictionary you can use in the rest of your script. Styling is handled through built-in style presets with names like Ocean, Lime, Christmas, and Greece, each setting a color palette for the prompt background and selected item highlighting. You can also define custom styles with any terminal colors you want, and the library supports emoji characters in prompt text. Installation is a single pip command. The library is available on PyPI and requires Python 3.6 or newer. Currently it only supports Linux, and Windows support is listed as a planned future addition. The repository includes a documentation file and a folder of example scripts covering each prompt type. Supported prompt types include bullet-point single selection, checkbox multi-selection, free text input, number input, password input, yes/no questions, and a scrollbar for long lists.

Copy-paste prompts

Prompt 1
Use the bullet library to build a multi-step CLI questionnaire for my Python script
Prompt 2
Add a checkbox prompt from this library so users can pick several options at once
Prompt 3
Show me how to apply the Ocean theme to a bullet prompt in my terminal app
Prompt 4
Convert my plain input() calls into styled bullet prompts with arrow key navigation

Frequently asked questions

What is bullet?

A Python library for building colorful, interactive command line prompts like scrollable lists, checkboxes, password fields, and yes or no toggles.

What language is bullet written in?

Mainly Python. The stack also includes Python.

What license does bullet use?

No license terms are stated in the explanation provided.

How hard is bullet to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is bullet for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.