Artwork courtesy of Open Clip Art Library
Painter is an ANSI coloring library based on the excellent chalk and colors.js libraries for Node.js. However, painter attempts to provide an even more expressive API which reads like English.
Painter is fully tested with 100% coverage and also completely Flake8 compliant too!
Install Painter in your virtualenv as follows:
pip install painter
And now, go ahead and use it to output colors to your terminal:
from __future__ import print_function
from painter import paint
# Simple printing of colors
print('Welcome to Painter!', paint.red('I can paint things red'),
paint.blue('and blue'))
# Chaining colors and styles
print(paint.blue.on_red.bold.underline('and far more complex combos too'))
print()
# Using color patterns
print(paint.rainbow('Awww look, a pretty rainbow :)'))
print(paint.zebra('and a scary looking zebra!'))
print()
# Nested painting
print(paint.on_red('I can also use a background color across',
paint.blue('multiple'),
paint.yellow('foreground colors')))
# Custom separator
print(paint('and', 'allow', 'you to use', paint.red('custom separators'),
sep='-'))
print()
# Creating themes
cool_theme = paint.green.on_red.underline.bold
print('Creating', cool_theme('your own theme'), 'is easy')
# Easily disable painting of colors
paint.enabled = False
print('and I allow you to easily', paint.red('disable'), paint.blue('me'))
print()
paint.enabled = True
print('Hope you have a', paint.blue('lovely day!'), paint.green(':)'))
The output of the script above looks something like this:
Please check out the Painter Usage documentation.
You may run the unit tests as follows:
git clone https://github.com/fgimian/painter.git
cd painter
python setup.py test
You may validate Flake8 compatibility as follows:
python setup.py flake8
Painter is released under the MIT license. Please see the LICENSE file for more details.