Skip to main content

Decorators for terminal-based wait animations.

Project description

Tools for terminal-based wait animations

Installation

git clone http://github.com/bprinty/animation.git
cd animation
python setup.py install

Documentation

Documentation for the package can be found at Read The Docs.

Usage

The animation module provides decorators for doing terminal-based wait animations. To add a wait animation to a function that requires some processing time, simply decorate the function with the wait animation you want to use.

Here is an example of how to use it in a project:

import animation
import time

@animation.simple_wait
def long_running_function():
    ... 5 seconds later ...
    return

This will print an animated waiting message like this (the elipses at the end of the text grow and shrink while the function executes):

waiting ...

The animation types provided by default are:

  • bar (simple bar that slides back and forth)

  • spinner (a spinning line)

  • dots (dots that move around in a sqare)

  • elipses (elipses that grow and shrink)

  • text with elipses (elipses with text in front of them)

And you can use any of these built-in animations like so:

import animation
import time

@animation.wait('bar')
def long_running_function():
    ... 5 seconds later ...
    return

@animation.wait('spinner')
def long_running_function():
    ... 5 seconds later ...
    return

In addition to these default types, the module also supports custom animations. For example, to create an animation with a counter-clockwise spinning wheel:

wheel = ('-', '/', '|', '\\')
@animation.wait(wheel)
def long_running_function():
    ... 5 seconds later ...
    return

If you want to manually start and stop the wait animation, you can use the `animation.Wait` class:

wait = animation.Wait()
wait.start()
long_running_function()
wait.stop()

Finally, you can change the color of animations with the `color=` argument:

import animation

@animation.wait('bar', color='blue')
def long_running_function():
    ... 5 seconds later ...
    return

Questions/Feedback

File an issue in the GitHub issue tracker.

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

animation-0.0.7.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

animation-0.0.7-py2.py3-none-any.whl (5.3 kB view hashes)

Uploaded Python 2 Python 3

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