From e553507c3f4eafcd26e9083fd19a87e8c9850b65 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 16 Sep 2022 15:46:28 +0200 Subject: Adding upstream version 2.2.2. Signed-off-by: Daniel Baumann --- README.md | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..83f704e --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ +# 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)``. Even though the latest Windows 10 does +support ANSI color codes natively, you still need to run Windows.enable() to take advantage of automatically detecting +the console's background color. + +In Python2.x this library subclasses ``unicode``, while on Python3.x it subclasses ``str``. + +* Python 2.6, 2.7, PyPy, PyPy3, 3.3, 3.4, and 3.5 supported on Linux and OS X. +* Python 2.6, 2.7, 3.3, 3.4, and 3.5 supported on Windows (both 32 and 64 bit versions of Python). + +## Quickstart +Install: +```bash + pip install colorclass +``` + +## Piped Command Line +It is possible to pipe curly-bracket tagged (or regular ANSI coded) text to Python in the command line to produce color +text. Some examples: + +```bash + echo "{red}Red{/red}" |python -m colorclass # Red colored text. + echo -e "\033[31mRed\033[0m" | COLOR_DISABLE=true python -m colorclass # Strip colors + echo -e "\033[31mRed\033[0m" | COLOR_ENABLE=true python -m colorclass &> file.txt # Force colors. +``` +Export these environment variables as "true" to enable/disable some features: + + =============== ============================================ + Env Variable Description + =============== ============================================ + COLOR_ENABLE Force colors even when piping to a file. + COLOR_DISABLE Strip all colors from incoming text. + COLOR_LIGHT Use light colored text for dark backgrounds. + COLOR_DARK Use dark colored text for light backgrounds. + =============== ============================================ + +## Example Implementation + +![Example Script Screenshot](https://github.com/Robpol86/colorclass/raw/master/example.png?raw=true) + +![Example Windows Screenshot](https://github.com/Robpol86/colorclass/raw/master/example_windows.png?raw=true) + +Source code for the example code is: [example.py](https://github.com/Robpol86/colorclass/blob/master/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: + +```python + 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: + +```python + >>> color_string.value_colors + '\x1b[31mTest\x1b[39m' + + >>> color_string.value_no_colors + 'Test' +``` + +[Change Log](https://github.com/matthewdeanmartin/colorclass/blob/master/CHANGELOG.md) \ No newline at end of file -- cgit v1.2.3