Python with easy ASCII animations while waiting unpredictable runtimes
GitHub - ryukinix/decorating: decorating: Literally decorating your terminal with decorators
Decorating: A Meta Repo To Decorators







Abstract
This project encourages an exploration into the limits of decorators
in Python. While decorators might by new to beginners, they are an
extremely useful feature of the language. They can be similar to Lisp
Macros, but without changes to the AST. Great decorators from this
packages are @animated and @writing. This repository is made from
scratch, just using Python's Standard Library, no dependency!
Examples
Animated
Using as decorator and mixed with context-managers

Using with nested context-managers

Writing
Another project mine called MAL uses the decorating package —-
basically a command line interface for MyAnimeList. The decorator
@writing can be used by just adding 3 lines of code! The behavior is a
retro typing-like computer. Check out the awesome effect:

More examples are covered on my personal blog post about decorating.
Decorators & Usage
Currently public decorators on the API of decorators decorating:

decorating.debug
decorating.cache
decorating.counter
decorating.count_time
decorating.animated
decorating.writing

Mostly decorators has a pretty consistent usage, but for now only animated
and writing has support to use as contextmanagers using the with syntax.
Installation
Supported Python versions:

Python3.4+
Python2.7

You can install the last release on PyPI by calling:
pip install --user decorating
If you want get the last development version install directly by the git
repository:
pip install --user git+https://www.github.com/ryukinix/decorating
We have a published package on Arch Linux,which you can install
using your favorite AUR Helper, like pacaur or yaourt:
yaourt -S python-decorating
Though since the version 0.6 we have support for Python2.7, an AUR
package for Python2 was not made yet. Fill a issue if you have
interest on that :). Thanks to Maxim Kuznetsov
which implemented the necessary changes to make compatible with Python2!
License

MIT
Because good things need to be free.
