code: def ingest_exchange(
      ctx,
      exchange_name,
      data_frequency,
      start,
      end,
      include_symbols,
      exclude_symbols,
      csv,
      show_progress,
      verbose,
      validate,
  ):
      """
      Ingest data for the given exchange.
      """
  
      if exchange_name is None:
          ctx.fail("must specify an exchange name '-x'")
      if not csv and exchange_name not in EXCHANGE_NAMES:
          ctx.fail(
              "ingest-exchange does not support {}, "
              "please choose exchange from: {}".format(
                  exchange_name, EXCHANGE_NAMES
              )
          )
  
      exchange_bundle = ExchangeBundle(exchange_name)
  
      click.echo(
          "Trying to ingest exchange bundle {}...".format(
              exchange_name
          ),
          sys.stdout,
      )
      exchange_bundle.ingest(
          data_frequency=data_frequency,
          include_symbols=include_symbols,
          exclude_symbols=exclude_symbols,
          start=start,
          end=end,
          show_progress=show_progress,
          show_breakdown=verbose,
          show_report=validate,
          csv=csv,
      )
  
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 9 for calling a global function with example usage: ingest_exchange(ctx, exchange_name, data_frequency, start, end, include_symbols, exclude_symbols, csv, show_progress, verbose, validate) without return types