File size: 969 Bytes
fca1dff
 
a4b0060
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fca1dff
a4b0060
fca1dff
a4b0060
 
 
 
 
fca1dff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import os

import urllib3

from huggingface_hub import snapshot_download


def change_default_timeout(new_timeout: int) -> None:
    """
    Changes the default timeout for downloading repositories from the Hugging Face Hub.
    Prevents the following errors:
    urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='huggingface.co', port=443):
    Read timed out. (read timeout=10)
    """
    urllib3.util.timeout.DEFAULT_TIMEOUT = new_timeout


def download_repository(name: str) -> None:
    """Downloads a repository from the Hugging Face Hub."""
    number_of_seconds_in_a_day: int = 86_400
    change_default_timeout(number_of_seconds_in_a_day)
    curr_folder: str = os.path.dirname(__path__)
    snapshot_download(
        cache_dir=os.path.join(curr_folder, "huggingface", "models"),
        repo_id=name,
        etag_timeout=number_of_seconds_in_a_day,
        resume_download=True,
        repo_type="model",
        library_name="pytorch"
    )