I've always been of the opinion that when making command line tools in Python one should use the logging system to relay messages to the user. It makes it easy to change verbosity levels (add a log-level command line switch!) and the logger writes to stderr which helps separate your informational messages from information that should be written directly to stdout.<p>Python's logging system is great but there is no simple way to colorize the textual output. There are some log formatters that are able to format an entire message in one color or another but formatting only a portion of a log message was cumbersome and annoying.<p>To that end I've produced a couple of logging formatters that can be used to format portions of log messages with color codes for beautiful command line output, all aided by a very simple domain specific language.