code: def download_gcs_folder(
      gcs_folder: epath.Path,
      local_folder: epath.PathLike,
      max_simultaneous_downloads: int = 25,
  ) -> None:
      """Downloads prepared GCS folder to local folder."""
      if _is_gcs_disabled:
          raise AssertionError(
              "Cannot download from GCS when _is_gcs_disabled"
          )
  
      # Filter out the diffs folder if present
      paths_to_dl = [
          p for p in gcs_folder.iterdir() if p.name != "diffs"
      ]
  
      with tqdm_utils.async_tqdm(
          total=len(paths_to_dl), desc="Dl Completed...", unit=" file"
      ) as pbar:
  
          def _copy(gcs_path_: epath.Path):
              # Copy 'gs://tfds-data/datasets/ds/1.0.0/file' -> `local_dir/file`
              tf.io.gfile.copy(
                  os.fspath(gcs_path_),
                  os.path.join(local_folder, gcs_path_.name),
              )
              pbar.update(1)
  
          with concurrent.futures.ThreadPoolExecutor(
              max_workers=max_simultaneous_downloads
          ) as executor:
              futures = [
                  executor.submit(_copy, path) for path in paths_to_dl
              ]
              for future in concurrent.futures.as_completed(futures):
                  future.result()
  
file_path: datasets/tensorflow_datasets/core/utils/gcs_utils.py
imports: import concurrent.futures
  import os
  import posixpath
  from typing import List, Optional
  from etils import epath
  from tensorflow_datasets.core.utils import py_utils
  from tensorflow_datasets.core.utils import tqdm_utils
  from tensorflow_datasets.core.utils.lazy_imports_utils import tensorflow
label_desc: Use image node_id 8 for calling a global function with example usage: download_gcs_folder(gcs_folder, local_folder, max_simultaneous_downloads) without return types