Build CLIs with quo

Forever Scalable
Quo is a Python based toolkit for writing Command-Line Interface(CLI) applications.
Quo is making headway towards composing speedy and orderly CLI applications while forestalling any disappointments brought about by the failure to execute a CLI API.
Simple to code, easy to learn, and does not come with needless baggage.
Quo requires Python 3.6.1 or later.
Features
  • [x] Support for Ansi, RGB and HTML color models
  • [x] Support for tabular presentation of data
  • [x] Interactive progressbars
  • [x] Code completions
  • [x] Nesting of commands
  • [x] Automatic help page generation
  • [x] Syntax highlighting
  • [x] Autosuggestions
  • [x] Key Binders
  • Getting Started
    Installation
    You can install quo via the Python Package Index (PyPI)
    pip install -U quo
    quo.echo
    Example 1
    import quo
    
       quo.echo(f"Hello, World!", fg="red", italic=True, bold=True))
    Example 2
    import quo
    
       quo.echo(f"Quo is ", nl=False)
       quo.echo(f"scalable", bg="red", fg="black")
    Unlike the builtin print function, echo function has improved support for handling Unicode and binary data.
    It also supports handling of ANSI color sequences.
    quo.prompt
    import quo
    
       quo.prompt("What is your name?")
    quo.Prompt
    import quo
    
       session = quo.Prompt(bottom_toolbar="Python 🐍 is great")
       session.prompt("Type something:")
    Quo autocompletion
    # Press [Tab] to autocomplete
       import quo
    
       completer = quo.completion.WordCompleter(['USA', 'UK', 'Canada', 'Kenya'])
       session = quo.Prompt(completer=completer)
       session.prompt('Which country are you from?: ')
    Quo frame
    import quo
    
       @quo.command()
       @quo.app("@frame", help="Print a frame")
    
       def _frame(frame):
        """ Example of a simple layout"""
       content = quo.widgets.TextArea(text="Hello world🌍")
       quo.container(
            quo.widgets.Frame(
                content,
                title="Quo: python🐍")
             )
    
       if __name__ == "__main__":
           _frame()
    Quo tabular
    import quo
    
    
       table = [
         ["Name", "Gender", "Age"],
         ["Alice", "F", 24],
         ["Bob", "M", 19],
         ["Dave", "M", 24]
       ]
    
       quo.echo(quo.tabular(table))
    For more intricate examples, have a look in the examples directory and the documentation.
    Donate🎁
    In order to for us to maintain this project and grow our community of contributors.
    Donate
    Quo is...
    Simple
    If you know Python you can easily use quo and it can integrate with just about anything.
    Getting Help
    Gitter
    For discussions about the usage, development, and future of quo, please join our Gitter community
    Resources
    Bug tracker
    If you have any suggestions, bug reports, or annoyances please report them
    to our issue tracker at
    Bug tracker
    License📑
    Code of Conduct
    Code of Conduct is adapted from the Contributor Covenant,
    version 1.2.0 available at
    Code of Conduct

    23

    This website collects cookies to deliver better user experience

    Build CLIs with quo