code: def ipython_only(option):
      """Mark that an option should only be exposed in IPython.
  
      Parameters
      ----------
      option : decorator
          A click.option decorator.
  
      Returns
      -------
      ipython_only_dec : decorator
          A decorator that correctly applies the argument even when not
          using IPython mode.
      """
      if __IPYTHON__:
          return option
  
      argname = extract_option_object(option).name
  
      def d(f):
          @wraps(f)
          def _(*args, **kwargs):
              kwargs[argname] = None
              return f(*args, **kwargs)
  
          return _
  
      return d
  
imports: import errno
  import os
  from functools import wraps
  import re
  import click
  import sys
  import logbook
  import pandas
  from catalyst.marketplace.marketplace import Marketplace
  from six import text_type
  from catalyst.data import bundles
  from catalyst.exchange.exchange_bundle import ExchangeBundle
  from catalyst.exchange.utils.exchange_utils import delete_algo_folder
  from catalyst.utils.cli import Date, Timestamp
  from catalyst.utils.run_algo import _run, load_extensions
  from catalyst.exchange.utils.bundle_utils import EXCHANGE_NAMES
  from catalyst.utils.remote import remote_backtest, get_remote_status
label_desc: Use image node_id 3 for calling a global function with example usage: ipython_only(option) and returns: d, option, _, f