text: from pyhocon import ConfigTree
  
  import six
  from clearml_agent.helper.base import Singleton
  
  
  @six.add_metaclass(Singleton)
  class Config(object):
  
      def __init__(self, tree=None):
          self.__dict__['_tree'] = tree or ConfigTree()
  
      def __getitem__(self, item):
          return self._tree[item]
  
      def __setitem__(self, key, value):
          return self._tree.__setitem__(key, value)
  
      def new(self, name):
          return self._tree.setdefault(name, ConfigTree())
  
      __getattr__ = __getitem__
      __setattr__ = __setitem__
  
  
  def get_config(name=None):
      config = Config()
      if name:
          return getattr(config, name)
      return config
  
  
  def make_config(name):
      return get_config().new(name)
  