pip install charcade
charcade is a string manipulation library that can animate, color, and bruteforce strings.
- Animating text for CLI applications with easy to use syntax.
- Coloring text with easy to use syntax.
- Bruteforce strings showing all possible outcomes, or real words that are hidden within.
This class is for animating text.
Helper Functions
- Arcade.erase()
Clears your terminal
- clearline()
Clears current animation line. For use if you want different things typed out on the same line.
There are currently 9 animation types.
- write()
Writes your string out like a typewriter.
- casewave()
Sends a casewave across your string.
- slide()
Slides your string like a billboard.
- shuffle()
Randomly shuffles your string.
- load()
Creates an in-place animation. Accepts lists and strings.
- flicker()
Flickers your string like a neon sign.
- glitch()
Glitches your string out.
- shadeglitch()
Glitches your string out with flashing shades of the color in your Arcade object
- writeglitch()
Glitches out strings as they're typed out in the terminal
Lets look at an example of some code.
from charcade import Arcade
# This will clear your terminal for cleaner looking applications.
Arcade.erase()
about_charcade = [
'> charcade is a library',
'> for string manipulation',
'> and CLI styling in python'
]
colors = ['pink', 'orange', 'yellow']
# The 'flow=' parameter controls the animation speed. default value is .1
for line in about_charcade:
animation = Arcade(line, colors[about_charcade.index(line)], flow=.09)
# To create an animation sequence simply do this.
animation.writeglitch()
animation.shadeglitch(cycles=5)
# Without stamp() your animation will stack ontop of itself
# It is recommended to use this at the end of every animation sequence
animation.stamp()
This class is for brute-forcing strings
There are 4 ways to brute-force your strings.
- bulk()
Returns a list of all possible combinations of your string.
- halfbulk()
Returns a list of all possible combinations of your string that are the same length.
- genuine()
Returns a list of all possible combinations of your string that are real words.
- bigfoot()
Returns a list of all possible combinations of your string that are real words and the same length as your string.
Lets look at an example of some code.
from charcade import Brute
words = Brute('ports').bigfoot()
# Since Brute returns a list we're going to iterate over it and print each element.
for word in words:
print(word)
Output:
ports
prost
sport
sprot
strop
This method is for coloring strings
There are currently 80 colors to choose from although you are not limited to just the available colors.
This method also accepts RGB values in place of the color for the fg color and bg color.
*All colors here are also available in Arcade*
Lets look at an example of some code.
from charcade import color
my_string = 'charcade'
print(color(my_string, fg='red', bg='black'))
# OR
print(color(my_string, fg='255,0,0', bg='0,0,0'))
# Both will output the same thing since RGB values are accepted as colors.
Available colors:
you can display the color chart by doing the following.
from charcade import colorchart
colorchart()
white, gray10, gray20, gray30, gray40, gray50,
gray60, gray70, gray80, gray90, black
red10, red20, red30, red40, red50,
red60, red70, red80, red90, red
orange10, orange20, orange30, orange40, orange50,
orange60, orange70, orange80, orange90, orange
yellow10, yellow20, yellow30, yellow40, yellow50,
yellow60, yellow70, yellow80, yellow90, yellow
green10, green20, green30, green40, green50,
green60, green70, green80, green90, green
blue10, blue20, blue30, blue40, blue50,
blue60, blue70, blue80, blue90, blue
purple10, purple20, purple30, purple40, purple50,
purple60, purple70, purple80, purple90, purple
pink10, pink20, pink30, pink40, pink50,
pink60, pink70, pink80, pink90, pink
- Add more animation styles
- Add custom tailored color palettes for your apps
- Word mixing to create new words
- Show definitions of words
- Color blending functionality