Skip to content

soda480/ascii-animator

Repository files navigation

ascii-animator

build+test complexity vulnerabilities PyPI version python

A simple ASCII text animator.

The ascii-art-animator CLI will take as input a GIF image, extract all the frames from it, convert each frame to ASCII art using ascii-magic, then display each frame to the terminal using list2term.

Installation

pip install ascii_animator

Usage

usage: ascii-art-animator [-h] [-s SPEED] [-f FILE] [-d] [-a] [-m MAX_LOOPS] [-c COLUMNS]

Ascii Art Animator from GIF

optional arguments:
  -h, --help            show this help message and exit
  -s SPEED, --speed SPEED
                        speed of the animation: very_slow, slow, normal, fast (default normal)
  -f FILE, --file FILE  the path to a gif file
  -d, --debug           display debug messages to stdout
  -a, --show_axis       display the grid axis
  -m MAX_LOOPS, --max_loops MAX_LOOPS
                        maximum number of loops, set to 0 to loop through image until keyboard interrupt (default 1)
  -c COLUMNS, --columns COLUMNS
                        the number of characters per row (default 150)

Examples

ASCII Art Animator

Use ascii-art-animator to convert the following GIF image to an ascii animation and demonstrate the use of the optional arguments.

  • show x and y axis
  • loop through the image 3 times
  • set columns to 100 characters
ascii-art-animator -f docs/images/marcovich.gif -a -m 3 -c 100

input

example

output

example

Animation class

Use the Animation class to create your own animations.

A binary search is a search algorithm that finds a specific value in a sorted array by repeatedly dividing the search interval in half.

example

A selection sort search is a simple and efficient sorting algorithm that works by repeatedly selecting the smallest (or largest) element from the unsorted portion of the list and moving it to the sorted portion of the list.

example

Here is another example of a selection sort animation this time using vertical bars.

example

An animation for symmetrical equalizer bars.

example

A Matrix animation.

example

A Conway Game-Of-Life implementation that uses ascii_animator to display the game to the terminal.

Development

Clone the repository and ensure the latest version of Docker is installed on your development server.

Build the Docker image:

docker image build \
-t ascii-animator:latest .

Run the Docker container:

docker container run \
--rm \
-it \
-v $PWD:/code \
ascii-animator:latest \
bash

Execute the build:

pyb -X