As of now, writing custom decorators correctly requires some
experience and it is not as easy as it could be. For instance, typical
implementations of decorators involve nested functions, and we all
know that flat is better than nested. Moreover, typical
implementations of decorators do not preserve the signature of
decorated functions, thus confusing both documentation tools and
developers.
The aim of the decorator module it to simplify the usage of decorators
for the average programmer, and to popularize decorators usage giving
examples of useful decorators, such as memoize, tracing,
redirecting_stdout, locked, etc.
WWW: https://pypi.python.org/pypi/decorator

- Make Python 2.5.1 the default Python version
- Add significantly better support in bsd.python.mk for working with
Python Eggs and the easy_install system
Tested by: pointyhat runs
Approved by: pav (portmgr)
Most work by: perky
Thanks to: pav

As of now, writing custom decorators correctly requires some
experience and it is not as easy as it could be. For instance, typical
implementations of decorators involve nested functions, and we all
know that flat is better than nested. Moreover, typical
implementations of decorators do not preserve the signature of
decorated functions, thus confusing both documentation tools and
developers.
The aim of the decorator module it to simplify the usage of decorators
for the average programmer, and to popularize decorators usage giving
examples of useful decorators, such as memoize, tracing,
redirecting_stdout, locked, etc.
WWW: http://www.phyast.pitt.edu/~micheles/python/documentation.html
PR: ports/113968
Submitted by: Denis Shaposhnikov <dsh at vlink.ru>