class_docstr: Object that handles all magic-related functionality for IPython.
      
class_docstr_tok: ["Object","that","handles","all","magic-related","functionality","for","IPython","."]
docstr: Register one or more instances of Magics.
  
  Take one or more classes or instances of classes that subclass the main 
  `core.Magic` class, and register them with IPython to use the magic
  functions they provide.  The registration process will then ensure that
  any methods that have decorated to provide line and/or cell magics will
  be recognized with the `%x`/`%%x` syntax as a line/cell magic
  respectively.
  
  If classes are given, they will be instantiated with the default
  constructor.  If your classes need a custom constructor, you should
  instanitate them first and pass the instance.
  
  The provided arguments can be an arbitrary mix of classes and instances.
  
  Parameters
  ----------
  magic_objects : one or more classes or instances
docstr_tok: ["Register","one","or","more","instances","of","Magics",".","Take","one","or","more","classes","or","instances","of","classes","that","subclass","the","main","`","core.Magic","`","class",",","and","register","them","with","IPython","to","use","the","magic","functions","they","provide",".","The","registration","process","will","then","ensure","that","any","methods","that","have","decorated","to","provide","line","and\/or","cell","magics","will","be","recognized","with","the","`","%","x","`","\/","`","%","%","x","`","syntax","as","a","line\/cell","magic","respectively",".","If","classes","are","given",",","they","will","be","instantiated","with","the","default","constructor",".","If","your","classes","need","a","custom","constructor",",","you","should","instanitate","them","first","and","pass","the","instance",".","The","provided","arguments","can","be","an","arbitrary","mix","of","classes","and","instances",".","Parameters","--","--","--","--","--","magic_objects",":","one","or","more","classes","or","instances"]
code: def register(self, *magic_objects):
      """Register one or more instances of Magics.
  
      Take one or more classes or instances of classes that subclass the main
      `core.Magic` class, and register them with IPython to use the magic
      functions they provide.  The registration process will then ensure that
      any methods that have decorated to provide line and/or cell magics will
      be recognized with the `%x`/`%%x` syntax as a line/cell magic
      respectively.
  
      If classes are given, they will be instantiated with the default
      constructor.  If your classes need a custom constructor, you should
      instanitate them first and pass the instance.
  
      The provided arguments can be an arbitrary mix of classes and instances.
  
      Parameters
      ----------
      magic_objects : one or more classes or instances
      """
      # Start by validating them to ensure they have all had their magic
      # methods registered at the instance level
      for m in magic_objects:
          if not m.registered:
              raise ValueError(
                  "Class of magics %r was constructed without "
                  "the @register_magics class decorator"
              )
          if isinstance(m, type):
              # If we're given an uninstantiated class
              m = m(shell=self.shell)
  
          # Now that we have an instance, we can register it and update the
          # table of callables
          self.registry[m.__class__.__name__] = m
          for mtype in magic_kinds:
              self.magics[mtype].update(m.magics[mtype])
  
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 6 for calling the MagicsManager obj's underlying member method code with example usage: obj.register() without return types