code: def __new__(meta, name, bases, dct):
      # Remove params from class definition to avoid inheritance
      # (and hence "repetition")
      newparams = dct.pop("params", ())
  
      packs = "packages"
      newpackages = tuple(dct.pop(packs, ()))  # remove before creation
  
      fpacks = "frompackages"
      fnewpackages = tuple(
          dct.pop(fpacks, ())
      )  # remove before creation
  
      # Create the new class - this pulls predefined "params"
      cls = super(MetaParams, meta).__new__(meta, name, bases, dct)
  
      # Pulls the param class out of it - default is the empty class
      params = getattr(cls, "params", AutoInfoClass)
  
      # Pulls the packages class out of it - default is the empty class
      packages = tuple(getattr(cls, packs, ()))
      fpackages = tuple(getattr(cls, fpacks, ()))
  
      # get extra (to the right) base classes which have a param attribute
      morebasesparams = [
          x.params for x in bases[1:] if hasattr(x, "params")
      ]
  
      # Get extra packages, add them to the packages and put all in the class
      for y in [x.packages for x in bases[1:] if hasattr(x, packs)]:
          packages += tuple(y)
  
      for y in [
          x.frompackages for x in bases[1:] if hasattr(x, fpacks)
      ]:
          fpackages += tuple(y)
  
      cls.packages = packages + newpackages
      cls.frompackages = fpackages + fnewpackages
  
      # Subclass and store the newly derived params class
      cls.params = params._derive(name, newparams, morebasesparams)
  
      return cls
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from collections import OrderedDict
  import itertools
  import sys
  import backtrader
  from .utils.py3 import zip, string_types, with_metaclass
label_desc: Use image node_id 1 for calling the MetaParams obj's underlying member method code with example usage: obj.__new__(meta, name, bases, dct) and returns: cls