Skip to main content

String manipulation.

Project description

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.

General Functions

  • Arcade.erase() # Clears Terminal
  • Arcade("text here", "color here").clearline() # Clears current line of animation.

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


# The 'flow=' parameter controls the animation speed. default value is .1
animation = Arcade('charcade charcade', 'orange40', flow=.08)

# To create an animation sequence simply do this.
animation.write()
animation.casewave()
animation.casewave('left')
animation.slide()
animation.slide('right')
animation.casewave()
animation.casewave('left')

# 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 26 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:


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
  • Autocorrect
  • Word mixing to create new words
  • Show definitions of words
  • Color blending functionality

Changelog

Version 1.0.3

04/28/2022

  • Optimization fixes.
  • Color scales added for every major color.
  • Color chart function to show all available colors.
    from charcade import colorchart
    colorchart()
    
  • Added 4 new animation types.
  • glitch() Glitches out text.
  • shadeglitch() Glitches out texts with different shades of color
  • writeglitch() Glitches out text while writing it out
  • flicker() Flickers text like a neon sign
  • Added clearline function for animation sequences.
  • Added color palette function.
  • Returns color palettes as lists to use in your CLI apps. STILL IN PROGRESS

Version 1.0.2

01/25/2022

  • Minor bug fixes

Version 1.0.1

01/25/2022

  • Minor bug fixes

Version 1.0.0

01/25/2022

  • First release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

charcade-1.0.3.tar.gz (2.3 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page