Menu
Easily create command-line menus.
Install
pip install Menu
Note: Use with Python 2 requires the future package to be installed.
Create the Menu
The Menu constructor arguments are all optional. The arguments are options, title, message, prompt, and refresh. Options is a list of tuples consisting of a name and a handler. Refresh is a handler called before showing the menu.
Menu() # empty menu, will close upon opening
Menu(options=[("Option Name", optionHandler)]) # customize the options
Menu(options=[("Option Name", optionHandler, {'key': val})]) # add kwargs to option handlers
Menu(title="Menu title") # customize the title
Menu(message="Message text") # customize the message, disabled by default
Menu(prompt=">") # customize the user input prompt
Menu(refresh=refreshHandler) # customize the refresh handler
Open the Menu
menu = Menu()
menu.open()
Close the Menu
from the instance after creating the menu
menu = Menu()
menu.close()
or use the static method before creating the menu
Menu(options = [("Close", Menu.CLOSE)])
Edit the menu
menu = Menu()
menu.set_options([("new option name", newOptionHandler)])
menu.set_title("new title")
menu.set_message("new message")
menu.set_prompt("new prompt")
Create a Submenu
main = Menu(title = "Main Menu")
sub = Menu(title = "Submenu")
main.set_options([
("Open submenu", sub.open),
("Close main menu", main.close)
])
sub.set_options([
("Return to main menu", sub.close)
])
main.open()
Example
Development
Symlink package to immediately see changes locally
$ pip install -e .
Run the tests
$ python test/tests.py
Build
$ python setup.py sdist
Note: Might need to login first with python setup.py register
Publish to PyPI
$ twine upload dist/*
Metadata
Release files for Menu 3.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| Menu-3.2.2.tar.gz | 3.6 kB | Without provenance | Details for Menu-3.2.2.tar.gz |
Release files / Menu-3.2.2.tar.gz
| Download URL | Menu-3.2.2.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8143eeec772937d4adc80b5a451f827da3dcdc9b2a1f850b4734e5d5e50d3dc4
|
|
BLAKE2b-256 checksum How to use checksums |
a15766755041c5fa34386869bb4dda9d79938ef1b06b57360c2e0ccbb81d5b27
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.16
|
Security for Menu 3.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.