Skip to content
This repository has been archived by the owner on Aug 13, 2021. It is now read-only.

Latest commit

 

History

History
153 lines (109 loc) · 4.38 KB

README.rst

File metadata and controls

153 lines (109 loc) · 4.38 KB

Welcome to Buzio's documentation!

https://travis-ci.org/chrismaille/buzio.svg?branch=master https://coveralls.io/repos/github/chrismaille/buzio/badge.svg?branch=master Documentation Status https://api.codacy.com/project/badge/Grade/5a70e225a4744cbc828013eeb003f2d7 Maintainability Requirements Status

Buzio is a python library tool for printing formatted text in terminal, similar to termcolor or colored.

Installing Buzio

Install Buzio using the command:

$ pip install buzio

Importing the Library

from buzio import console, formatStr

The console is a instance of the Console class initialized with default color themes. You can also import the class and instantiate with your own settings (See the :doc:reference for more info)

The formatStr is also a instance of the Console class too, but instead of printing in terminal the message, this instance just return the formatted text.

The default color themes

Method Text Color
console.box Fore.CYAN
console.error Fore.RED
console.info Fore.CYAN
console.section Fore.LIGHTYELLOW_EX
console.success Fore.GREEN
console.warning Fore.YELLOW

These colors are based in colorama constants.

Generate fancy formats

"Section" example 1:

from buzio import console

console.section("First Section")

Terminal output:

$ >> First Section
$ ----------------

Humanize Python objects

Buzio can automatically humanize any python object for printing in terminal:

from datetime import datetime, timedelta
from buzio import console

today = datetime.now()
yesterday = today - timedelta(days=1)
my_dict = {
        "start day": yesterday,
        "end day": today
}

console.box(my_dict, date_format="%a, %b-%d-%Y")

The output on terminal will be (in blue color):

$ *********************************
$ *                               *
$ *  start day: Thu, Feb-01-2018  *
$ *   end day: Fri, Feb-02-2018   *
$ *                               *
$ *********************************

Ask for Input data

You can use Buzio to automatically generate "choose" and "select" questions, based on Python objects:

"Choose" example:

from buzio import console

my_choices = [
        "Orange",
        "Apple",
        "Potato"
]

console.choose(my_choices)

Terminal output:

$ 1. Orange
$ 2. Apple
$ 3. Potato
$
$ Select (1-3): ?

Run terminal commands

You can use Buzio to run terminal commands (using Python subprocess) and get the stdout result:

>>> from buzio import console
>>> ret = console.run("echo HelloWorld!", get_stdout=True, verbose=True)
Cmd: echo HelloWorld!
>>> print(ret)
HelloWorld!

Further reading

Please check full documentation in http://buzio.readthedocs.io/