Convenience functions for ANSI terminal colour sequences [color].
Project description
Convenience functions for ANSI terminal colour sequences [color].
Latest release 20250306: colourise: do not colour the leading and trailing whitespace, provide colour_padding=False optional flag to disable.
Mapping and function for adding ANSI terminal colour escape sequences to strings for colour highlighting of output.
colour_escape(code)
Return the ANSI escape sequence to activate the colour code.
code may be an int or a str which indexes COLOUR_CODES.
colourise(s, colour=None, uncolour=None, colour_padding=False)
Return a string enclosed in colour-on and colour-off ANSI sequences.
Parameters:
s: the string to colourcolour: names the desired ANSI colour.uncolour: may be used to specify the colour-off colour; the default is 'normal' (fromNORMAL_COLOUR).colour_padding: defaultFalse; if true colour the entire text, otherwise do not colour the leading and trailing whitespace of each line.
colourise_patterns(s, patterns, default_colour=None)
Colourise a string s according to patterns.
Parameters:
s: the string.patterns: a sequence of patterns.default_colour: if a string pattern has no colon, or starts with a colon, use this colour; default "cyan" (fromDEFAULT_HIGHLIGHT).
Each pattern may be:
- a string of the form "[colour]:regexp"
- a string containing no colon, taken to be a regexp
- a tuple of the form
(colour,regexp) - a regexp object
Returns the string with ANSI colour escapes embedded.
env_no_color(environ=None)
Test the $NO_COLOR environment variable per the specification at
https://no-color.org/
make_pattern(pattern, default_colour=None)
Convert a pattern specification into a (colour,regexp) tuple.
Parameters:
pattern: the pattern to parsedefault_colour: the highlight colour, default "cyan" (fromDEFAULT_HIGHLIGHT).
Each pattern may be:
- a string of the form "[colour]:regexp"
- a string containing no colon, taken to be a regexp
- a tuple of the form
(colour,regexp) - a regexp object
make_patterns(patterns, default_colour=None)
Convert an iterable of pattern specifications into a list of
(colour,regexp) tuples.
Parameters:
patterns: an iterable of patterns to parsedefault_colour: the highlight colour, default "cyan" (fromDEFAULT_HIGHLIGHT).
Each pattern may be:
- a string of the form "[colour]:regexp"
- a string containing no colon, taken to be a regexp
- a tuple of the form (colour, regexp)
- a regexp object
Class TerminalColors
A parser for /etc/terminal-colors.d' files.
TerminalColors.__init__(self, util_name=None, term_name=None, type_name=None, colors_dirpath=None, envvar=None):
Initialise the TerminalColors instance.
Parameters:
util_name: optional utility name, default fromsys.argv[0]term_name: optional terminal name, default from the$TERMenvvartype_name: optional type name, default'enable'colors_dirpath: optional specification files directory path, default fromTerminalColors.TERMINAL_COLORS_Denvvar: environment variable to override matches; the defaultutil_name+'_COLORS', thus$LS_COLORSifutil_name=='ls'. That may be the valueFalseif no environment variable should be an override.
TerminalColors.convert_sequence(sequence):
Convert a colour specification to an escape sequence.
TerminalColors.find_specfile(self):
Locate the most specific specification file matching our criteria.
Return None if no file matches.
TerminalColors.mapping:
The mapping of name to escape sequence.
TerminalColors.scan(self, path=None):
Scan the colour specification in path
and yield (name,escape_sequence) tuples.
Release Log
Release 20250306: colourise: do not colour the leading and trailing whitespace, provide colour_padding=False optional flag to disable.
Release 20220227:
- New TerminalColors class parsing /etc/terminal-colors.d and honouring $*_COLORS.
- New colour_escape(code) to make the escape sequence for a colour code.
- New COLOUR_CODES mapping of known colour names.
Release 20200729:
- New env_no_color() test function honouring the $NO_COLOUR envvar per https://no-color.org/
- colourise: get the "normal" default from the global NORMAL_COLOUR.
Release 20180726: greater markdowning of docstrings
Release 20180725.2: some markdown, still release testing
Release 20180725.1: Trivial changes, testing release process.
Release 20180725: rename second colourise function to colourise_patterns, was shadowing things
Release 20180422:
- New function colourise to colour strings with regexp matches.
- New helper functions make_pattern and make_patterns to construct (colour, regexp)s from specifications.
- New public names NORMAL_COLOUR and DEFAULT_HIGHLIGHT.
Release 20170902: Release metadata changes.
Release 20160828: Add PyPI category, other minor tweaks.
Release 20150112: PyPI release.
Release 20150107: first standalone pypi release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cs_ansi_colour-20250306.tar.gz.
File metadata
- Download URL: cs_ansi_colour-20250306.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa41c391cb77a0bb287487c75234b801b70a25e6d800865d06699b27a6d2529f
|
|
| MD5 |
cf3aaccd935340aa80789224fc9ed2cb
|
|
| BLAKE2b-256 |
05502c0b8890a3cfcc2329dc9007d50c4c75bd1fd0f9e83c4cbe5607cc88b108
|
File details
Details for the file cs_ansi_colour-20250306-py2.py3-none-any.whl.
File metadata
- Download URL: cs_ansi_colour-20250306-py2.py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4824d25df75c94beab47da25d23d47c74bda778fe019637a1def88d27fa85019
|
|
| MD5 |
f41e925f3197a20a6e113ea27b122044
|
|
| BLAKE2b-256 |
79818b2c9e85a5f7d05b457172573b519bf93e1b8108ebc961cff374591cb637
|