Tools for terminal-based await animations
Tools for terminal-based wait animations
git clone http://github.com/bprinty/animation.git cd animation python setup.py install
Documentation for the package can be found at Read The Docs.
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):
The animation types provided by default are:
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()
File an issue in the GitHub issue tracker.