pip install termspark
print()
input()
line()
- paint
raw()
- force Width
- max width
full_width()
- separator
Termspark().line()
- RGB
- HEX
- style
- hyperlinks
- supported colors
Import Termspark's print and take advantage of all its features, colors, highlights, styles, hyperlinks and more ...
from termspark import print
print(" Termspark ", "white", "blue", "italic")
print(" [@termspark](https://github.com/faissaloux/termspark) ", "black", "white", "italic, bold")
You can choose from ["left", "center", "right"]
to specify where to print by passing it as position parameter:
print(" Termspark ", position="center")
.
You can enable the Full Width using full_width parameter:
print(" Termspark ", highlight="blue", full_width=True)
.
You can fill the empty space by a character using print(separator=)
.
from termspark import print
print(" TERMSPARK ", "white", "green", position="center", separator="_")
input with colors, highlights, styles, and hyperlinks.
With input(position=)
you can specify position where to put your input text ["left", "center", "right"]
.
With input(full_width=)
you can enable full width True | False
.
from termspark import input
name = input(" What's your name? ", "white", "blue", "italic", "center", True)
You can specify the input type by passing it to the type=
parameter.
For a calculation example, to pass the input value into a calculation you don't need to convert it to int
anymore, you just need to set it from type
argument 🥳 .
from termspark import input
birthyear = input(" Your year birth? ", "white", "blue", type=int)
print(f"Your age is: {2023 - birthyear}")
the input()
supports callback too.
If you need to pass the input value into some function before returning the result, you need to pass it into the callback=
argument.
from termspark import input
def age_calc(birthyear, currentyear=2023):
return currentyear - birthyear
age = input(" Your year birth? ", "white", "blue", type=int, callback=age_calc)
print(f"Your age is: {age}")
You can use separator in input(separator=)
too.
from termspark import input
name = input(" What's your name?", "white", "blue", position="left", separator=".")
To print empty line use line()
, you can leave it empty or fill it with a repeated character, you can specify its color too.
from termspark import line
line(".", "blue")
line(highlight="green")
line()
line("-")
from termspark import TermSpark
TermSpark().print_right('RIGHT').spark()
TermSpark().spark_right('RIGHT').spark()
TermSpark().print_left('LEFT').spark()
TermSpark().spark_left('LEFT').spark()
TermSpark().print_center('CENTER').spark()
TermSpark().spark_center('CENTER').spark()
TermSpark().line('.').spark()
TermSpark().print_left('LEFT').print_right('RIGHT').set_separator('.').spark()
TermSpark().print_left('LEFT').print_center('CENTER').print_right('RIGHT').set_separator('.').spark()
TermSpark().spark_left('LEFT').spark_center('CENTER').spark_right('RIGHT').set_separator('.').spark()
Note
Separator can contain only one character.
from termspark import TermSpark
TermSpark().print_right('RIGHT', 'blue').spark()
TermSpark().print_left('LEFT', 'light red').spark()
TermSpark().print_center('CENTER', 'light_green').spark()
from termspark import TermSpark
TermSpark().print_right('RIGHT', None, 'light_magenta').spark()
TermSpark().print_left('LEFT', 'red', 'white').spark()
TermSpark().print_center('CENTER', 'white', 'light blue').spark()
from termspark import TermSpark
TermSpark().spark_left([' * ', 'gray', 'white'], [' Info ', 'white', 'blue']).spark()
TermSpark().spark_center([' * ', 'gray', 'white'], [' Warning ', 'white', 'yellow']).spark()
TermSpark().spark_right([' * ', 'gray', 'white'], [' Error ', 'white', 'red']).spark()
You know you can use them all together 😉
from termspark import TermSpark
TermSpark().spark_left([' * ', 'gray', 'white'], [' Info ', 'white', 'blue']).spark_center([' * ', 'gray', 'white'], [' Warning ', 'white', 'yellow']).spark_right([' * ', 'gray', 'white'], [' Error ', 'white', 'red']).spark()
from termspark import TermSpark
termspark = TermSpark()
termspark.spark_left([' * ', 'gray', 'white'], [' Info ', 'white', 'blue'])
termspark.spark_center([' * ', 'gray', 'white'], [' Warning ', 'white', 'yellow'])
termspark.spark_right([' * ', 'gray', 'white'], [' Error ', 'white', 'red'])
termspark.spark()
from termspark import TermSpark
termspark = TermSpark()
termspark.spark_left([' * ', 'gray', 'white'])
termspark.spark_left(' Info ', 'white', 'blue')
termspark.spark_center([' * ', 'gray', 'white'])
termspark.spark_center([' Warning ', 'white', 'yellow'])
termspark.spark_right(' * ', 'gray', 'white')
termspark.spark_right([' Error ', 'white', 'red'])
termspark.spark()
You can print raw version which is colors-code-free so you can print clean text into files for example.
from termspark import TermSpark
raw = TermSpark().print_left('LEFT').print_right('RIGHT').set_separator('.').raw()
You can customize width instead of the default full terminal width.
from termspark import TermSpark
TermSpark().set_width(40).print_left("LEFT", "red").print_right("RIGHT", "blue").spark()
You can specify max width of content depending on position using max_[position](max_characters)
.
from termspark import TermSpark
termspark = TermSpark()
termspark.spark_left(["LEFT", "red"])
termspark.spark_right(["RIGHT", "blue"])
termspark.max_left(2)
termspark.max_right(3)
termspark.spark()
This should show only "LE" on the left, and "RIG" on the right.
Warning
max_[position]()
is only supported by sparkers.
You can enable full width by using full_width()
.
from termspark import TermSpark
termspark = TermSpark()
termspark.spark_center(['Thanks for using Termspark!', 'white', 'green'])
termspark.full_width()
termspark.spark()
Warning
full_width()
can only be used with one position.
You can add color and highlight to separator too using set_separator(content, color, highlight)
.
termspark = TermSpark()
termspark.spark_left([' Author ', 'green'])
termspark.spark_right([' Faissal Wahabali ', 'green'])
termspark.set_separator('.', 'green')
termspark.spark()
You can add highlight a line by using line(highlight=highlight)
.
termspark = TermSpark()
termspark.line(highlight='green')
termspark.spark()
from termspark import print, line
# String RGB
print(" RGB! ", color="255,255,255", highlight="36,114,200")
line(highlight="36,114,200")
# Tuple RGB
print(" Tuple RGB! ", color=(255, 255, 255), highlight=(36, 114, 200))
line(highlight=(36,114,200))
from termspark import print, line
print(" HEX! ", color="#FFF", highlight="#2472C8")
line(highlight="#2472C8")
You can style your text by passing it to print() style parameter
or to spark([]) fourth list element
.
Supported styles:
- bold
- dim
- italic
- overline
- underline
- curly underline
- dotted underline
- dashed underline
- double underline
- strike through
- blink
- reverse
- hidden
Note
You can mix styles by separating them by commas.
termspark = TermSpark()
termspark.print_center(' Termspark ', 'green', style='underline, overline, italic')
termspark.full_width()
termspark.spark()
You can insert hyperlink using Markdown [TEXT](LINK)
.
termspark = TermSpark()
termspark.spark_left([" Author ", "green"])
termspark.spark_right([" [@faissaloux](https://github.com/faissaloux) ", "green"])
termspark.set_separator(".", "green")
termspark.spark()