Prior posts on the topic of decorators and monkey patching are as follows.

This batch of posts deals with Python decorators, how the simple pattern most people use isn't correct and how to implement a better decorator.

This batch of posts deals with issues around the more general problem of monkey patching Python code.