class_docstr: Execute workflow with ipython
code: def __init__(self, plugin_args=None):
      if IPython_not_loaded:
          raise ImportError(
              "Please install ipyparallel to use this plugin."
          )
      super().__init__(plugin_args=plugin_args)
      valid_args = (
          "url_file",
          "profile",
          "cluster_id",
          "context",
          "debug",
          "timeout",
          "config",
          "username",
          "sshserver",
          "sshkey",
          "password",
          "paramiko",
      )
      self.client_args = {
          arg: plugin_args[arg]
          for arg in valid_args
          if arg in plugin_args
      }
      self.iparallel = None
      self.taskclient = None
      self.taskmap = {}
      self._taskid = 0
  
file_path: nipype/nipype/pipeline/plugins/ipython.py
imports: from pickle import dumps
  import sys
  from .base import DistributedPluginBase, logger, report_crash
label_desc: Use image node_id 1 to create a new IPythonPlugin object from inherited base classes: DistributedPluginBase with example: obj = IPythonPlugin(plugin_args)