Welcome to Buzio's documentation!
=================================
.. image:: https://img.shields.io/pypi/v/nine.svg
:target: https://pypi.python.org/pypi/buzio
.. image:: https://travis-ci.org/chrismaille/buzio.svg?branch=master
:target: https://travis-ci.org/chrismaille/buzio
.. image:: https://img.shields.io/pypi/pyversions/buzio.svg
:target: https://pypi.python.org/pypi/buzio
.. image:: https://coveralls.io/repos/github/chrismaille/buzio/badge.svg?branch=master
:target: https://coveralls.io/github/chrismaille/buzio?branch=master
.. image:: https://readthedocs.org/projects/buzio/badge/?version=latest
:target: http://buzio.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
* Read the Docs: http://buzio.readthedocs.io/
* Source Code: https://github.com/chrismaille/buzio
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
---------------------
.. code-block:: python
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**:
.. code-block:: python
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:
.. code-block:: python
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:**
.. code-block:: python
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/
.. _Buzio: https://github.com/chrismaille/buzio
.. _colored: https://pypi.python.org/pypi/colored
.. _termcolor: https://pypi.python.org/pypi/termcolor
.. _colorama: https://pypi.python.org/pypi/colorama