class_docstr: A class that supports simple attribute setter/getter.
  It is intended for storing metadata of a dataset and make it accessible globally.
  
  Examples:
  ::
      # somewhere when you load the data:
      MetadataCatalog.get("mydataset").thing_classes = ["person", "dog"]
  
      # somewhere when you print statistics or visualize:
      classes = MetadataCatalog.get("mydataset").thing_classes
class_docstr_tok: ["A","class","that","supports","simple","attribute","setter\/getter",".","It","is","intended","for","storing","metadata","of","a","dataset","and","make","it","accessible","globally",".","Examples",":",":",":","#","somewhere","when","you","load","the","data",":","MetadataCatalog.get","(","``","mydataset","''",")",".thing_classes","=","[","``","person","''",",","``","dog","''","]","#","somewhere","when","you","print","statistics","or","visualize",":","classes","=","MetadataCatalog.get","(","``","mydataset","''",")",".thing_classes"]
code: def __getattr__(self, key):
      if key in self._RENAMED:
          log_first_n(
              logging.WARNING,
              "Metadata '{}' was renamed to '{}'!".format(
                  key, self._RENAMED[key]
              ),
              n=10,
          )
          return getattr(self, self._RENAMED[key])
  
      # "name" exists in every metadata
      if len(self.__dict__) > 1:
          raise AttributeError(
              "Attribute '{}' does not exist in the metadata of dataset '{}'. Available "
              "keys are {}.".format(
                  key, self.name, str(self.__dict__.keys())
              )
          )
      else:
          raise AttributeError(
              f"Attribute '{key}' does not exist in the metadata of dataset '{self.name}': "
              "metadata is empty."
          )
  
imports: import copy
  import logging
  import types
  from collections import UserDict
  from typing import List
  from detectron2.utils.logger import log_first_n
label_desc: Use image node_id 1 for calling the Metadata obj's underlying member method code with example usage: obj.__getattr__(key) and returns: getattr