- TODO functools
- @cache
- @cached_property
- @lru_cache
- @total_ordering
- @singledispatch
- @wraps
- TODO dataclasses
- TODO https://docs.python.org/3/library/contextlib.html#contextlib.contextmanager
- TODO https://docs.python.org/3/library/abc.html#abc.abstractmethod
- TODO https://docs.python.org/3/library/enum.html#enum.unique
- TODO https://docs.python.org/3/library/atexit.html#atexit.register
- Flask uses them to mark and configure the routes.
- Pytest uses them to add marks to the tests.
- Logging calls with parameters.
- Logging elapsed time of calls.
- Access control in Django or other web frameworks. (e.g. login required)
- Memoization (caching)
- Retry
- Function timeout
- Locking for thread safety
- Decorator Library