class_docstr: Base Repo Manager class to create, initialize, download repos.
  
  Args:
      author (`str`):
          The author of the repo.
      repo (`str`):
          The name of the repo.
      root (`str`):
          The root url of the repo.
class_docstr_tok: ["Base","Repo","Manager","class","to","create",",","initialize",",","download","repos",".","Args",":","author","(","`","str","`",")",":","The","author","of","the","repo",".","repo","(","`","str","`",")",":","The","name","of","the","repo",".","root","(","`","str","`",")",":","The","root","url","of","the","repo","."]
docstr: Download repo without git.
  
  Agrs:
      local_repo_path (`Union[str, Path]`):
          Thre local dir to download the files into.
      tag (`str`):
          The tag of the repo to download.
      install_reqs (`bool`):
          Whether to install packages from requirements.txt.
docstr_tok: ["Download","repo","without","git",".","Agrs",":","local_repo_path","(","`","Union","[","str",",","Path","]","`",")",":","Thre","local","dir","to","download","the","files","into",".","tag","(","`","str","`",")",":","The","tag","of","the","repo","to","download",".","install_reqs","(","`","bool","`",")",":","Whether","to","install","packages","from","requirements.txt","."]
code: def download(
      self,
      local_repo_path: Union[str, Path] = Path.cwd(),
      tag: str = "main",
      install_reqs: bool = True,
  ) -> None:
      """
      Download repo without git.
  
      Agrs:
          local_repo_path (`Union[str, Path]`):
              Thre local dir to download the files into.
          tag (`str`):
              The tag of the repo to download.
          install_reqs (`bool`):
              Whether to install packages from requirements.txt.
      """
      if not self.exists():
          engine_log.error(
              "%s/%s repo does not exist.", self._author, self._repo
          )
          raise ValueError(
              f"{self._author}/{self._author} repo does not exist."
          )
  
      local_repo_path = Path(local_repo_path)
      lfs_files = self.obtain_lfs_extensions(tag)
      commit = self.latest_commit(tag)
      file_list = self.get_file_list(commit)
      self.download_files(
          tag=tag,
          file_list=file_list,
          lfs_files=lfs_files,
          local_repo_path=local_repo_path,
          install_reqs=install_reqs,
      )
      engine_log.info(
          "Successfully download the repo: %s/%s.",
          self._author,
          self._repo,
      )
  
imports: import re
  import subprocess
  import sys
  import time
  from typing import Tuple, List, Union
  from shutil import rmtree
  from pathlib import Path
  from requests.exceptions import HTTPError
  from tqdm import tqdm
  from tempfile import TemporaryFile
  from concurrent.futures import ThreadPoolExecutor
  from towhee.utils.hub_utils import HubUtils
  from towhee.utils.log import engine_log
label_desc: Use image node_id 11 for calling the RepoManager obj's underlying member method code with example usage: obj.download(local_repo_path, tag, install_reqs) without return types