Metadata-Version: 2.0
Name: decorating
Version: 0.5
Summary: A useful collection of decorators (focused in animation)
Home-page: https://github.com/ryukinix/decorating
Author: Manoel Vilela
Author-email: manoel_vilela@engineer.com
License: MIT
Download-URL: https://github.com/ryukinix/decorating/archive/v0.5.tar.gz
Keywords: decorating animation decorators decorator
Platform: unix
Classifier: Environment :: Console
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Utilities
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Provides-Extra: Requires-Dist
Requires-Dist: pypandoc; extra == 'Requires-Dist'

Decorating: A Meta Repo To Decorators
=====================================

|Build Status| |codecov| |Requirements Status| |PyPi version| |PyPI
pyversions| |PyPI status| |HitCount|

Abstract
========

This project was encouraging a explore the limits of decorators powers
in Python, whose, however is not so knew for everyone (mainly the
beginners), is a extremely useful feature of the language similar, whose
can be similar of Lisp Macros, but without change the AST. The famous
examples is the ``@animated`` and ``@writing`` decorator. BTW, because
is fun too. All the repository is made from scratch, just using the
Python ``stdlib``, no `dependency <requirements.txt>`__!

Installation
------------

**INFO**: we need some people to do support for Python2, only Python3
for now. Check #3

**stable: last release**: ``sudo pip install decorating``

**bleeding-edge**:
``sudo pip install git+https://www.github.com/ryukinix/decorating``

Usage
=====

Public decorators on the API of decorators ``decorating``:

-  **debug**
-  **cache**
-  **counter**
-  **count\_time**
-  **animated**
-  **writing**

Examples
========

Animated
--------

*Using as decorator and mixed with context-managers* |animation|

Well

*Using with nested context-managers* |context-manager|

Writing
-------

Another project mine called `MAL <http://www.github.com/ryukinix/mal>`__
whose is a basic command line interface for MyAnimeList, I recently test
the features of @writing only adding 3 lines on my code! Check the
awesome effect:

|asciicast|

Developers
^^^^^^^^^^

.. code:: bash

    sudo git clone https://www.github.com/ryukinix/decorating
    cd decorating
    sudo make develop

The develop mode creates a .egg-info (egg-link) as symlink with your
standard ``site-packages``/``dist-packages`` directory. Don't be worry
with the ``decorating.egg-info``, is only information for the package
egg to link with your ``PYTHONPATH``. For that, the usage is dynamic,
you can modify the code in test on the command line always using
absolute imports in anywhere (like the first example)

Contributing
~~~~~~~~~~~~

Avoid I blame you. You maybe don't will like that. I'm not Linus, but I
can really do heavy critiques sometimes.[/lain ]. Although I'm joking,
keep your life more easy, so setup the ``pre-commit`` after clone!

In the root of git repository, do that commands:

::

    sudo pip install pre-commit pylint nose2
    pre-commit install

If you don't know about pre-commit, check
`pre-commit <http://pre-commit.com>`__ website.

Now you can create a new branch ``git checkout -b feature`` based on the
``master`` (or other you wants improves, like ``dev``) and send a
pull-request for me!

If you just wants know something, I give a suggestion, create a new
issue! I'll happy with it.

License
-------

|PyPi License|

MIT

Because good things need be free.

.. |Build Status| image:: https://travis-ci.org/ryukinix/decorating.svg?branch=master
   :target: https://travis-ci.org/ryukinix/decorating
.. |codecov| image:: https://codecov.io/gh/ryukinix/decorating/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/ryukinix/decorating
.. |Requirements Status| image:: https://requires.io/github/ryukinix/decorating/requirements.svg?branch=master
   :target: https://requires.io/github/ryukinix/decorating/requirements/?branch=master
.. |PyPi version| image:: https://img.shields.io/pypi/v/decorating.svg
   :target: https://pypi.python.org/pypi/decorating/
.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/decorating.svg
   :target: https://pypi.python.org/pypi/decorating/
.. |PyPI status| image:: https://img.shields.io/pypi/status/decorating.svg
   :target: https://pypi.python.org/pypi/decorating/
.. |HitCount| image:: https://hitt.herokuapp.com/ryukinix/decorating.svg
   :target: https://github.com/ryukinix/decorating
.. |animation| image:: https://i.imgur.com/hjkNvEE.gif
.. |context-manager| image:: https://i.imgur.com/EeVnDyy.gif
.. |asciicast| image:: https://asciinema.org/a/ctt1rozymvsqmeipc1zrqhsxb.png
   :target: https://asciinema.org/a/ctt1rozymvsqmeipc1zrqhsxb
.. |PyPi License| image:: https://img.shields.io/pypi/l/decorating.svg
   :target: https://pypi.python.org/pypi/decorating/


