class_docstr: A configurable that only allows one instance.
  
  This class is for classes that should only have one instance of itself
  or *any* subclass. To create and retrieve such a class use the
  :meth:`SingletonConfigurable.instance` method.
class_docstr_tok: ["A","configurable","that","only","allows","one","instance",".","This","class","is","for","classes","that","should","only","have","one","instance","of","itself","or","*","any","*","subclass",".","To","create","and","retrieve","such","a","class","use","the",":","meth",":","`","SingletonConfigurable.instance","`","method","."]
docstr: Walk the cls.mro() for parent classes that are also singletons
  
  For use in instance()
docstr_tok: ["Walk","the","cls.mro","(",")","for","parent","classes","that","are","also","singletons","For","use","in","instance","(",")"]
code: def _walk_mro(cls):
      """Walk the cls.mro() for parent classes that are also singletons
  
      For use in instance()
      """
  
      for subclass in cls.mro():
          if (
              issubclass(cls, subclass)
              and issubclass(subclass, SingletonConfigurable)
              and subclass != SingletonConfigurable
          ):
              yield subclass
  
imports: from __future__ import print_function, absolute_import
  from copy import deepcopy
  import warnings
  from .loader import Config, LazyConfigValue, _is_section_key
  from traitlets.traitlets import HasTraits, Instance, observe, observe_compat, default
  from ipython_genutils.text import indent, dedent, wrap_paragraphs
label_desc: Use image node_id 1 for calling the SingletonConfigurable obj's underlying member method code with example usage: obj._walk_mro(cls) without return types