PyPI Python package PyPI - License
stransi ποΈ
I see a
033ε[1;31mred033ε[;39mdoor, and I want it painted033ε[1;30mblack033ε[;39m.
stransi is a lightweight parser for ANSI escape code sequences. It implements a string-like type that is aware of its own ANSI escape sequences, and can be used to parse most of the common escape sequences used in terminal output manipulation.
- β¨ Good support of ANSI escape sequences
- π¨ Focus on coloring and styling
- π‘οΈ Unsupported
CSIescape sequences are emitted as tokens - ποΈ Only one dependency: ochre
- π Python 3.8+
$ pip install stransiIn [1]: from stransi import Ansi In [2]: text = Ansi( ...: "I see a 033ε[1;31mred033ε[;39m door, " ...: "and I want it painted 033ε[1;30mblack033ε[;39m" ...: ) In [3]: list(text.escapes()) Out[3]: ['I see a ', Escape('\x1b[1;31m'), 'red', Escape('\x1b[;39m'), ' door, and I want it painted ', Escape('\x1b[1;30m'), 'black', Escape('\x1b[;39m')] In [4]: list(text.instructions()) Out[4]: ['I see a ', SetAttribute(attribute=<Attribute.BOLD: 1>), SetColor(role=<ColorRole.FOREGROUND: 30>, color=Ansi256(1)), 'red', SetAttribute(attribute=<Attribute.NORMAL: 0>), SetColor(role=<ColorRole.FOREGROUND: 30>, color=None), ' door, and I want it painted ', SetAttribute(attribute=<Attribute.BOLD: 1>), SetColor(role=<ColorRole.FOREGROUND: 30>, color=Ansi256(0)), 'black', SetAttribute(attribute=<Attribute.NORMAL: 0>), SetColor(role=<ColorRole.FOREGROUND: 30>, color=None)]
Photo by Tien Vu Ngoc on Unsplash.