MaxGradient automates printing gradient colored text to the console. It's built upon the great rich library. It contains two new Rich Renderables that can be printed by a rich.console.Console object:
Gradient - A Rich Renderable that prints Text with a gradient of colors to the console.
GradientRule - A Rich Renderable that prints a horizontal rule to the console in gradient color.
MaxGradient also expands the rich.color.Color class to include generating colors from CSS3 named colors, as well as 3 digit hex color codes.
MaxGradient is a work in progress. It is currently in version 0.3.1. It is not yet feature complete, but it is usable. I am currently working on adding more features and improving the code. If you have any suggestions, please feel free to open an issue on GitHub.
Installation
MaxGradient can be installed from PyPi using your favorite python package manager:
PDM (Recommended)
pdm add maxgradient
PIP
pip install maxgradient
Usage
Quick Start
The basic usage of MaxGradient is as a RichRenderable. Like any other RichRenderable, it can be printed to the console using the print() method of a rich.console.Console() object.
Example
#importsfrom rich.console import Console
from maxgradient import Gradient
console = Console() # Initialize a console
console.print(
Gradient("Hello, World!", justify="center") # Print a gradient
)
Gradient with Color
MaxGradient easily make random gradients that require no more than the text you wish to color, it can also be used to make gradients with specific colors. The gradient() method takes a string of text as well as a list of colors. The number of colors in the list determines the number of colors in the gradient. The gradient will be evenly distributed between the colors in the list. The gradient will be applied to the text in the order it is given in the list.
hex color codes (3-digit -> #f0f, 6-digit -> #ff00ff)
rgb color codes
CSS3 named colors
as well as any colors from rich's standard library.
Let's take a look at some examples:
Example 1
from rich.conosle import Console
from maxgradient import Gradient
console = Console()
console.print(
Gradient(
"This gradient contains the colors: magenta, violet, and purple.",
colors = [
"magenta",
"violet",
"purple"
]
)
)
Example 2
You are not just stuck with ROY G BIV colors, you can use any colors you want. Let's make a gradient with the colors: magenta, violet, purple, dodgerblue, deepskyblue, lightskyblue, and cyan.
console.print(
Gradient(
"This gradient contains the colors: magenta, violet, purple, blue, dodgerblue, and cyan.",
colors = [
"rgb(255,0,255)", # rgb | magenta"violet", # named (#af00ff)"#5f00ff", # hex | purple"blue", # another named"rgb(0,85,255)", # rgb | dodWilWgerblue"cyan"# and another
]
)
)
Gradient Rule
MaxGradient also includes a GradientRule. The GradientRule is a Rich Renderable that prints a horizontal rule to the console in gradient color. It can be used to separate sections of text in a gradient colored console output.
The GradientRule is currently initialized with random colors and does not at the momement allow for custimization of these colors.
It does however allow the user to specify the thickness of the rule. The thickness is specified by the thickness keyword argument. The thickeness can be specified as the 'thin', 'medium', or 'thick'. The default thickness is 'medium'.
MaxGradient automates the printing gradient colored text to the console.
We found that maxgradient 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.
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.
Socket researchers found a malicious Maven package impersonating the legitimate ‘XZ for Java’ library, introducing a backdoor for remote code execution.