Metadata-Version: 2.1
Name: minchin.text
Version: 6.1.0
Summary: Python library for text formatting on the command line.
Home-page: https://github.com/MinchinWeb/minchin.text
Author: William Minchin
Author-email: w_minchin@hotmail.com
License: MIT License
Description: minchin.text
        ============
        
        Python library for text formatting on the command line.
        
        Available Data
        ---------------
        
        \_\_version\_\_
        ```````````````
        library version.
        
        re_ansi_control_codes
        `````````````````````
        Compiled regex pattern for ANSI control codes, including colors.
        
        re_weburl
        `````````
        Compiled regex pattern for web URL's -- http, https, and naked domains like "example.com"
        
        re_allurl
        `````````
        Compiled regex pattern to match all URL's, including "mailto:foo@example.com",
        "x-whatever://foo", etc.
        
        Answers
        ```````
        An Enum containing the possible query answers. Current contains ``YES``,
        ``NO``, ``QUIT``, ``ALL``, and ``NONE``. ``YES`` and ``ALL`` are "truth-y"
        while ``NO``, ``QUIT``, and ``NONE`` are "false-y".
        
        
        Available Commands
        ------------------
        
        length_no_ansi(mystring)
        ````````````````````````
        Takes a string, strips out the ANSI escape codes
        (used for colouring terminal output, etc.), and returns
        the length of the resulting string
        
        centered (mystring, linewidth=None, fill=" ")
        `````````````````````````````````````````````
        Takes a string, centres it, and pads it on both sides. Default ``linewidth`` is
        one less than the console width.
        
        clock_on_right(mystring)
        ````````````````````````
        Takes a string, and prints it with the time right aligned
        
        query_yes_no(question, default="yes")
        `````````````````````````````````````
        Ask a yes/no question via raw_input() and return their answer.
        
        - "question" is a string that is presented to the user.
        - "default" is the presumed answer if the user just hits <Enter>. It must be
          "yes" (the default), "no" or None (meaning an answer is required of the
          user).
        - Returns one of Answer.YES or Answer.NO
        
        query_yes_no_all(question, default="yes")
        `````````````````````````````````````````
        Ask a yes/no/all question via raw_input() and return their answer.
        
        - "question" is a string that is presented to the user.
        - "default" is the presumed answer if the user just hits <Enter>. It must be
          "yes" (the default), "no", "all" or None (meaning an answer is required of
          the user).
        - Returns one of Answer.YES, Answer.NO, or Answer.ALL
        
        def query_yes_quit(question, default="quit")
        ````````````````````````````````````````````
        Ask a yes/quit question via raw_input() and return their answer.
        
        - "question" is a string that is presented to the user.
        - "default" is the presumed answer if the user just hits <Enter>. It must be
          "yes" (the default), "quit" or None (meaning an answer is required of the
          user).
        - Returns one of Answer.YES or Answer.QUIT
        
        query_yes_no_all_none(question, default="yes")
        ``````````````````````````````````````````````
        Ask a yes/no/all/none question via raw_input() and return their answer.
        
        - "question" is a string that is presented to the user.
        - "default" is the presumed answer if the user just hits <Enter>. It must be
          "yes" (the default), "no", "all", "none" (i.e. the string) or None (meaning
          an answer is required of the user).
        - Returns one of Answer.YES, Answer.NO, Answer.ALL, or Answer.NONE
        
        wait(sec)
        `````````
        Prints a timer with the format 0:00 to the console,
        and then clears the line when the timer is done.
        
        title(mytitle)
        ``````````````
        Takes ``mytitle``, centers it, and prints it in yellow letters on a blue
        background.
        
        subtitle(mysubtitle)
        ````````````````````
        Takes ``mysubtitle``, centers it, and prints it in bright (white) letters on a
        normal (black) background.
        
        rainbow_print(text, offset=0)
        `````````````````````````````
        Prints out ``text`` in a cycle of rainbow-esque colors!
        
        
        progressbar (class)
        -------------------
        
        This class is used to create and then update a 'progress bar', like:
        
        .. code-block:: shell
        
            [================>                                                    ] 17 / 70
        
        
        progressbar(current=0, maximum=100, bar_color=colorama.Fore.GREEN)
        ``````````````````````````````````````````````````````````````````
        Creates a progress bar class. Prints the progress bar.
        
        progressbar.update(currently=None)
        ``````````````````````````````````
        Updates the value of the progress bar and prints it.
        
        progressbar.reset()
        ```````````````````
        Sets the value of the progress bar to 0 (zero) and prints it.
        
        Code
        ----
        
        The code is available at `https://github.com/MinchinWeb/minchin.text <https://github.com/MinchinWeb/minchin.text>`_
        
        Contributions are welcome!
        
        Tests
        -----
        Located in the `test` folder. Each is a "visual test", so they need to be run and the output manually examined.
        
        License
        -------
        The code is licensed under the MIT license. See that attached `LICENSE` file.
        
        
        Minchin.Text Changelog
        ======================
        
        v 6.1.0 [2021-02-09]
        --------------------
        
        - added ``print_cols()`` to print text in multiple columns
        
        v 6.0.2 [2020-04-17]
        --------------------
        
        - fixed bug where ``progressbar`` would sometimes not calculated the needed bar
          length
        - fixed display issue where is wasn't clear what the possible answers to
          queries were. This does make the output quite a bit longer.
        
        v 6.0.1 [2020-04-10]
        --------------------
        
        - fixed alignment issues if you change the maximum value for ``progressbar``
        - fixed ``progressbar`` numbers to be displayed with thousands commas, if large
          enough
        
        v 6.0.0 [2019-02-08]
        --------------------
        
        - [BREAKING CHANGE] queries now return one of ``Answer.YES``, ``Answer.NO``,
          ``Answer.QUIT``, ``Answer.ALL``, or ``Answer.NONE``, as appropriate. ``YES``
          and ``ALL`` are "Truth-y", while ``NO``, ``QUIT``, and ``NONE`` are "False-y"
        - added ``query_yes_no_all_none()``
        - added ``rainbow_print()`` to print strings in all the colours!
        
        v 5.1.1 [2017-10-03]
        --------------------
        
        - allow ``setup.py`` to work with versions of Python before 3.6
        - remove hardcoded terminal width of 79 characters
        
        v 5.1.0 [2017-01-29]
        --------------------
        
        - ``minchin.text.progressbar()`` will only print (by default) every 0.1 seconds
        - fixed progressbar bug where "overfull" bars would go on to multiple lines
        - added ``get_terminal_size()``
        - upgraded release machinery
        
        v 5.0 [2015-06-10]
        ------------------
        
        - [BREAKING CHANGE] moved package to ``minchin.text``
        - added tests for ``minchin.text.centered()``
        - added end character to progress bar
        - added documentation to README.rst
        
        v 4.4 [2014-10-26]
        ------------------
        
        - typographic changes to allow wmtext to work in Python 3
        
        v 4.1 [2014-03-10]
        ------------------
        
        - allow access as a direct object. i.e. use ``import wmtext`` rather than
          ``from wmtext import wmtext``
        
        v 4.0 [2014-02-06]
        ------------------
        
        - packaged as a separate module
        - added progress bar
        - first public release
        
        v 3.2 [2014-02-02]
        ------------------
        
        - add ``length_no_ansi()`` allowing you to determine the length of a string
          after stripping out ANSI codes.
        
Platform: any
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Natural Language :: English
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Topic :: Utilities
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Description-Content-Type: text/x-rst
Provides-Extra: docs
Provides-Extra: test
Provides-Extra: all
Provides-Extra: dev
Provides-Extra: build
