Skip to main content

A light weight command line menu that supports Windows, MacOS, and Linux

Project description

    # dumb_menu
    
    [![Downloads](https://static.pepy.tech/badge/dumb-menu)](https://pepy.tech/project/dumb-menu)
    
    simple_term_menu don't support windows, so I made dumb_menu.
    
    dumb_menu is not as powerful as simple_term_menu , but this a **GOOD OLD MENU** .
    
    dumb_menu is a light weight command line menu that supports **Windows**, **MacOS**, and **Linux**.
    
    
    ## Installation
    
    ```
    pip install dumb-menu
    ```
    
    https://pypi.org/project/dumb-menu/
    
    https://github.com/cornradio/dumb_menu (I want stars ⭐ uwu)
    
    ## Usage
    
    example:
    
    ```python
    import dumb_menu
    options = ["[1]Option 1", "[2]Option 2", "[3]Option 3","[q]quit"]
    index = dumb_menu.get_menu_choice(options)
    print(f"You selected option {index + 1}: {options[index]}")
    ```
    
    
    ![png](https://raw.githubusercontent.com/cornradio/imgs/main/20230214163952.png)
    
    another example:
    
    ```python
    import os
    import dumb_menu
    
    def loopmenu():
        options = ["[1]happy",
                "[2]sad",
                "[3]give me a cookie",
                "[q]quit"]
        index = dumb_menu.get_menu_choice(options,isclean = True)
        # clear screen, cls for windows, clear for linux
        os.system('cls') 
        # Python 3.10+ only,old version could use if-else
        match index:
            case 0:
                print(":)")
            case 1:
                print(":(")
            case 2:
                print("🍪ヾ(•ω•`)o")
            case 3:
                exit()
        input('Press ENTER to continue...')
    
    if __name__ == "__main__":
        while True:
            loopmenu()
    ```
    ![Imgur](https://i.imgur.com/7zjLt8g.png)
    
    
    ## Get help
    
    Get help ➡️ [Github issue](https://github.com/cornradio/dumb_menu/issues)
    
    ## Update log
    
    
    `1.0.8` add "return key string" option , add `demo.py`  As a straightforward example
    
    ```python
    dumb_menu.get_menu_choice(options,give_key_str = True)
    ```
    
    `1.0.7` fix "flickering on mac zsh" 
    
    `1.0.6` forget write log in 1.0.5
    
    `1.0.5` fix bug in 1.0.4
    
    `1.0.4` support "clean mode" 
    
    `1.0.3` show selected index also when using hotkey  
    
    `1.0.2` first useable version
    
    `1.0.1` fix bug
    
    `1.0.0` first release
    
    ## how to upload a new version (for me)
    
    en: https://packaging.python.org/tutorials/packaging-projects/ 
    
    zh: https://python-packaging-zh.readthedocs.io/zh_CN/latest/minimal.html#id2
    
    > make sure have twine installed first
    
    1. change `setup.py`
    2. testing `python3 setup.py develop`
    3. `python3 setup.py sdist`
    4. `twine upload dist/*`
    
    test code :
    ```
    python3
    
    import dumb_menu
    dumb_menu.demo()
    ```

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

yhs_menu-1.0.2.tar.gz (4.2 kB view details)

Uploaded Source

File details

Details for the file yhs_menu-1.0.2.tar.gz.

File metadata

  • Download URL: yhs_menu-1.0.2.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for yhs_menu-1.0.2.tar.gz
Algorithm Hash digest
SHA256 17cff01bced2eddab82c8d9e1e1df9ef757b813f82c4f124ee468fe0b52d79ca
MD5 7787f7d7c4a1b6a712dcb2056fa5d9c7
BLAKE2b-256 ff53ebde9dda9be0bacdd2531975dfd4f6dd7d15950e8eff2e86c4c1314822fc

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