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.tar.gz (197.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: stylecolor-1.0.1.tar.gz
  • Upload date:
  • Size: 197.6 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.tar.gz
Algorithm Hash digest
SHA256 45b7474122edb7363486856e465086d87e9023df6bc985465213a78ac5a88937
MD5 1fe697f95145c6c8429e138fdfcffdd6
BLAKE2b-256 5f620ce7fc451d5a987d012298d0f47163746b22d1dd10d525562eb07ab45425

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stylecolor-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for stylecolor-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e598784b1065b645e3e5f8d8a26242ea7a84430b5821e90b61f7de3cd755bbf3
MD5 bc2c230909987c438e67860b64c84408
BLAKE2b-256 da02faeba0308e11ba1b838fc7bdec08d2484f2af9c64b3f701fd73003f5d822

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