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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: stylecolor-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 9d8d52318c9e9ec3b6d894620dd262b9052d6beca2df7e9852ff487562533010
MD5 4435528d232c8036cc749fb3574438e4
BLAKE2b-256 4fd0096c1a70fdedddaa63a4dd3245f7f1118d39ccb043ce19d4160305b9122c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: stylecolor-1.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c0818efe28135aa383d33d6dfa6b06644a65bf7047a6b97c5d4bde3459c522cc
MD5 78b9b18acc2437d1fb951f367e6b3dbe
BLAKE2b-256 ceed816e7b57dc550dd3c0fb069840c444285ad3e150e63ba7651c1d034c1620

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