A featherlight utility package for creating interactive command line tools
Project description
commandtoolutils
commandtoolutils
is a Python utility package for creating interactive command line menus.
Installation
You can install the commandtoolutils
package from GitHub using pip:
pip install git+https://github.com/jobordu/menutools.git
Usage
Here's a simple example that shows how you can use the commandtoolutils
package:
from commandtoolutils import menu, ask_questions
def main():
# Define the menu structure
menu_structure = [
{
'message': 'Say Hello',
'function': say_hello,
},
{
'message': 'Sub Menu',
'function': menu,
'sub_menu': [
{
'message': 'Say Hi',
'function': say_hi,
},
],
},
{
'message': 'Ask Questions',
'function': ask_some_questions,
}
]
# Display the menu
menu(menu_structure)
def say_hello():
print('Hello!')
def say_hi():
print('Hi!')
def ask_some_questions():
questions_and_actions = [
{
'question': 'Do you like Python?',
'function': say_yes,
'message': 'Great! You selected Yes.',
},
{
'question': 'Do you like Java?',
'function': say_no,
'message': 'Too bad! You selected No.',
}
]
ask_questions(questions_and_actions)
def say_yes():
print('Yes!')
def say_no():
print('No!')
if __name__ == '__main__':
main()
In this example, the main
function defines the menu structure and then calls the menu
function to display the menu. The menu
function takes a list of dictionaries that define the menu options. Each dictionary can contain the following keys:
message
: The text to display for the menu option.function
: The function to call when the menu option is selected.sub_menu
: A list of dictionaries that define a sub-menu.
The ask_questions
function takes a list of dictionaries that define a set of questions to ask the user. Each dictionary can contain the following keys:
question
: The text of the question to ask.function
: The function to call if the user answers 'yes'.message
: The message to display if the user answers 'yes'.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file commandtoolutils-0.1.tar.gz
.
File metadata
- Download URL: commandtoolutils-0.1.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f482568f7e429d9ef5b8bd4c9b8cb21dd8e0465092a32b0f1c0acfde2a665b79 |
|
MD5 | 4ebaca16e28f6809ad96021bf29f8766 |
|
BLAKE2b-256 | 69de9ace073a7eef6d65f48f059550f95475f8f87ee4027ee89e6c257572ba7c |
File details
Details for the file commandtoolutils-0.1-py3-none-any.whl
.
File metadata
- Download URL: commandtoolutils-0.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd1db6f14046051fabfee885d314166817913a4109511b86918b7ef3a80131a1 |
|
MD5 | 335f711f9f634677f3744335569c2d59 |
|
BLAKE2b-256 | 7ec78bd51baa17d8e2a02dee9270de5b7047f16ad4d749663195202cc5260974 |