Skip to content

fishxsea/charcade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

charcade

pip install charcade

charcade is a string manipulation library that can animate, color, and bruteforce strings.

Features

  • 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.

Usage

Arcade class


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()


Brute class


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

color method

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()

Imgur

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

Roadmap

  • 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

About

Python library for string manipulation.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages