Metadata-Version: 2.1
Name: undecorate
Version: 0.2.1
Summary: Let your decorations be undone
Home-page: https://github.com/ryanhiebert/undecorate
Author: Ryan Hiebert
Author-email: ryan@ryanhiebert.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
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 :: Implementation :: PyPy
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Intended Audience :: Developers
License-File: LICENSE

undecorate
==========

Let your decorations be undone

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

.. code-block:: sh

    $ pip install undecorate

Usage
-----

.. code-block:: pycon

    >>> from undecorate import unwrap, unwrappable
    >>>
    >>> @unwrappable
    ... def pack(func):
    ...     def wrapper(args, kwargs):
    ...        return func(*args, **kwargs)
    ...     return wrapper
    ...
    >>> @pack
    ... def myfunc(a, b=None, c=None):
    ...     return (a, b, c)
    ...
    >>> myfunc('a', b='b')
    Traceback (most recent call last):
        ...
    TypeError: wrapper() got an unexpected keyword argument 'b'
    >>>
    >>> unwrap(myfunc)('a', b='b')
    ('a', 'b', None)


0.2.1 (2014-09-29)
++++++++++++++++++

* Fix bug in ``create_class_wrapper`` and ``class_wraps`` that caused them to
  always throw an error when used.
* Remove ``CLASS_WRAPPER_DELETES``, and corresponding ``deleted`` arguments on
  ``create_class_wrapper`` and ``class_wraps``.


0.2 (2014-09-29)
++++++++++++++++

* Add ``create_class_wrapper`` and ``class_wraps``.
* Internally use ``__wrapped__`` to match Python 3.2+.
* Add backport versions of functools ``wraps`` and ``update_wrapper``.
  They wrap the stdlib versions, and ensure that ``__wrapped__`` is set.


0.1 (2014-09-04)
++++++++++++++++

* Initial Release
* ``unwrappable`` and ``unwrap`` functions


