
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Print colors and gradients in your terminal. Official github: https://github.com/ddjerqq/rgbprint
see below for details.
functions
- rgbprint
- gradient_print
- gradient_scroll
- gradient_change
classes
- Color
use rgbprint:
from rgbprint import rgbprint rgbprint("[+] successfully connected to database", color="green")
inject colors in strings:
from rgbprint import Color print(f"[{Color.red}CRITICAL{Color.reset}] encountered error in the program")
print gradients
from rgbprint import gradient_print, Color gradient_print( "[CRITICAL] system failure, program can't open file in location C:/foo/bar/baz.tgz", start_color=Color.yellow_green, end_color=Color.dark_magenta )
scroll gradients
from rgbprint import gradient_scroll, Color gradient_scroll( "[CRITICAL] system failure, program can't open file in location C:/foo/bar/baz.tgz", start_color=0x4BBEE3, end_color=Color.medium_violet_red )
change gradients
from rgbprint import gradient_change, Color gradient_change( "[CRITICAL] system failure, program can't open file in location C:/foo/bar/baz.tgz", start_color=0x4BBEE3, end_color=Color.medium_violet_red )
print but with color keyword argument support.
Prints the values to sys.stdout.
the color argument gets converted to a
Color
object before getting printed, thus it must be an instance ofColorType
rgbprint( *values, sep: str = " ", end: str = "\n", color: Optional[ColorType] = None, ) -> None
Args:
- *values (
Any
): values to print.- color (
ColorType
):optional
color. see examples down below for supported formats.- sep (
str
):optional
, string inserted between values, default a space.- end (
str
):optional
, string appended after the last value, default a newline.
Examples:
import the package
from rgbprint import rgbprint from rgbprint import Color
basic colored print
user = "john smith" rgbprint("welcome", user, "you are", 25, "years old", color=Color.forest_green)
similar functionality to the built-in
rgbprint(*["orange", "apple", "banana"], sep="_", color="yellow")
all supported color formats
rgbprint("hello", color="red") rgbprint("hello", color=0xff00ff) rgbprint("hello", color="#ff00ff") rgbprint("hello", color="ff00ff") rgbprint("hello", color=[255, 0, 255]) rgbprint("hello", color=(255, 0, 255)) rgbprint("hello", color=(255, 0, 0xFF)) rgbprint("hello", color=Color.red) rgbprint("hello", color=Color.random) rgbprint("hello", color=Color(255, 0, 127))
Raises:
- ValueError: if the color is in an unsupported format, or is out of range of 0-16777215 (0x000000-0xFFFFFF).
- TypeError: if the color is of unsupported type. or some other error.
print gradients on your terminal
gradient_print( *values, start_color: Optional[ColorType] = None, end_color: Optional[ColorType] = None, sep: str = " ", end: str = "\n" ) -> None
Args:
- *values (
Any
): values to print.- start_color (
ColorType
): start_color. see examples down below for supported formats.- end_color (
ColorType
): end_color. see examples down below for supported formats.- sep (
str
):optional
, string inserted between values, default a space.- end (
str
):optional
, string appended after the last value, default a newline.
Examples:
import the package
from rgbprint import gradient_print from rgbprint import Color
basic gradient scroll
user = "john smith" gradient_print("welcome", user, "you are", 25, "years old", start_color="red, end_color="yellow")
more examples
username = "john doe" gradient_print("hello", start_color="red", end_color="yellow") gradient_print("hello", username, "welcome to the app", start_color=Color.forest_green, end_color=0xFF00FF) gradient_print("[+] loading data, please wait...", start_color=Color.aqua_marine, end_color=Color.peach_puff)
similar functionality to the built-in
gradient_print(*["orange", "apple", "banana"], sep="_", start_color="yellow", end_color="red")
all supported color formats
gradient_print("hello", start_color="red", end_color="red") gradient_print("hello", start_color=0xff00ff, end_color=0xff00ff) gradient_print("hello", start_color="#ff00ff", end_color="#ff00ff") gradient_print("hello", start_color="ff00ff", end_color="ff00ff") gradient_print("hello", start_color=[255, 0, 255], end_color=[255, 0, 255]) gradient_print("hello", start_color=(255, 0, 255), end_color=(255, 0, 255)) gradient_print("hello", start_color=(255, 0, 0xFF), end_color=(255, 0, 0xFF)) gradient_print("hello", start_color=Color.red, end_color=Color.red) gradient_print("hello", start_color=Color.random, end_color=Color.random) gradient_print("hello", start_color=Color(255, 0, 127), end_color=Color(255, 0, 127))
Raises:
- ValueError: if the color is in an unsupported format, or is out of range of 0-16777215 (0x000000-0xFFFFFF).
- TypeError: if the color is of unsupported type, or the function is missing arguments.
scroll gradients on your terminal
gradient_scroll( *values, start_color: Optional[ColorType] = None, end_color: Optional[ColorType] = None, delay: float = 0.03, times: int = 4, reverse: bool = False, sep: str = " ", end: str = "\n", ) -> None
Args:
- *values (
Any
): values to print.- start_color (
ColorType
): start_color. see examples down below for supported formats.- end_color (
ColorType
): end_color. see examples down below for supported formats.- delay (
float
):optional
, the delay between the change of the gradient, recommended range: .05 - .1- times (
int
):optional
, the amount of times to change the gradient in place.- reverse (
bool
):optional
whether to start with the end color or not.- sep (
str
):optional
, string inserted between values, default a space.- end (
str
):optional
, string appended after the last value, default a newline.
Examples:
import the package
from rgbprint import gradient_scroll from rgbprint import Color
basic gradient print
user = "john smith" gradient_scroll("welcome", user, "you are", 25, "years old", start_color="red, end_color="yellow")
more examples
username = "john doe" gradient_scroll("hello", start_color="red", end_color="yellow") gradient_scroll("hello", start_color="red", end_color="yellow", delay=0.1) gradient_scroll("hello", start_color="red", end_color="yellow", delay=0.1, times=10) gradient_scroll("hello", start_color="red", end_color="yellow", delay=0.1, times=10, reverse=True) gradient_scroll("hello", username, "welcome to the app", start_color=Color.forest_green, end_color=0xFF00FF) gradient_scroll("[+] loading data, please wait...", start_color=Color.aqua_marine, end_color=Color.peach_puff)
similar functionality to the built-in
gradient_scroll(*["orange", "apple", "banana"], sep="_", start_color="yellow", end_color="red")
all supported color formats
gradient_scroll("hello", start_color="red", end_color="red") gradient_scroll("hello", start_color=0xff00ff, end_color=0xff00ff) gradient_scroll("hello", start_color="#ff00ff", end_color="#ff00ff") gradient_scroll("hello", start_color="ff00ff", end_color="ff00ff") gradient_scroll("hello", start_color=[255, 0, 255], end_color=[255, 0, 255]) gradient_scroll("hello", start_color=(255, 0, 255), end_color=(255, 0, 255)) gradient_scroll("hello", start_color=(255, 0, 0xFF), end_color=(255, 0, 0xFF)) gradient_scroll("hello", start_color=Color.red, end_color=Color.red) gradient_scroll("hello", start_color=Color.random, end_color=Color.random) gradient_scroll("hello", start_color=Color(255, 0, 127), end_color=Color(255, 0, 127))
Raises:
- ValueError: if the color is in an unsupported format, or is out of range of 0-16777215 (0x000000-0xFFFFFF).
- TypeError: if the color is of unsupported type, or the function is missing arguments.
change gradients in place on your terminal this function is very similar to
gradient_scroll
almost identical.
gradient_change( *values, start_color: Optional[ColorType] = None, end_color: Optional[ColorType] = None, delay: float = 0.03, times: int = 4, reverse: bool = False, sep: str = " ", end: str = "\n", ) -> None
Args:
- *values (
Any
): values to print.- start_color (
ColorType
): start_color. see examples down below for supported formats.- end_color (
ColorType
): end_color. see examples down below for supported formats.- delay (
float
):optional
, the delay between the change of the gradient, recommended range: .05 - .1- times (
int
):optional
, the amount of times to change the gradient in place.- reverse (
bool
):optional
whether to start with the end color or not.- sep (
str
):optional
, string inserted between values, default a space.- end (
str
):optional
, string appended after the last value, default a newline.
Examples:
import the package
from rgbprint import gradient_change from rgbprint import Color
basic gradient print
user = "john smith" gradient_change("welcome", user, "you are", 25, "years old", start_color="red, end_color="yellow")
more examples
username = "john doe" gradient_change("hello", start_color="red", end_color="yellow") gradient_change("hello", start_color="red", end_color="yellow", delay=0.1) gradient_change("hello", start_color="red", end_color="yellow", delay=0.1, times=10) gradient_change("hello", start_color="red", end_color="yellow", delay=0.1, times=10, reverse=True) gradient_change("hello", username, "welcome to the app", start_color=Color.forest_green, end_color=0xFF00FF) gradient_change("[+] loading data, please wait...", start_color=Color.aqua_marine, end_color=Color.peach_puff)
similar functionality to the built-in
gradient_change(*["orange", "apple", "banana"], sep="_", start_color="yellow", end_color="red")
all supported color formats
gradient_change("hello", start_color="red", end_color="red") gradient_change("hello", start_color=0xff00ff, end_color=0xff00ff) gradient_change("hello", start_color="#ff00ff", end_color="#ff00ff") gradient_change("hello", start_color="ff00ff", end_color="ff00ff") gradient_change("hello", start_color=[255, 0, 255], end_color=[255, 0, 255]) gradient_change("hello", start_color=(255, 0, 255), end_color=(255, 0, 255)) gradient_change("hello", start_color=(255, 0, 0xFF), end_color=(255, 0, 0xFF)) gradient_change("hello", start_color=Color.red, end_color=Color.red) gradient_change("hello", start_color=Color.random, end_color=Color.random) gradient_change("hello", start_color=Color(255, 0, 127), end_color=Color(255, 0, 127))
Raises:
- ValueError: if the color is in an unsupported format, or is out of range of 0-16777215 (0x000000-0xFFFFFF).
- TypeError: if the color is of unsupported type, or the function is missing arguments.
Color class, to represent a 8bit ANSI colors
instances of this class are printable, when you print them, they change the color of your terminal.
Color(r, g, b)
Slots:
- r: (
int
in0..256
): red value of the color- g: (
int
in0..256
): green value of the color- b: (
int
in0..256
): blue value of the color
Initialization:
all the ways below are valid to initialize a color:
Color(0xff00ff) Color("#ff00ff") Color("ff00ff") Color([255, 0, 255]) Color(255, 0, 255) Color(255, 0, 0xFF) Color(Color.red) Color(Color.random)
Different ways to initialize colors:
colors can be initialized in many ways:
Color(int, int, int)
Color(255, 0, 255)
Color(0x4B, 0xBB, 0xE3)
Color(*(127, 127, 127))
Color(str)
Color("#FF00FF")
Color("FF00FF")
Color("red)
Color("green")
Color(int)
Color(0x4BBEE3)
Color(16777215)
Color(Color)
red = Color.red; Color(red)
Color(Tuple[int, int, int] | List[int, int, int])
Color((100, 255, 16))
Color([100, 255, 16])
Destruction
you can destruct colors into its red, green, blue components like so:
r, g, b = Color.red assert r == 255 assert g == 0 assert b == 0 rgb = tuple(Color("FF00FF")) assert isinstance(rgb, tuple) assert rgb == (255, 0, 255)
Dunder/magic method implementations:
the color class has some dunder magic methods implemented.
__iter__
to destruct the colors.__str__
to print the colors__repr__
to represent colors for debugging purposes.__eq__
to compare 2 colors, and see if they are the same color.
FAQs
Print colors and gradients in your terminal. Official github: https://github.com/ddjerqq/rgbprint
We found that rgbprint demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.