Skip to main content

A simple console menu system

Project description

Build StatusDocumentation Status

console-menu

A simple Python menu-based UI system for terminal applications. Perfect for those times when you need a menu-driven program, but don’t want the overhead or learning curve of a full-fledged GUI framework.

Derived from the curses-menu project, but with curses dependency removed.

http://console-menu.readthedocs.org/en/latest/

./images/console-menu_screenshot1.png ./images/console-menu_screenshot2.png

Installation

Tested on Python 2.7, 3.4, 3.5, and 3.6, as well as pypy and pypy 3.

Installation can be performed by running pip

pip install console-menu

Usage

It’s designed to be pretty simple to use. Here’s an example

# Import the necessary packages
from consolemenu import *
from consolemenu.items import *

# Create the menu
menu = ConsoleMenu("Title", "Subtitle")

# Create some items

# MenuItem is the base class for all items, it doesn't do anything when selected
menu_item = MenuItem("Menu Item")

# A FunctionItem runs a Python function when selected
function_item = FunctionItem("Call a Python function", input, ["Enter an input"])

# A CommandItem runs a console command
command_item = CommandItem("Run a console command",  "touch hello.txt")

# A SelectionMenu constructs a menu from a list of strings
selection_menu = SelectionMenu(["item1", "item2", "item3"])

# A SubmenuItem lets you add a menu (the selection_menu above, for example)
# as a submenu of another menu
submenu_item = SubmenuItem("Submenu item", selection_menu, menu)

# Once we're done creating them, we just add the items to the menu
menu.append_item(menu_item)
menu.append_item(function_item)
menu.append_item(command_item)
menu.append_item(submenu_item)

# Finally, we call show to show the menu and allow the user to interact
menu.show()

Project details


Download files

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

Source Distribution

console-menu-0.3.0.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

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

console_menu-0.3.0-py2.py3-none-any.whl (25.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file console-menu-0.3.0.tar.gz.

File metadata

  • Download URL: console-menu-0.3.0.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for console-menu-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b9b3f5fdc5f8f1981a37c6f194832eed89c1d0f57f25038472e384c1e90e8c3e
MD5 415c21b3b966f33c30c840193cc83485
BLAKE2b-256 f62093b3229b8b55ce6c2c260845f760d9a9efccabced149bcce8b4d5fddabde

See more details on using hashes here.

File details

Details for the file console_menu-0.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for console_menu-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 84d4df4b7f092331f66d93392163020a2cd0624fc369199c5a1cb8b981998abd
MD5 33d33fd8fcff33f245bf7b192be28d51
BLAKE2b-256 de1dcfbae2712c7b46adf5273fde5a1839c047794ad0e0b3deb53a3740af839e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page