Python based toolkit for writing Command-Line Interface applications
Project description
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
- Support for Ansi, RGB and HTML color models
- Support for tabular presentation of data
- Interactive progressbars
- Code completions
- Nesting of commands
- Automatic help page generation
- Syntax highlighting
- Autosuggestions
- 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
def 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()
Message Box
Example of a message box window.
import quo
def main():
quo.MessageBox(
title="Message pop up window",
text="Do you want to continue?\nPress ENTER to quit.",
).run()
if __name__ == "__main__":
main()
Prompt Box
Example of an prompt box window
import quo
def main():
result = quo.PromptBox(
title="PromptBox shenanigans",
text="What Country are you from?:"
).run()
quo.echo("Result = {}".format(result))
if __name__ == "__main__":
main()
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
Community
For discussions about the usage, development, and the future of quo, please join our Google community
Resources
Bug tracker
If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at Bug tracker or send an email to:
License📑
This software is licensed under the MIT License
. See the License file in the top distribution directory for the full license text.
Code of Conduct
Code of Conduct is adapted from the Contributor Covenant, version 1.2.0 available at Code of Conduct
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.