awesome-python-decorator
Decorator library
A curated collection of Python decorator resources and examples
A curated list of awesome python decorator resources.
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 |