Skip to main content

the simplest package to apply style and color in terminal

Project description

Stylecolor - 1.0.0

Stylecolor

stylecolor is the simplest package for coloring and/or styling text in the terminal.
stylecolor requires no other modules and is very lightweight and efficient.

Installation

No prerequisites are needed, only stylecolor.

pip install stylecolor

Description

stylecolor uses ANSI escape codes to work. It is therefore compatible with all other libraries that use ANSI codes.

Some terminals do not support ANSI escape codes, so you can disable styling with deactivate(). In this case, you will still be able to use the functions, but the various styles will no longer be applied.
Use reactivate() to reactivate the styling.

I recommend importing stylecolor as sc or st.
Additionally, if you are debugging, I suggest importing the rprint() function like this: from stylecolor import rprint()

Coloring

8 colors are available natively: black, red, green, yellow, blue, magenta, cyan, and white.
For each color, there are functions (e.g. stylecolor.red()), as well as constants (e.g. stylecolor.RED).
For other colors, use stylecolor.rgb() or stylecolor.hexa().

Simple Colors

import stylecolor as sc

print(sc.red('red text'))
print(sc.green_text('green text'))
print(sc.blue('blue text'))
# ...
# AND/OR
print(sc.RED + 'constant red text' + sc.RESET)
print(sc.GREEN + 'constant green text' + sc.RESET)
print(sc.BLUE + 'constant blue text' + sc.RESET)
# ...

output\

Light Colors

You can add the prefix l in front of the color to make it a light version.

import stylecolor as sc
print(sc.lred('light red'))
print(sc.lgreen('light green'))
print(sc.lblue('light blue'))
# ...
# AND/OR
print(sc.LRED + 'constant red text' + sc.RESET)
print(sc.LGREEN + 'constant green text' + sc.RESET)
print(sc.LBLUE + 'constant blue text' + sc.RESET)
# ...

output

Background Colors

You can add the prefix b in front of each color to set it as a background color.

import stylecolor as sc
print(sc.bred('red background'))
print(sc.bgreen('green background'))
print(sc.bblue('blue background'))
# ...
# AND/OR
print(sc.BRED + 'constant red background' + sc.RESET)
print(sc.BGREEN + 'constant green background' + sc.RESET)
print(sc.BBLUE + 'constant blue background' + sc.RESET)
# ...

output

NOTE
You can also add b in front of the light colors.

import stylecolor as sc
print(sc.blred('light red background'))
print(sc.blgreen('light green background'))
print(sc.blblue('light blue background'))
# ...
#AND/OR"
print(sc.BLRED + 'constant light red background' + sc.RESET)
print(sc.BLGREEN + 'constant light green background' + sc.RESET)
print(sc.BLBLUE + 'constant light blue background' + sc.RESET)
# ...

output

Custom Colors

The rgb() and hexa() functions allow you to apply custom colors.

import stylecolor as sc
print(sc.rgb('personalised rgb color', '(background)', r=250, g=150, b=0))
print(sc.rgb('personalised tuple rgb color', '(background)', rgb=(250, 150, 0)))
print(sc.hexa('personalised hexadecimal color', '(background)', hexa='#fA9600'))
print(sc.hexa('personalised background hexadecimal color', "without '#'", hexa='Fa9600'))

output

Custom Background Colors

The brgb() and bhexa() functions allow you to apply custom background colors.

import stylecolor as sc
print(sc.brgb('personalised rgb color', '(background)', r=250, g=150, b=0))
print(sc.brgb('personalised tuple rgb color', '(background)', rgb=(250, 150, 0)))
print(sc.bhexa('personalised hexadecimal color', '(background)', hexa='#fA9600'))
print(sc.bhexa('personalised background hexadecimal color', "without '#'", hexa='Fa9600'))

output

Reset Colors

The functions stylecolor.rcolor() or stylecolor.RCOLOR and stylecolor.rbackground() or stylecolor.RBACKGROUND respectively remove the text color and the background color.

import stylecolor as sc
# color
green_text = sc.green('green text')
print(green_text)
print(sc.rcolor(green_text))
# background color
bgreen_text = sc.bgreen('background green text')
print(bgreen_text)
print(sc.rbackground(bgreen_text))

output

Built-in Styles

Apply Styles

In addition to colors, many styles are available: bold, dim, italic, underline, blinking, reverse, hidden, and strikethrough.
Just like with colors, styles are accessible via functions (e.g. stylecolor.bold()) or constants (e.g. stylecolor.BOLD).

import stylecolor as sc
print(sc.bold('bold text'))
print(sc.italic('italic text'))
print(sc.underline('underline text'))
# ...
# AND/OR
print(sc.BOLD, 'constant bold text', sc.RESET, sep='')
print(sc.ITALIC, 'constant italic text', sc.RESET, sep='')
print(sc.UNDERLINE, 'constant underline text', sc.RESET, sep='')
# ...

output

Reset Styles

You can add the prefix r in front of each style to cancel it (including with constants).

import stylecolor as sc
bold = sc.bold('bold text')
print(bold)
print(sc.rbold(bold))

underline = sc.underline('underline text')
print(underline)
print(sc.runderline(underline))
# ...

output

Other Styles

It is possible, using the functions stylecolor.style() and stylecolor.styles(), to apply one or more styles to text.
You can use textual styles like red, bred, underline, or directly use ANSI codes like 31, 41, 4, for example.

import stylecolor as sc
def func():
    pass
print(sc.style('text1', func, 'other text', style='blue'))
print(sc.styles('unique object', 'white', 'bblack', 'underline'))

output

Composability

Most functions and constants are composable with each other.

import stylecolor as sc
print(sc.blue(sc.underline('blue underline text'), 'blue text only'), 'normal text')
print(sc.styles('blue underline text', 'blue', 'underline', 'italic'))
# fonctions with constants
print(sc.green(sc.UNDERLINE, 'combined green underline text', sc.RUNDERLINE, ' green text only', sep=''),
      'normal text')

output

NOTE
Foreground colors are not composable with each other, same for background.

import stylecolor as sc
print(sc.blue(sc.green('colored text in blue and green which appears blue')))
print(sc.bblue(sc.bgreen('background colored text in blue and green which appears blue')))

output

Debug Functions

The functions raw() and rprint() allow you to get the raw version of a styled text.

import stylecolor as sc
colored = sc.blue("raw blue text")
raw = sc.raw(colored) # return raw string
print(raw)
sc.rprint(colored)  # directly print raw result

output

Project details


Download files

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

Source Distribution

stylecolor-1.0.1.post1.tar.gz (10.8 kB view details)

Uploaded Source

Built Distribution

stylecolor-1.0.1.post1-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file stylecolor-1.0.1.post1.tar.gz.

File metadata

  • Download URL: stylecolor-1.0.1.post1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for stylecolor-1.0.1.post1.tar.gz
Algorithm Hash digest
SHA256 362a1def6bea491edc5d962c41bfa73f8744161ee44586c3d3d928e160f4f07e
MD5 180e01d76346d79878bf4e48a38b8676
BLAKE2b-256 c36cce22fe7b4b8dc433ab532b90a32c72f6bde4928fdf34f53372c961efe5d2

See more details on using hashes here.

File details

Details for the file stylecolor-1.0.1.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for stylecolor-1.0.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 7c9fcfe3d64aad8933615f14ad2c43eb9781cd44480aa0ff65616362697a7f82
MD5 905b74a65fd1587102a739a1d807cd5e
BLAKE2b-256 c71596f4b709da11766f10f219a75b32d2b5839958347dce32e87047c5d12947

See more details on using hashes here.

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