From a006d2b4c8e1e7741ed40355f2b02de81271aa54 Mon Sep 17 00:00:00 2001 From: Graham Dumpleton Date: Mon, 7 Oct 2013 20:55:58 +1100 Subject: [PATCH] Update main documentation page. --- docs/index.rst | 73 +++++++++++++++++++++++++++++++----------------- docs/proxies.rst | 2 -- 2 files changed, 48 insertions(+), 27 deletions(-) delete mode 100644 docs/proxies.rst diff --git a/docs/index.rst b/docs/index.rst index 9ce51a5..4f2ba9f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,6 +10,26 @@ The aim of the **wrapt** module is to provide a transparent object proxy for Python, which can be used as the basis for the construction of function wrappers and decorator functions. +An easy to use decorator factory is provided to make it simple to create +your own decorators that will behave correctly in any situation they may +be used. + +:: + + import wrapt + + @wrapt.decorator + def pass_through(wrapped, instance, args, kwargs): + return wrapped(*args, **kwargs) + + @pass_through + def function(): + pass + +In addition to the support for creating object proxies, function wrappers +and decorators, the module also provides a post import hook mechanism and +other utilities useful in performing monkey patching of code. + The **wrapt** module focuses very much on correctness. It therefore goes way beyond existing mechanisms such as ``functools.wraps()`` to ensure that decorators preserve introspectability, signatures, type checking abilities @@ -22,32 +42,9 @@ is used for performance critical components. An automatic fallback to a pure Python implementation is also provided where a target system does not have a compiler to allow the C extension to be compiled. -Installation ------------- - -The **wrapt** module is available from PyPi and can be installed using -``pip``. - - pip install wrapt - -Repository ----------- - -Full source code for the **wrapt** module, including documentation files -and unit tests, can be obtained from github. - -* https://github.com/GrahamDumpleton/wrapt - -Presentations +Documentation ------------- -Conference presentations related to the **wrapt** module: - -* http://lanyrd.com/2013/kiwipycon/scpkbk - -Contents --------- - .. toctree:: :maxdepth: 1 @@ -60,4 +57,30 @@ Contents changes issues -.. proxies +Presentations +------------- + +Conference presentations related to the **wrapt** module: + +* http://lanyrd.com/2013/kiwipycon/scpkbk + +Installation +------------ + +The **wrapt** module is available from PyPi at: + +* https://pypi.python.org/pypi/wrapt + +and can be installed using ``pip``. + +:: + + pip install wrapt + +Source Code +----------- + +Full source code for the **wrapt** module, including documentation files +and unit tests, can be obtained from github. + +* https://github.com/GrahamDumpleton/wrapt diff --git a/docs/proxies.rst b/docs/proxies.rst deleted file mode 100644 index a4af7d8..0000000 --- a/docs/proxies.rst +++ /dev/null @@ -1,2 +0,0 @@ -Proxies -=======