class_docstr: Handles metadata supplied in configuration files.
class_docstr_tok: ["Handles","metadata","supplied","in","configuration","files","."]
code: def __setitem__(self, option_name, value):
      unknown = tuple()
      target_obj = self.target_obj
  
      # Translate alias into real name.
      option_name = self.aliases.get(option_name, option_name)
  
      current_value = getattr(target_obj, option_name, unknown)
  
      if current_value is unknown:
          raise KeyError(option_name)
  
      if current_value:
          # Already inhabited. Skipping.
          return
  
      skip_option = False
      parser = self.parsers.get(option_name)
      if parser:
          try:
              value = parser(value)
  
          except Exception:
              skip_option = True
              if not self.ignore_option_errors:
                  raise
  
      if skip_option:
          return
  
      setter = getattr(target_obj, "set_%s" % option_name, None)
      if setter is None:
          setattr(target_obj, option_name, value)
      else:
          setter(value)
  
      self.set_options.append(option_name)
  
imports: from __future__ import absolute_import, unicode_literals
  import io
  import os
  import sys
  import warnings
  import functools
  from collections import defaultdict
  from functools import partial
  from functools import wraps
  from importlib import import_module
  from distutils.errors import DistutilsOptionError, DistutilsFileError
  from setuptools.extern.packaging.version import LegacyVersion, parse
  from setuptools.extern.packaging.specifiers import SpecifierSet
  from setuptools.extern.six import string_types, PY3
label_desc: Use image node_id 3 for calling the ConfigHandler obj's underlying member method code with example usage: obj.__setitem__(option_name, value) without return types