title: Hooking every function call in Python
body: <p>I have a large codebase, which consists of thousands of functions.</p>
  
  <p>I want to enable code execution before and after every function call, when the functions starts and when it ends.</p>
  
  <p>Is there a way to do it without recompiling Python, or adding code to each function? Is there a way to hook every function call in my code?</p>