emehrkay / hue

Hue will help you to print awesomely in terminals.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hue

Hue provides a minimal yet powerful way to print colored text and lables in terminal.
It doesn't have any dependencies and works with python2 as well as python3.

Supported Stuff

Following styles are supported

Following colors are supported

Following lables are supported

Usages

First of all, import everything that Hue has to offer as follows:

from hue import *

Now printing colored text is as simple as doing

print red('This string is red')

Easy right? But what if you want to print italic text? You can just do

print italic('This string is in italic')

You can also combine styles and colors

print bold(red('This string is bold and red'))

Output:

And what is the use of those lables? I have been using these lables in projects to provide a minimal and informative output schema.
If some error occured in your program or something else bad happened you don't need to print the whole line in red. That doesn't look good. With hue, you can simply do this

print bad('An error occured.')

Take a look at the output of all the lables

List of all colors

white, grey, black, green, lightgreen, cyan, lightcyan, red, lightred,
blue, lightblue, purple, light purple, orange, yellow

List of all styles

bold, bg, under, strike, italic

List of all lables

info, que, run, bad, good

Note: Windows does not support ANSI escape sequences so the colors will not be print in command prompt.

Fluent Interface

Hue offers the same functionality in a fluent interface. It works by capturing all attributes taken against the Hue instance and compiling them when the object is transformed to a string. If you call the object by adding parenthesis in the chain, a new Hue instance will be created.

from fluent import Hue

h = Hue('test')
h.red.bold

print(h) # red and bold text

# start a new chain while within the current one
h = Hue('test')
h.red.bold(' this out')

print(h) # "test" is red while " this out" is bold

# maintain the last call in the chain before starting a new one
h = Hue('test')
h.red.bold._(' this out')

print(h) # "test" is both bold and red, " this out" is regular text

License & Contribution

The only thing I think Hue needs is windows support which I can't add atm because I have no windows machine and made since people were asking for it so its a quick one. So if you can start a pull request for windows support that would be great. Additional colors and lables will be appreciated too. Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

About

Hue will help you to print awesomely in terminals.


Languages

Language:Python 100.0%