kolors

Simple and lightweight shell color output function.


License
MIT
Install
pip install kolors==0.0.4

Documentation

python-kolors

Simple and lightweight shell color output function.

It also checks if terminal supports color before vomitting ANSI codes.

Usage

from kolors import c

print c('Some <red>Red</end> and <blue>blue</end> text')
print c('<green bg>Some green background</end>')
print c('Some <cyan bold bg>{}</end>').format('interpolation')

Note

The keyword in the closing tag isn't really relevant, but I like to use "</end>" everywhere for shortness and consistency. Simple shell color output function.

Colors

  • grey (alias: gray)
  • red
  • green
  • yellow
  • blue
  • magenta (alias: purple)
  • cyan
  • white

Styles

  • bold
  • bg

Roadmap

Not sure where this project will go, but suggestions and pull requests are welcome.

The features bellow were suggested, I'm seriously considering them for the next iterations.

Use curses

import curses

curses.setupterm()

if curses.tigetstr('setf') is not None:
    # Red foreground, if supported.
    print (curses.tparm(curses.tigetstr('setf'), curses.COLOR_RED).decode('utf-8'))

From man 5 terminfo:

To change the current foreground or background color on a Tekā€ tronix-type terminal, use setaf (set ANSI foreground) and setab (set ANSI background) or setf (set foreground) and setb (set backā€ ground). These take one parameter, the color number. The SVr4 documentation describes only setaf/setab; the XPG4 draft says that "If the terminal supports ANSI escape sequences to set background and foreground, they should be coded as setaf and setab, respecā€ tively.

Note: thanks u/awegge!

Cleaner, nestable syntax

<fg red>Red text<b>Red bold text <bg blue>Red bold tect on Blue background</bg>red bold again</b>Just red again </fg>

Wrapping around other libraries

Like colorama & click.style