class_docstr: Object to hold scope, with a few bells to deal with some custom syntax
  and contexts added by pandas.
  
  Parameters
  ----------
  level : int
  global_dict : dict or None, optional, default None
  local_dict : dict or Scope or None, optional, default None
  resolvers : list-like or None, optional, default None
  target : object
  
  Attributes
  ----------
  level : int
  scope : DeepChainMap
  target : object
  temps : dict
class_docstr_tok: ["Object","to","hold","scope",",","with","a","few","bells","to","deal","with","some","custom","syntax","and","contexts","added","by","pandas",".","Parameters","--","--","--","--","--","level",":","int","global_dict",":","dict","or","None",",","optional",",","default","None","local_dict",":","dict","or","Scope","or","None",",","optional",",","default","None","resolvers",":","list-like","or","None",",","optional",",","default","None","target",":","object","Attributes","--","--","--","--","--","level",":","int","scope",":","DeepChainMap","target",":","object","temps",":","dict"]
docstr: Resolve a variable name in a possibly local context.
  
  Parameters
  ----------
  key : str
      A variable name
  is_local : bool
      Flag indicating whether the variable is local or not (prefixed with
      the '@' symbol)
  
  Returns
  -------
  value : object
      The value of a particular variable
docstr_tok: ["Resolve","a","variable","name","in","a","possibly","local","context",".","Parameters","--","--","--","--","--","key",":","str","A","variable","name","is_local",":","bool","Flag","indicating","whether","the","variable","is","local","or","not","(","prefixed","with","the","'","@","'","symbol",")","Returns","--","--","--","-","value",":","object","The","value","of","a","particular","variable"]
code: def resolve(self, key: str, is_local: bool):
      """
      Resolve a variable name in a possibly local context.
  
      Parameters
      ----------
      key : str
          A variable name
      is_local : bool
          Flag indicating whether the variable is local or not (prefixed with
          the '@' symbol)
  
      Returns
      -------
      value : object
          The value of a particular variable
      """
      try:
          # only look for locals in outer scope
          if is_local:
              return self.scope[key]
  
          # not a local variable so check in resolvers if we have them
          if self.has_resolvers:
              return self.resolvers[key]
  
          # if we're here that means that we have no locals and we also have
          # no resolvers
          assert not is_local and not self.has_resolvers
          return self.scope[key]
      except KeyError:
          try:
              # last ditch effort we look in temporaries
              # these are created when parsing indexing expressions
              # e.g., df[df > 0]
              return self.temps[key]
          except KeyError as err:
              raise UndefinedVariableError(key, is_local) from err
  
imports: from __future__ import annotations
  import datetime
  import inspect
  from io import StringIO
  import itertools
  import pprint
  import struct
  import sys
  from typing import ChainMap, TypeVar
  import numpy
  from pandas._libs.tslibs import Timestamp
  from pandas.errors import UndefinedVariableError
label_desc: Use image node_id 4 for calling the Scope obj's underlying member method code with example usage: obj.resolve(key, is_local) and returns: self, self, self, self