class_docstr: Downloads and manages resources, pretrained models/pipelines.
  
  Usually you will not need to use this class directly. It is called by the
  `pretrained()` function of annotators.
  
  However, you can use this class to list the available pretrained resources.
  
  Examples
  --------
  If you want to list all NerDLModels for the english language you can run:
  
  >>> ResourceDownloader.showPublicModels("NerDLModel", "en")
  +-------------+------+---------+
  | Model       | lang | version |
  +-------------+------+---------+
  | onto_100    | en   | 2.1.0   |
  | onto_300    | en   | 2.1.0   |
  | ner_dl_bert | en   | 2.2.0   |
  |  ...        | ...  | ...     |
  
  
  Similarly for Pipelines:
  
  >>> ResourceDownloader.showPublicPipelines("en")
  +------------------+------+---------+
  | Pipeline         | lang | version |
  +------------------+------+---------+
  | dependency_parse | en   | 2.0.2   |
  | check_spelling   | en   | 2.1.0   |
  | match_datetime   | en   | 2.1.0   |
  |  ...             | ...  | ...     |
docstr: Downloads and loads a pipeline with the default downloader.
  
  Parameters
  ----------
  name : str
      Name of the pipeline
  language : str
      Language of the pipeline
  remote_loc : str, optional
      Directory of the remote Spark NLP Folder, by default None
  
  Returns
  -------
  PipelineModel
      The loaded pipeline
docstr_tok: ["Downloads","and","loads","a","pipeline","with","the","default","downloader",".","Parameters","--","--","--","--","--","name",":","str","Name","of","the","pipeline","language",":","str","Language","of","the","pipeline","remote_loc",":","str",",","optional","Directory","of","the","remote","Spark","NLP","Folder",",","by","default","None","Returns","--","--","--","-","PipelineModel","The","loaded","pipeline"]
code: def downloadPipeline(name, language, remote_loc=None):
      """Downloads and loads a pipeline with the default downloader.
  
      Parameters
      ----------
      name : str
          Name of the pipeline
      language : str
          Language of the pipeline
      remote_loc : str, optional
          Directory of the remote Spark NLP Folder, by default None
  
      Returns
      -------
      PipelineModel
          The loaded pipeline
      """
      print(name + " download started this may take some time.")
      file_size = _internal._GetResourceSize(
          name, language, remote_loc
      ).apply()
      if file_size == "-1":
          print(
              "Can not find the model to download please check the name!"
          )
      else:
          print("Approx size to download " + file_size)
          stop_threads = False
          t1 = threading.Thread(
              target=printProgress, args=(lambda: stop_threads,)
          )
          t1.start()
          try:
              j_obj = _internal._DownloadPipeline(
                  name, language, remote_loc
              ).apply()
              jmodel = PipelineModel._from_java(j_obj)
          finally:
              stop_threads = True
              t1.join()
  
          return jmodel
  
file_path: spark-nlp/python/sparknlp/pretrained/resource_downloader.py
imports: import sys
  import threading
  from py4j.protocol import Py4JJavaError
  from pyspark.ml import PipelineModel
  import sparknlp.internal
  from sparknlp.pretrained.utils import printProgress
label_desc: Use image node_id 3 for calling the ResourceDownloader obj's underlying member method code with example usage: obj.downloadPipeline(name, language, remote_loc) and returns: jmodel