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.
Following styles are supported
Following colors are supported
Following lables are supported
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
white, grey, black, green, lightgreen, cyan, lightcyan, red, lightred,
blue, lightblue, purple, light purple, orange, yellow
bold, bg, under, strike, italic
info, que, run, bad, good
Note: Windows does not support ANSI escape sequences so the colors will not be print in command prompt.
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
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.
This work is licensed under a Creative Commons Attribution 4.0 International License.