Skip to main content

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

This version

0.1

Download files

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

Source Distribution

commandtoolutils-0.1.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

commandtoolutils-0.1-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

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

Hashes for commandtoolutils-0.1.tar.gz
Algorithm Hash digest
SHA256 f482568f7e429d9ef5b8bd4c9b8cb21dd8e0465092a32b0f1c0acfde2a665b79
MD5 4ebaca16e28f6809ad96021bf29f8766
BLAKE2b-256 69de9ace073a7eef6d65f48f059550f95475f8f87ee4027ee89e6c257572ba7c

See more details on using hashes here.

File details

Details for the file commandtoolutils-0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for commandtoolutils-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bd1db6f14046051fabfee885d314166817913a4109511b86918b7ef3a80131a1
MD5 335f711f9f634677f3744335569c2d59
BLAKE2b-256 7ec78bd51baa17d8e2a02dee9270de5b7047f16ad4d749663195202cc5260974

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