Skip to main content

ANSI escape code library for Python

Project description

Pansi is a clean and simple ANSI escape code library for Python.

https://github.com/technige/pansi/raw/master/art/hello-world.png

General usage

Pansi provides an object called ansi through which all escape codes can be selected. This object exposes the codes as both attributes (e.g. ansi.red) and items (e.g. ansi["red"]).

This object can therefore be used in several different ways, but the simplest is through the string format method. Here, if the object is supplied as a simple named argument, all references need to be prefixed:

https://github.com/technige/pansi/raw/master/art/usage-long.png

Alternatively, passing the object with the ** operator removes the need for prefixes and thus makes the template string shorter. However, this does introduce a greater chance of clashing with other parameters, and doesn’t signal which parameters are which.

https://github.com/technige/pansi/raw/master/art/usage-short.png

Ultimately, it is a subjective choice between these two options.

Colours

For foreground text, the standard set of colours can be selected using the lower case name for normal brightness and the upper case name for high intensity. To select as the background colour instead, simply prefix with bg., e.g. bg.blue.

Colour

Foreground

Background

K0 Black

black

bg.black

R0 Red

red

bg.red

G0 Green

green

bg.green

Y0 Yellow

yellow

bg.yellow

B0 Blue

blue

bg.yellow

M0 Magenta

magenta

bg.magenta

C0 Cyan

cyan

bg.cyan

W0 White

white

bg.white

K1 Bright black

BLACK

bg.BLACK

R1 Bright red

RED

bg.RED

G1 Bright green

GREEN

bg.GREEN

Y1 Bright yellow

YELLOW

bg.YELLOW

B1 Bright blue

BLUE

bg.YELLOW

M1 Bright magenta

MAGENTA

bg.MAGENTA

C1 Bright cyan

CYAN

bg.CYAN

W1 Bright white

WHITE

bg.WHITE

Full 24-bit colour support is also available (on those terminals that support it) by using the rgb selector.

https://github.com/technige/pansi/raw/master/art/rgb-orange.png

Foreground and background colours can be inverted and then set back to normal using the rev and _rev tags respectively.

To reset foreground and background back to their defaults, use fg.reset and bg.reset.

Text Weight

  • weight.normal

  • weight.bold

  • weight.light

  • b (alias for weight.bold)

  • _b (alias for weight.normal)

Text Style

  • style.normal

  • style.italic

  • style.fraktur

  • i (alias for style.italic)

  • _i (alias for style.normal)

Text decoration

  • u (underline)

  • uu (double underline)

  • _u (no underline)

  • o (overline)

  • _o (no overline)

  • s (strike through)

  • _s (no strike through)

Blinking

  • blink (blink)

  • BLINK (blink fast)

  • _blink (no blink)

Hide & show

  • hide

  • show

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pansi-2020.7.0.tar.gz (9.3 kB view hashes)

Uploaded Source

Built Distribution

pansi-2020.7.0-py3-none-any.whl (9.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page