code: def info(name=None, show_only_latest=True, name_only=False):
      """Provide the information related to model/dataset.
  
      Parameters
      ----------
      name : str, optional
          Name of model/dataset.  If not set - shows all available data.
      show_only_latest : bool, optional
          If storage contains different versions for one data/model, this flag allow to hide outdated versions.
          Affects only if `name` is None.
      name_only : bool, optional
          If True, will return only the names of available models and corpora.
  
      Returns
      -------
      dict
          Detailed information about one or all models/datasets.
          If name is specified, return full information about concrete dataset/model,
          otherwise, return information about all available datasets/models.
  
      Raises
      ------
      Exception
          If name that has been passed is incorrect.
  
      Examples
      --------
      .. sourcecode:: pycon
  
          >>> import gensim.downloader as api
          >>> api.info("text8")  # retrieve information about text8 dataset
          {u'checksum': u'68799af40b6bda07dfa47a32612e5364',
           u'description': u'Cleaned small sample from wikipedia',
           u'file_name': u'text8.gz',
           u'parts': 1,
           u'source': u'https://mattmahoney.net/dc/text8.zip'}
          >>>
          >>> api.info()  # retrieve information about all available datasets and models
  
      """
      information = _load_info()
  
      if name is not None:
          corpora = information["corpora"]
          models = information["models"]
          if name in corpora:
              return information["corpora"][name]
          elif name in models:
              return information["models"][name]
          else:
              raise ValueError("Incorrect model/corpus name")
  
      if not show_only_latest:
          return information
  
      if name_only:
          return {
              "corpora": list(information["corpora"].keys()),
              "models": list(information["models"]),
          }
  
      return {
          "corpora": {
              name: data
              for (name, data) in information["corpora"].items()
              if data.get("latest", True)
          },
          "models": {
              name: data
              for (name, data) in information["models"].items()
              if data.get("latest", True)
          },
      }
  
imports: from __future__ import absolute_import
  import argparse
  import os
  import io
  import json
  import logging
  import sys
  import errno
  import hashlib
  import math
  import shutil
  import tempfile
  from functools import partial
label_desc: Use image node_id 5 for calling a global function with example usage: info(name, show_only_latest, name_only) and returns: dict, information, dict, information, information