Skip to main content

menuchoice

Pepy Total Downlods GitHub repo size PyPi - Version

menuchoice is a terminal-based menu selector with different menu styles and features.

menuchoice-demo2

Usage

Creating a selection menu:

import menuchoice
menu = menuchoice.MenuSelector(items=[
    "Hip-hop",
    "Rock",
    "Pop",
    "Country",
    "EDM",
], title="Most Streamed Music USA", description="Select a genre of music.")

[!TIP] items can be given brief descriptions if they are type dictionary: {"option": "brief description"}

Arrow Selection

Arrow select will display an arrow which can be moved up/down with the arrow keys:

menu.arrow_select()

Output upon selection:

[(4, "EDM")]

Additionally, multiple options can be selected:

# no less than 2, no more than 3
menu.arrow_select(max_items=(2, 3))
# Adds an option to select all items
menu.arrow_select(allow_all=True)

Output:

[(4, "EDM"), (1, "Rock")]

Highlight Selecting

Highlight menus introduce the ability to have multiple pages (this is optional):

menu.highlight_select(pages=[[0, 1, 2], [3, 4]])

The above code will create two pages, the first page contains the first three options, the second contains the last two options.
To switch between these pages, use the left/right arrow keys.

The highlight menu can also disable options:

menu.highlight_select(disabled_items=[3])

This code above will prevent the user from selecting index 3 of the menus items (the fourth option).

Modifying Options

Menu selector items can have multiple options which can be navigated through with left/right arrow keys.

menu.modify_select(options=[(0, "second option", "third option")])

This will allow the user to use left/right arrow keys to navigate through 3 different options for a single item's line.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

menuchoice-0.11.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

menuchoice-0.11-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

Release history Release notifications | RSS feed

This release

0.11 This release

2 files

0.10

2 files

0.9

2 files

0.8

2 files

0.7

2 files

0.6

2 files

0.5

2 files

0.4

2 files

0.3

2 files

0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page