Here is a list of information you can refer to:
- PEP-318: Decorators for Functions and Methods (https://www.python.org/dev/peps/pep-0318/)
- PEP-3129: Class Decorators (https://www.python.org/dev/peps/pep-3129/)
- WRAPT 01: https://pypi.org/project/wrapt/
- WRAPT 02: https://wrapt.readthedocs.io/en/latest/decorators.html#universal-decorators
- The Functools module: The wraps function in the functools module of Python's standard library (https://docs.python.org/3/library/functools.html#functools.wrap)
- ATTRS 01: The attrs library (https://pypi.org/project/attrs/)
- PEP-557: Data Classes (https://www.python.org/dev/peps/pep-0557/)
- GLASS 01: The book written by Robert L. Glass named Facts and Fallacies of Software Engineering