code: def fetch_tick_dataset(
      dataset_path, data_home=None, n_features=None, verbose=True
  ):
      """Fetch dataset from tick_datasets github repository.
  
      Uses cache if this dataset has already been downloaded.
      Parameters
      ----------
      dataset_path : `str`
          Dataset path on tick_datasets github repository. For example
          "binary/adult/adult.trn.bz2" for adult train dataset
      data_home : `str`, optional, default=None
          Specify a download and cache folder for the datasets. If None
          and not configured with TICK_DATASETS environement variable
          all tick datasets are stored in '~/tick_datasets' subfolders.
      n_features : `int`, optional, default=None
          The number of features to use. If None, it will be inferred. This
          argument is useful to load several files that are subsets of a
          bigger sliced dataset: each subset might not have examples of
          every feature, hence the inferred shape might vary from one
          slice to another.
      verbose : `bool`, default=True
          If True, download progress bar will be printed
      Returns
      -------
      output : `np.ndarray` or `dict` or `tuple`
          Dataset. Its format will depend on queried dataset.
      """
      data_home = get_data_home(data_home)
      cache_path = os.path.join(data_home, dataset_path)
  
      dataset = None
      if os.path.exists(cache_path):
          try:
              dataset = load_dataset(
                  dataset_path,
                  data_home=data_home,
                  n_features=n_features,
              )
          except Exception as e:
              print(80 * "_")
              print("Cache loading failed")
              print(80 * "_")
              print(e)
  
      if dataset is None:
          download_tick_dataset(
              dataset_path, data_home=data_home, verbose=verbose
          )
          dataset = load_dataset(
              dataset_path, data_home=data_home, n_features=n_features
          )
  
      return dataset
  
file_path: tick/tick/dataset/download_helper.py
imports: import logging
  from urllib.request import urlopen
  import os
  import shutil
  import numpy
  from sklearn.datasets import load_svmlight_file
  import math
  import warnings
label_desc: Use image node_id 3 for calling a global function with example usage: fetch_tick_dataset(dataset_path, data_home, n_features, verbose) and returns: dataset