Easily print colored text.
>>> from clirainbow import Colorizer, RED, GREEN
>>> c = Colorizer()
>>> c.print('<hello> <world!>', RED, GREEN)
- If you want to insert a literal bracket, double it (e.g. write
<<
instead of<
)- (this is the same behavior as Python's builtins)
- Angle brackets are used instead of the traditional curly brackets in order to prevent clashes with Python's builtin string formatting facilities
At the moment, three possible exceptions may occur while using the library :
- A color bracket is opened, but never closed (
ColorBracketOpenedButNotClosed
) - More brackets than colors are given (
MoreBracketsThanColors
) - More colors than brackets are given (
MoreColorsThanBrackets
)
In each case, a readable error message is produced
Colors may not appear on certain systems (e.g., Windows) or with certain terminals.
CliRAINBOW is built on top of colorama : https://github.com/tartley/colorama
- Generate code in
colors.py
with a script instead of at runtime- Allow code completion
- Remove annoying error messages
- Add support for reusing colors by index, e.g.
c.print('<0:oh> <1:hai> <0:there>', colors.RED, colors.BLACK)
- Make it more similar to Python's
format
- Make it more similar to Python's