class_docstr: A ModelProvider implementation backed on Github for remote storage.
docstr: Download model denoted by the given name to disk.
  
  Parameters:
      name (str):
          Name of the model to download.
      path (str):
          Path of the directory to save model into.
docstr_tok: ["Download","model","denoted","by","the","given","name","to","disk",".","Parameters",":","name","(","str",")",":","Name","of","the","model","to","download",".","path","(","str",")",":","Path","of","the","directory","to","save","model","into","."]
code: def download(self, name: str, path: str) -> None:
      """
      Download model denoted by the given name to disk.
  
      Parameters:
          name (str):
              Name of the model to download.
          path (str):
              Path of the directory to save model into.
      """
      url: str = "/".join(
          (
              self._host,
              self._repository,
              self.RELEASE_PATH,
              self._release,
              name,
          )
      )
      url = f"{url}.tar.gz"
      logger.info(f"Downloading model archive {url}")
      with httpx.Client(http2=True) as client:
          with client.stream("GET", url) as response:
              response.raise_for_status()
              archive = NamedTemporaryFile(delete=False)
              try:
                  with archive as stream:
                      for chunk in response.iter_raw():
                          stream.write(chunk)
                  logger.info("Validating archive checksum")
                  checksum: str = compute_file_checksum(archive.name)
                  if checksum != self.checksum(name):
                      raise IOError(
                          "Downloaded file is corrupted, please retry"
                      )
                  logger.info(f"Extracting downloaded {name} archive")
                  with tarfile.open(name=archive.name) as tar:
                      tar.extractall(path=path)
              finally:
                  os.unlink(archive.name)
      logger.info(f"{name} model file(s) extracted")
  
file_path: spleeter/spleeter/model/provider/github.py
imports: import hashlib
  import os
  import tarfile
  from os import environ
  from tempfile import NamedTemporaryFile
  from typing import Dict
  import httpx
  from ...utils.logging import logger
  from .None import ModelProvider
label_desc: Use image node_id 4 for calling the GithubModelProvider obj's underlying member method code with example usage: obj.download(name, path) without return types