Skip to main content

Simplistic python package to print colored and/or styled text with a user friendly API.

Project description

License: MIT PyPi versions

Raia

Simplistic python package to print colored and/or styled text with a user friendly API.

1. Introduction

raia is a simplistic python package that intends to provide a user friendly API for printing formatted text on the terminal. To do so, raia uses ANSI RGB codes (as many similar packages do). Truecolor ANSI support of the running terminal is assumed.

2. Installation

Using pip,

pip install raia

3. Usage

raia formats text through Formatter objects. All Formatter objects have two ways to format text:

  1. Used as a callable, i.e.
     form = raia.Formatter("""some initialization""")
     formatted_str = form ("raia Library")
     print(formatted_str)
    
  2. Using the fprint method that uses the builting print with the chosen formatting, i.e.
    form = raia.Formatter("""some initialization""")
    form.fprint("raia Library")
    

Both of these have the same output (printed "raia Library" with the formatting specified in """some initialization""").

The Formatter object is initialized by a string of the ANSI escape code for the chosen formating, e.g. for printing red text we would initialize with:

Red = raia.Formatter("\x1b[38;2;255;0;0m")

To bereft the user of having anything to do with such codes, raia provides the Style, Color, FullStyle subclasses of the Formatter class. With them, the user just has to specify the necessary information (e.g. for Color the amounts of RGB, see example below).

4. example.py

Below, you can see the code and output of the script example.py.

import raia

# Info
print("Package name: "+raia.__name__)
print("Version: " + raia.__version__)

# Default colors
print(raia.Red("Default 'Red' as foreground."))
print(raia.Blue_bg("Default 'Blue' as background."))

# Custom color
myColor = raia.Color(0, 150, 150)
print(myColor("Custom foreground color."))

# Custom background
myBackground = raia.Color(255, 0, 150, as_background=True)
myBackground.fprint('This is a custom background color.')

# Default style
print(raia.Strikethrough('This is a default style.'))

# Custom style
myStyle = raia.Style('underline', 'italic', 'bold')
myStyle.fprint('This is a custom style.')

# Custom Full-Style
myFullStyle = raia.FullStyle(foreground=raia.Violet, background=(
    0, 80, 180),                           style=myStyle)
myFullStyle.fprint('This is a custom fully styled text.')

# Default keys
print(raia.Green('Default color keys: \n'), [*raia.defaults])
print(raia.Brown_bg('Available styles keys:\n'), [*raia.styles])

Output:

image

Important Note: Not all styles work on all consoles.

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

raia-0.3.0.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

raia-0.3.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file raia-0.3.0.tar.gz.

File metadata

  • Download URL: raia-0.3.0.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for raia-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d37c2f481c61896ead6ef462d04c672d9e651ad0e97fb70e9f6d28f282d50c56
MD5 2addceb21666ace6a561acf9d1e7fb37
BLAKE2b-256 993f886eafcec4336c1ed780007619b872826fe3926c1ac5aca156d399bfcc8c

See more details on using hashes here.

File details

Details for the file raia-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: raia-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for raia-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a29973333a65d9ed1dcdfae2127adaaf784d3d4f65396f3137d5b8d982cb895
MD5 5057cb30b66d658a2649b77f3dfe7447
BLAKE2b-256 a8d71074016caed1dd59788df23f3e4e98f86c22ce58091e1c78df1f4775550c

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