awesome-python-decorator

A curated list of awesome python decorator resources.

GitHub

730 stars
26 watching
68 forks
last commit: 4 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 688 24 days ago A decorator for caching properties in classes
cachetools 2,288 about 1 month ago This module provides various memoizing collections and decorators, including variants of the Python 3 Standard Library @lru_cache function decorator
celery 24,544 11 days ago Celery is a distributed task queue, it uses decorator to create tasks
click 15,593 about 1 month 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,575 almost 3 years ago A simplified parallel computing model for Python. DECO automatically parallelizes Python programs, and requires minimal modifications to existing serial programs
decorator 846 7 months ago This is your best option if you want to preserve the signature of decorated functions in a consistent way across Python releases
deprecated 305 3 months ago Use decorator to deprecate old python classes, functions or methods. Decorators can also be used to add Sphinx directives
fasteners 248 4 months ago Provides useful locks and decorators to lock/unlock around functions and methods
flask 67,680 about 1 month 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,562 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,012 4 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 over 5 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,274 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 5 months 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 182 almost 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,275 over 3 years ago A function decorator that rewrites the bytecode, enabling goto in python
showme 189 over 1 year 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,583 about 1 month ago Simplifies the task of adding retry behavior to just about anything. It originates from a fork of
timeout-decorator 622 9 months ago Timeout decorator for Python which uses a decorator to limit the execution time of the given function
Tomorrow 1,461 over 4 years ago Tomorrow use decorator to do the magic that let you write asynchronous code with ease
wrapt 2,041 16 days ago A Python module for decorators, wrappers and monkey patching

Backlinks from these awesome lists: