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.5.0.tar.gz (40.8 kB view details)

Uploaded Source

Built Distribution

console_menu-0.5.0-py2.py3-none-any.whl (27.6 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: console-menu-0.5.0.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.1 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/2.7.10

File hashes

Hashes for console-menu-0.5.0.tar.gz
Algorithm Hash digest
SHA256 4cd817552d5655023c2a1cb04e565344b78c0f9c70d1723da541fa5663d54c96
MD5 d0e5a70bcdc74ab30ed9b1841e32d9b8
BLAKE2b-256 d9cd5f322440767de0970a61a955d73b084561e1420ee8210f46ba3933069412

See more details on using hashes here.

File details

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

File metadata

  • Download URL: console_menu-0.5.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 27.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.9.1 pkginfo/1.4.1 requests/2.18.4 setuptools/38.5.1 requests-toolbelt/0.8.0 tqdm/4.19.6 CPython/2.7.10

File hashes

Hashes for console_menu-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a56d9f5099364b247f421233fcc42092ca1a045088798f2e908ba2583aa02e20
MD5 da08892388df4ac95c5b114fb1c3a2dc
BLAKE2b-256 8f6fdee31918b6f05433c94f52f22735ca1021215f73a6b27c3a03a5ad9a2995

See more details on using hashes here.

Supported by

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