code: def download_kaggle_data(
      competition_or_dataset: str,
      download_dir: epath.PathLike,
  ) -> epath.Path:
      """Downloads the kaggle data to the output_dir.
  
      Args:
        competition_or_dataset: Name of the kaggle competition/dataset.
        download_dir: Path to the TFDS downloads dir.
  
      Returns:
        Path to the dir where the kaggle data was downloaded.
      """
      kaggle_dir = _kaggle_dir_name(competition_or_dataset)
      download_path = epath.Path(download_dir) / kaggle_dir
      # If the dataset has already been downloaded, return the path to it.
      if download_path.is_dir():
          logging.info(
              "Dataset %s already downloaded: reusing %s.",
              competition_or_dataset,
              download_path,
          )
          return download_path
      # Otherwise, download the dataset.
      with utils.incomplete_dir(download_path) as tmp_data_dir:
          logging.info(
              "Downloading %s into %s...",
              competition_or_dataset,
              tmp_data_dir,
          )
          _download_competition_or_dataset(
              competition_or_dataset, tmp_data_dir
          )
      return download_path
  
file_path: datasets/tensorflow_datasets/core/download/kaggle.py
imports: import os
  import subprocess
  import textwrap
  from typing import List
  import zipfile
  from absl import logging
  from etils import epath
  from tensorflow_datasets.core import utils
  from tensorflow_datasets.core.download import extractor
  from tensorflow_datasets.core.download import resource
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
label_desc: Use image node_id 5 for calling a global function with example usage: download_kaggle_data(competition_or_dataset, download_dir) and returns: download_path, download_path