Skip to content

Latest commit

 

History

History
112 lines (79 loc) · 2.85 KB

README.md

File metadata and controls

112 lines (79 loc) · 2.85 KB

colorclass

Yet another ANSI color text library for Python. Provides "auto colors" for dark/light terminals. Works on Linux, OS X, and Windows. For Windows support you just need to call Windows.enable() in your application.

On Linux/OS X autocolors are toggled by calling set_light_background() and set_dark_background(). On Windows this can be done automatically if you call Windows.enable(auto_colors=True).

In Python2.x this library subclasses unicode, while on Python3.x it subclasses str.

  • Python 2.6, 2.7, 3.3, and 3.4 supported on Linux, OS X, and Cygwin.
  • Python 2.7, 3.3, and 3.4 supported on Windows (both 32 and 64 bit versions of Python).

Tested on Windows XP and Windows 10 technical preview.

[Build Status] (https://ci.appveyor.com/project/Robpol86/colorclass) [Build Status] (https://travis-ci.org/Robpol86/colorclass) [Coverage Status] (https://coveralls.io/r/Robpol86/colorclass) [Latest Version] (https://pypi.python.org/pypi/colorclass/) [Downloads] (https://pypi.python.org/pypi/colorclass/) [Download format] (https://pypi.python.org/pypi/colorclass/) [License] (https://pypi.python.org/pypi/colorclass/)

Quickstart

Install:

pip install colorclass

Example Implementation

Example Script Screenshot

Example Windows Screenshot

Source code for the example code is: example.py

Usage

Different colors are chosen using curly-bracket tags, such as {red}{/red}. For a list of available colors, call colorclass.list_tags().

The available "auto colors" tags are:

  • autoblack
  • autored
  • autogreen
  • autoyellow
  • autoblue
  • automagenta
  • autocyan
  • autowhite
  • autobgblack
  • autobgred
  • autobggreen
  • autobgyellow
  • autobgblue
  • autobgmagenta
  • autobgcyan
  • autobgwhite

Methods of Class instances try to return sane data, such as:

from colorclass import Color
color_string = Color('{red}Test{/red}')

color_string
u'\x1b[31mTest\x1b[39m'

len(color_string)
4

color_string.istitle()
True

There are also a couple of helper attributes for all Color instances:

color_string.value_colors
'\x1b[31mTest\x1b[39m'

color_string.value_no_colors
'Test'

Changelog

1.1.0

  • Added native Windows support and automatic background colors.

1.0.2

  • Added ability to disable/strip out all colors.

1.0.1

  • Fixed splitlines() method.

1.0.0

  • Initial release.