I have the following scenario:

```
# module_1.py

import compiled_c_module as cm

cm.function_1 = decorate(cm.function_1) # decorate is just a decorator function

```

Then in main (or another encompassing module) I have the following:

```
import compiled_c_module as main_cm

main_cm.function_1() # Has the expected default effect of function_1

import module_1

main_cm.function_1() # Has the effect of the decorated version of function_1

```

I would like the decorated version of the function to only apply within the scope of module\_1.

I realize that an obvious solution to get around this would be to simply assign the decorated version of the function to a variable that is local to the scope of the module (e.g. "my\_decorated\_func" within module\_1), but I specifically would like to be able to call the decorated version of the function "as usual" after it has been decorated within the module while maintaining its default state elsewhere.