class_docstr: Object that handles all magic-related functionality for IPython.
      
class_docstr_tok: ["Object","that","handles","all","magic-related","functionality","for","IPython","."]
code: def __init__(
      self, shell=None, config=None, user_magics=None, **traits
  ):
      super(MagicsManager, self).__init__(
          shell=shell, config=config, user_magics=user_magics, **traits
      )
      self.magics = dict(line={}, cell={})
      # Let's add the user_magics to the registry for uniformity, so *all*
      # registered magic containers can be found there.
      self.registry[user_magics.__class__.__name__] = user_magics
  
imports: from __future__ import print_function
  import os
  import re
  import sys
  import types
  from getopt import getopt, GetoptError
  from traitlets.config.configurable import Configurable
  from IPython.core import oinspect
  from IPython.core.error import UsageError
  from IPython.core.inputsplitter import ESC_MAGIC, ESC_MAGIC2
  from decorator import decorator
  from IPython.utils.ipstruct import Struct
  from IPython.utils.process import arg_split
  from IPython.utils.py3compat import string_types, iteritems
  from IPython.utils.text import dedent
  from traitlets import Bool, Dict, Instance, observe
  from logging import error
label_desc: Use image node_id 2 to create a new MagicsManager object from inherited base classes: Configurable with example: obj = MagicsManager(shell, config, user_magics)