docs: def _get_backtrace(self, frames, inspect_packages=False, depth=0):
          '''
          get a nicely formatted backtrace
  
          since -- 7-6-12
  
          frames -- list -- the frame_tuple frames to format
          inpsect_packages -- boolean -- by default, this only prints code of packages that are not 
              in the pythonN directories, that cuts out a lot of the noise, set this to True if you
              want a full stacktrace
          depth -- integer -- how deep you want the stack trace to print (ie, if you only care about
              the last three calls, pass in depth=3 so you only get the last 3 rows of the stack)
  
          return -- list -- each line will be a nicely formatted entry of the backtrace
          '''
          calls = []
          #count = 1
  
          #for count, f in enumerate(frames[1:], 1):
          for count, f in enumerate(frames, 1):
              #prev_f = frames[i]
              #called_module = inspect.getmodule(prev_f[0]).__name__
              #called_func = prev_f[3]
  
              call = self.call_class(f)
              s = self._get_call_summary(call, inspect_packages=inspect_packages, index=count)
              calls.append(s)
              #count += 1
  
              if depth and (count > depth):
                  break
  
          # reverse the order on return so most recent is on the bottom
          return calls[::-1]