awesome-python-decorator

Decorator library

A curated collection of Python decorator resources and examples

A curated list of awesome python decorator resources.

GitHub

736 stars
26 watching
68 forks
last commit: 5 months ago
Linked from 1 awesome list


Awesome Python Decorator / You don't know decorator

PEP 0318 -- Decorators for Functions and Methods
PEP 3129 -- Class Decorators
Python Wiki - PythonDecorators This page largely documents the history of the process of adding decorators to Python
Python Wiki - PythonDecoratorLibrary This page is meant to be a central repository of decorator code pieces. Lots of decorator examples, really cool!

Awesome Python Decorator / Built-in python decorator

@abc.abstractmethod A decorator indicating abstract methods
@abc.abstractproperty A subclass of the built-in , indicating an abstract property
@asyncio.coroutine Decorator to mark generator-based coroutines. New in version 3.4
@atexit.register Register func as a function to be executed at termination
@classmethod Return a class method for function
@contextlib.contextmanager Define a factory function for with statement context managers, without needing to create a class or separate and methods
@functools.cached_property Transform a method of a class into a property whose value is computed once and then cached as a normal attribute for the life of the instance
@functools.lru_cache Decorator to wrap a function with a memoizing callable that saves up to the maxsize most recent calls. It can save time when an expensive or I/O bound function is periodically called with the same arguments. New in python 3.2
@functools.singledispatch Transforms a function into a single-dispatch generic function. New in python 3.4
@functools.total_ordering Given a class defining one or more rich comparison ordering methods, this class decorator supplies the rest
@functools.wraps This is a convenience function for invoking update_wrapper() as a function decorator when defining a wrapper function
@property Return a property attribute
@staticmethod Return a static method for function
@types.coroutine This function transforms a generator function into a coroutine function which returns a generator-based coroutine. New in python 3.5
@unittest.mock.patch Acts as a function decorator, class decorator or a context manager. Inside the body of the function or with statement, the target is patched with a new object. When the function/with statement exits the patch is undone. New in python 3.3
@unittest.mock.patch.dict Patch a dictionary, or dictionary like object, and restore the dictionary to its original state after the test. New in python 3.3
@unittest.mock.patch.multiple Perform multiple patches in a single call. New in python 3.3
@unittest.mock.patch.object Patch the named member (attribute) on an object (target) with a mock object. New in python 3.3

Awesome Python Decorator / Python decorator in the wild

cached-property 701 5 days ago A decorator for caching properties in classes
cachetools 2,344 about 2 months ago This module provides various memoizing collections and decorators, including variants of the Python 3 Standard Library @lru_cache function decorator
celery 24,882 6 days ago Celery is a distributed task queue, it uses decorator to create tasks
click 15,780 12 days ago Click is a Python package for creating beautiful command line interfaces, based on declaring commands through decorators. You can also check out the library which shares a similar idea with click
deco 1,574 about 3 years ago A simplified parallel computing model for Python. DECO automatically parallelizes Python programs, and requires minimal modifications to existing serial programs
decorator 851 about 1 month ago This is your best option if you want to preserve the signature of decorated functions in a consistent way across Python releases
deprecated 308 6 days ago Use decorator to deprecate old python classes, functions or methods. Decorators can also be used to add Sphinx directives
fasteners 251 6 months ago Provides useful locks and decorators to lock/unlock around functions and methods
flask 68,094 8 days ago Flask is a micro web framework in python, which uses decorators to route the URL, register error handler, register processor and so on
flask-login 3,585 20 days ago Flask-Login provides user session management for Flask. For example, it use the decorator to protect some views that need the user to be logged in
GB2260.py 126 over 4 years ago This project is used to look up Chinese administrative divisions. It uses decorators to write Python 2.x and 3.x compatible code
marshmallow 7,047 17 days ago A lightweight library for converting complex objects to and from simple Python datatypes. It use decorators to register schema pre-processing and post-processing methods
me-api 15 almost 6 years ago An extensible, personal API with custom integrations. It uses a decorator to make sure there is an access_token in the configuration file before sending the API request and reject another authentication if there is already an access_token
numba Numba gives you the power to speed up your applications with high performance functions written directly in Python. It uses to decorate array-oriented and math-heavy Python code can be just-in-time compiled to native machine instructions, similar in performance to C, C++ and Fortran, without having to switch languages or Python interpreters
lettuce 1,272 almost 4 years ago Lettuce is a BDD tool for python. It uses and to decorate functions and classes so they become new step definitions
profilehooks 329 about 1 month ago Python decorators for profiling/tracing/timing a single function
pypi-cli 168 almost 9 years ago pypi-cli is a command-line interface to the Python Package Index. It use decorator to makes a property lazy-evaluated
py-spin 183 about 2 years ago py-spin is a terminal spinner package for python. Yes, it does use a decorator to register a function that needs to take a long time to finish, as well as showing a spinner while it's processing!
python-goto 1,279 over 3 years ago A function decorator that rewrites the bytecode, enabling goto in python
showme 189 almost 2 years ago ShowMe is a simple set of extremely useful function decorators for Python. It allows you to view trace information, execution time, cputime, and function documentation
tenacity 6,753 20 days ago Simplifies the task of adding retry behavior to just about anything. It originates from a fork of
timeout-decorator 628 10 months ago Timeout decorator for Python which uses a decorator to limit the execution time of the given function
Tomorrow 1,461 almost 5 years ago Tomorrow use decorator to do the magic that let you write asynchronous code with ease
wrapt 2,060 about 1 month ago A Python module for decorators, wrappers and monkey patching

Backlinks from these awesome lists:

More related projects: