Metadata-Version: 2.1
Name: cutie
Version: 0.0.3
Summary: Commandline User Tools for Input Easification
Home-page: https://github.com/kamik423/cutie
Author: Hans
Author-email: contact.kamik423@gmail.com
License: MIT
Description: # CUTIE
        
        *Commandline User Tools for Input Easification*
        
        A tool for handling common user input functions in an elegant way so you don't have to write them yourself once a week.
        
        ![example](https://github.com/Kamik423/cutie/blob/master/example.gif?raw=true)
        
        [![PRs Welcome](https://img.shields.io/badge/Homepage-GitHub-green.svg)](https://github.com/kamik423/cutie)
        [![PyPI version](https://badge.fury.io/py/cutie.svg)](https://badge.fury.io/py/cutie)
        [![PyPI license](https://img.shields.io/pypi/l/cutie.svg)](https://pypi.python.org/pypi/cutie/)
        [![PyPI pyversions](https://img.shields.io/pypi/pyversions/cutie.svg)](https://pypi.python.org/pypi/cutie/)
        [![PEP8](https://img.shields.io/badge/code%20style-pep8-orange.svg)](https://www.python.org/dev/peps/pep-0008/)
        
        ## Usage
        
        These are the main functions of cutie:
        
        ```python
        import cutie
        
        if cutie.prompt_yes_or_no('Are you brave enough to continue?'):
            names = [
                'Arthur, King of the Britons',
                'Sir Lancelot the Brave',
                'Sir Robin the Not-Quite-So-Brave-as-Sir-Lancelot',
                'Sir Bedevere the Wise',
                'Sir Galahad the Pure',
                'Møøse']
            name = names[cutie.select(names, selected_index=5)]
            print(f'Welcome, {name}')
            age = cutie.get_number(
                'What is your age?',
                min_value=0,
                allow_float=False)
            quest = cutie.secure_input('What is your quest?')
            print(f'{name}\'s quest (who is {age}) is {quest}.')
        ```
        
        ```
        Are you brave enough to continue? (Y/N) Yes
        [ ] Arthur, King of the Britons
        [ ] Sir Lancelot the Brave
        [x] Sir Robin the Not-Quite-So-Brave-as-Sir-Lancelot
        [ ] Sir Bedevere the Wise
        [ ] Sir Galahad the Pure
        [ ] Møøse
        Welcome, Sir Robin the Not-Quite-So-Brave-as-Sir-Lancelot
        What is your age? 31
        What is your quest?
        Sir Robin the Not-Quite-So-Brave-as-Sir-Lancelot's quest (who is 31) is to seek the holy grail.
        ```
        
        ## Installation
        
        ```bash
        pip3 install cutie
        ```
        
        ## Documentation
        
        ### get\_number
        
        Get a number from user input.
        If an invalid number is entered the user will be prompted again.
        
        #### Arguments
        
        | argument    | type            | default    | description                          |
        |:------------|:----------------|:-----------|:-------------------------------------|
        | prompt      | str             |            | The prompt asking the user to input. |
        | min_value   | float, optional | - infinity | The [inclusive] minimum value.       |
        | max_value   | float, optional | infinity   | The [inclusive] maximum value.       |
        | allow_float | bool, optional  | True       | Allow floats or force integers.      |
        
        #### Returns
        
        The number input by the user.
        
        ### secure\_input
        
        Get secure input without showing it in the command line.
        
        #### Arguments
        
        | argument | type | description                          |
        |:---------|:-----|:-------------------------------------|
        | prompt   | str  | The prompt asking the user to input. |
        
        #### Returns
        
        The secure input.
        
        ### select
        
        Select an option from a list.
        
        #### Arguments
        
        | argument          | type          | default | description                        |
        |:------------------|:--------------|:--------|:-----------------------------------|
        | options           | List[str]     |         | The options to select from.        |
        | deselected_prefix | str, optional | `[ ]`   | Prefix for deselected option.      |
        | selected_prefix   | str, optional | `[x]`   | Prefix for selected option.        |
        | selected_index    | int, optional | 0       | The index to be selected at first. |
        
        #### Returns
        
        The index that has been selected.
        
        ### prompt\_yes\_or\_no
        
        Prompt the user to input yes or no.
        
        #### Arguments
        
        | argument             | type                     | default | description                          |
        |:---------------------|:-------------------------|:--------|:-------------------------------------|
        | question             | str                      |         | The prompt asking the user to input. |
        | yes_text             | str, optional            | `Yes`   | The text corresponding to 'yes'.     |
        | no_text              | str, optional            | `No`    | The text corresponding to 'no'.      |
        | has_to_match_case    | bool, optional           | `False` | Does the case have to match.         |
        | enter_empty_confirms | bool, optional           | True    | Does enter on empty string work.     |
        | default_is_yes       | bool, optional           | False   | Is yes selected by default           |
        | deselected_prefix    | str, optional            | `  `    | Prefix if something is deselected.   |
        | selected_prefix      | str, optional            | `> `    | Prefix if something is selected      |
        | abort_value          | Optional[bool], optional | `None`  | The value on interrupt.              |
        | char_prompt          | bool, optional           | `True`  | Add a [Y/N] to the prompt.           |
        
        #### Returns
        
        The bool what has been selected.
        
        ## Support
        
        This does not support Windows, only Unix systems due to Windows not supporting the ANSII escape sequences all of this is based on.
        
        ## Contributing
        
        If you want to contribute, please feel free to suggest features or implement them yourself.
        
        Also **please report any issues and bugs you might find!**
        
        ## Authors
        
        * Currently this entire project is just by me.
        
        ## License
        
        The project is licensed under the [MIT-License](https://github.com/Kamik423/cutie/blob/master/license.md).
        
        ## Acknowledgments
        
        * This project uses the module [Readchar](https://pypi.org/project/readchar/) for direct input handling.
        
        ---
        
        *GNU Terry Pratchett*
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
