Skip to main content

Function decorators that cause a command line animation to be run for the duration of the function.

Project description

Docs

Build Status Code Coverage Documentation Status PyPi Version Supported Python Versions

Overview

This package contains decorators for printing a command line animation while the decorated function runs. It is very similar to the decorating package, which currently has way more features and probably serves you better then clanim. I wanted to create clanim anyway as a means of practicing with decorators and command line animations. It doesn’t seem like decorating currently supports async functions, so that’s the one area where clanim potentially is superior at this time.

Requirements

Python 3.6 or higher and the daiquiri package (used for development and will probably be removed in a final release).

Quickstart

The API for clanim consists of the @animate decorator, as well as the animations in clanim.animation. All of these are package level imports, so e.g. the @animate decorator can be accessed like this:

# option 1
import clanim

@clanim.animate
def func():
    time.sleep(2)

# option 2
from clanim import animate

@animate
def func():
    time.sleep(2)

The animate decorator works both with and without parameters, and supports both regular functions:

animate decorator with regular functions

and async functions:

animate decorator with async functions

Install

Option 1: Install from PyPi with pip

The latest release of clanim is on PyPi, and can thus be installed as usual with pip. I strongly discourage system-wide pip installs (i.e. sudo pip install <package>), as this may land you with incompatible packages in a very short amount of time. A per-user install can be done like this:

  1. Execute pip install --user clanim to install the package.

  2. Further steps to be added …

Option 2: Clone the repo and the install with pip

If you want the dev version, you will need to clone the repo, as only release versions are uploaded to PyPi. Unless you are planning to work on this yourself, I suggest going with the release version.

  1. Clone the repo with git:
    • git clone https://github.com/slarse/clanim

  2. cd into the project root directory and install with pip.
    • pip install --user ., this will create a local install for the current user.

    • Or just pip install . if you use virtualenv.

    • For development, use pip install -e . in a virtualenv.

  3. Further steps to be added …

License

This software is licensed under the MIT License. See the license file file for specifics.

Contributing

I will happily take contributions, especially in terms of new animations. Submit a pull request if you have an idea, and let me approve the idea before you start working on something I would not like in the project!

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

clanim-0.1.2.tar.gz (6.6 kB 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