class_docstr: Wrapper around Tf_ApiDefMap that handles querying and deletion.
  
  The OpDef protos are also stored in this class so that they could
  be queried by op name.
class_docstr_tok: ["Wrapper","around","Tf_ApiDefMap","that","handles","querying","and","deletion",".","The","OpDef","protos","are","also","stored","in","this","class","so","that","they","could","be","queried","by","op","name","."]
code: def get_api_def(self, op_name):
      api_def_proto = api_def_pb2.ApiDef()
      buf = c_api.TF_ApiDefMapGet(
          self._api_def_map, op_name, len(op_name)
      )
      try:
          api_def_proto.ParseFromString(c_api.TF_GetBuffer(buf))
      finally:
          c_api.TF_DeleteBuffer(buf)
      return api_def_proto
  
imports: import contextlib
  from tensorflow.core.framework import api_def_pb2
  from tensorflow.core.framework import op_def_pb2
  from tensorflow.python.client import pywrap_tf_session
  from tensorflow.python.util import compat
  from tensorflow.python.util import tf_contextlib
label_desc: Use image node_id 4 for calling the ApiDefMap obj's underlying member method code with example usage: obj.get_api_def(op_name) and returns: api_def_proto