title: Get locals from calling namespace in Python
body: <p>I want to retrieve the local variables from Python from a called function. Is there any way to do this? I realize this isn't right for most programming, but I am basically building a debugger. For example:</p>
  
  <pre><code>def show_locals():
    # put something in here that shows local_1.
  
  local_1 = 123
  show_locals()  # I want this to show local_1.
  </code></pre>
  
  <p>What do I put in the body of <code>show_locals</code>? If I have to modify the calling statement, what is the minimal modification I can make?</p>
  
  <p><strong>Note:</strong> this must work when <code>show_locals</code> is in a different module to its caller.</p>