code: def __init__(self, func=None):
      self.func = func
      self.shellcmd = None
      self.name = None
      self.norun = False
      self.input = None
      self.output = None
      self.params = None
      self.message = None
      self.benchmark = None
      self.conda_env = None
      self.container_img = None
      self.is_containerized = False
      self.env_modules = None
      self.wildcard_constraints = None
      self.threads = None
      self.shadow_depth = None
      self.resources = None
      self.priority = None
      self.retries = None
      self.log = None
      self.docstring = None
      self.group = None
      self.script = None
      self.notebook = None
      self.wrapper = None
      self.template_engine = None
      self.cwl = None
      self.cache = False
      self.path_modifier = None
      self.handover = False
      self.default_target = False
      self.localrule = False
  
imports: from collections import namedtuple
  from copy import copy
label_desc: Use image node_id 1 to create a new RuleInfo object  with example: obj = RuleInfo(func)