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

fgimian/painter

Repository files navigation

Painter

Build Status Coverage Status License Latest Version

Painter Logo

Artwork courtesy of Open Clip Art Library

Introduction

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!

Quick Start

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:

Painter Demo

Documentation

Please check out the Painter Usage documentation.

Running Tests

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

License

Painter is released under the MIT license. Please see the LICENSE file for more details.

About

Your own expressive painter who colors text in your terminal.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages