class_docstr: A dictionary that provides attribute-style access.
  
  >>> b = Munch()
  >>> b.hello = 'world'
  >>> b.hello
  'world'
  >>> b['hello'] += "!"
  >>> b.hello
  'world!'
  >>> b.foo = Munch(lol=True)
  >>> b.foo.lol
  True
  >>> b.foo is b['foo']
  True
  
  A Munch is a subclass of dict; it supports all the methods a dict does...
  
  >>> sorted(b.keys())
  ['foo', 'hello']
  
  Including update()...
  
  >>> b.update({ 'ponies': 'are pretty!' }, hello=42)
  >>> print (repr(b))
  Munch({'ponies': 'are pretty!', 'foo': Munch({'lol': True}), 'hello': 42})
  
  As well as iteration...
  
  >>> sorted([ (k,b[k]) for k in b ])
  [('foo', Munch({'lol': True})), ('hello', 42), ('ponies', 'are pretty!')]
  
  And "splats".
  
  >>> "The {knights} who say {ni}!".format(**Munch(knights='lolcats', ni='can haz'))
  'The lolcats who say can haz!'
  
  See unmunchify/Munch.toDict, munchify/Munch.fromDict for notes about conversion.
code: def __init__(
      self, *args, **kwargs
  ):  # pylint: disable=super-init-not-called
      self.update(*args, **kwargs)
  
imports: from collections.abc import Mapping
label_desc: Use image node_id 1 to create a new Munch object from inherited base classes: dict with example: obj = Munch()