huggingface-hub 0.13.4__py3-none-any.whl → 0.14.0.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of huggingface-hub might be problematic. Click here for more details.
- huggingface_hub/__init__.py +59 -5
- huggingface_hub/_commit_api.py +26 -71
- huggingface_hub/_login.py +16 -13
- huggingface_hub/_multi_commits.py +305 -0
- huggingface_hub/_snapshot_download.py +4 -0
- huggingface_hub/_space_api.py +6 -0
- huggingface_hub/_webhooks_payload.py +124 -0
- huggingface_hub/_webhooks_server.py +362 -0
- huggingface_hub/commands/lfs.py +3 -5
- huggingface_hub/commands/user.py +0 -3
- huggingface_hub/community.py +21 -0
- huggingface_hub/constants.py +3 -0
- huggingface_hub/file_download.py +25 -10
- huggingface_hub/hf_api.py +666 -139
- huggingface_hub/hf_file_system.py +441 -0
- huggingface_hub/hub_mixin.py +1 -1
- huggingface_hub/inference_api.py +2 -4
- huggingface_hub/keras_mixin.py +1 -1
- huggingface_hub/lfs.py +196 -176
- huggingface_hub/repocard.py +2 -2
- huggingface_hub/repository.py +1 -1
- huggingface_hub/templates/modelcard_template.md +1 -1
- huggingface_hub/utils/__init__.py +8 -11
- huggingface_hub/utils/_errors.py +4 -4
- huggingface_hub/utils/_experimental.py +65 -0
- huggingface_hub/utils/_git_credential.py +1 -80
- huggingface_hub/utils/_http.py +85 -2
- huggingface_hub/utils/_pagination.py +4 -3
- huggingface_hub/utils/_paths.py +2 -0
- huggingface_hub/utils/_runtime.py +12 -0
- huggingface_hub/utils/_subprocess.py +22 -0
- huggingface_hub/utils/_telemetry.py +2 -4
- huggingface_hub/utils/tqdm.py +23 -18
- {huggingface_hub-0.13.4.dist-info → huggingface_hub-0.14.0.dev0.dist-info}/METADATA +5 -1
- huggingface_hub-0.14.0.dev0.dist-info/RECORD +61 -0
- {huggingface_hub-0.13.4.dist-info → huggingface_hub-0.14.0.dev0.dist-info}/entry_points.txt +3 -0
- huggingface_hub-0.13.4.dist-info/RECORD +0 -56
- {huggingface_hub-0.13.4.dist-info → huggingface_hub-0.14.0.dev0.dist-info}/LICENSE +0 -0
- {huggingface_hub-0.13.4.dist-info → huggingface_hub-0.14.0.dev0.dist-info}/WHEEL +0 -0
- {huggingface_hub-0.13.4.dist-info → huggingface_hub-0.14.0.dev0.dist-info}/top_level.txt +0 -0
|
@@ -14,10 +14,9 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
"""Contains utilities to manage Git credentials."""
|
|
16
16
|
import subprocess
|
|
17
|
-
from typing import List, Optional
|
|
17
|
+
from typing import List, Optional
|
|
18
18
|
|
|
19
19
|
from ..constants import ENDPOINT
|
|
20
|
-
from ._deprecation import _deprecate_method
|
|
21
20
|
from ._subprocess import run_interactive_subprocess, run_subprocess
|
|
22
21
|
|
|
23
22
|
|
|
@@ -95,81 +94,3 @@ def unset_git_credential(username: str = "hf_user", folder: Optional[str] = None
|
|
|
95
94
|
|
|
96
95
|
stdin.write(standard_input)
|
|
97
96
|
stdin.flush()
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
@_deprecate_method(
|
|
101
|
-
version="0.14",
|
|
102
|
-
message=(
|
|
103
|
-
"Please use `huggingface_hub.set_git_credential` instead as it allows"
|
|
104
|
-
" the user to chose which git-credential tool to use."
|
|
105
|
-
),
|
|
106
|
-
)
|
|
107
|
-
def write_to_credential_store(username: str, password: str) -> None:
|
|
108
|
-
with run_interactive_subprocess("git credential-store store") as (stdin, _):
|
|
109
|
-
input_username = f"username={username.lower()}"
|
|
110
|
-
input_password = f"password={password}"
|
|
111
|
-
stdin.write(f"url={ENDPOINT}\n{input_username}\n{input_password}\n\n")
|
|
112
|
-
stdin.flush()
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
@_deprecate_method(
|
|
116
|
-
version="0.14",
|
|
117
|
-
message="Please open an issue on https://github.com/huggingface/huggingface_hub if this a useful feature for you.",
|
|
118
|
-
)
|
|
119
|
-
def read_from_credential_store(
|
|
120
|
-
username: Optional[str] = None,
|
|
121
|
-
) -> Union[Tuple[str, str], Tuple[None, None]]:
|
|
122
|
-
"""
|
|
123
|
-
Reads the credential store relative to huggingface.co.
|
|
124
|
-
|
|
125
|
-
Args:
|
|
126
|
-
username (`str`, *optional*):
|
|
127
|
-
A username to filter to search. If not specified, the first entry under
|
|
128
|
-
`huggingface.co` endpoint is returned.
|
|
129
|
-
|
|
130
|
-
Returns:
|
|
131
|
-
`Tuple[str, str]` or `Tuple[None, None]`: either a username/password pair or
|
|
132
|
-
None/None if credential has not been found. The returned username is always
|
|
133
|
-
lowercase.
|
|
134
|
-
"""
|
|
135
|
-
with run_interactive_subprocess("git credential-store get") as (stdin, stdout):
|
|
136
|
-
standard_input = f"url={ENDPOINT}\n"
|
|
137
|
-
if username is not None:
|
|
138
|
-
standard_input += f"username={username.lower()}\n"
|
|
139
|
-
standard_input += "\n"
|
|
140
|
-
|
|
141
|
-
stdin.write(standard_input)
|
|
142
|
-
stdin.flush()
|
|
143
|
-
output = stdout.read()
|
|
144
|
-
|
|
145
|
-
if len(output) == 0:
|
|
146
|
-
return None, None
|
|
147
|
-
|
|
148
|
-
username, password = [line for line in output.split("\n") if len(line) != 0]
|
|
149
|
-
return username.split("=")[1], password.split("=")[1]
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
@_deprecate_method(
|
|
153
|
-
version="0.14",
|
|
154
|
-
message=(
|
|
155
|
-
"Please use `huggingface_hub.unset_git_credential` instead as it allows"
|
|
156
|
-
" the user to chose which git-credential tool to use."
|
|
157
|
-
),
|
|
158
|
-
)
|
|
159
|
-
def erase_from_credential_store(username: Optional[str] = None) -> None:
|
|
160
|
-
"""
|
|
161
|
-
Erases the credential store relative to huggingface.co.
|
|
162
|
-
|
|
163
|
-
Args:
|
|
164
|
-
username (`str`, *optional*):
|
|
165
|
-
A username to filter to search. If not specified, all entries under
|
|
166
|
-
`huggingface.co` endpoint is erased.
|
|
167
|
-
"""
|
|
168
|
-
with run_interactive_subprocess("git credential-store erase") as (stdin, _):
|
|
169
|
-
standard_input = f"url={ENDPOINT}\n"
|
|
170
|
-
if username is not None:
|
|
171
|
-
standard_input += f"username={username.lower()}\n"
|
|
172
|
-
standard_input += "\n"
|
|
173
|
-
|
|
174
|
-
stdin.write(standard_input)
|
|
175
|
-
stdin.flush()
|
huggingface_hub/utils/_http.py
CHANGED
|
@@ -14,9 +14,11 @@
|
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
"""Contains utilities to handle HTTP requests in Huggingface Hub."""
|
|
16
16
|
import io
|
|
17
|
+
import threading
|
|
17
18
|
import time
|
|
19
|
+
from functools import lru_cache
|
|
18
20
|
from http import HTTPStatus
|
|
19
|
-
from typing import Tuple, Type, Union
|
|
21
|
+
from typing import Callable, Tuple, Type, Union
|
|
20
22
|
|
|
21
23
|
import requests
|
|
22
24
|
from requests import Response
|
|
@@ -28,6 +30,86 @@ from ._typing import HTTP_METHOD_T
|
|
|
28
30
|
|
|
29
31
|
logger = logging.get_logger(__name__)
|
|
30
32
|
|
|
33
|
+
BACKEND_FACTORY_T = Callable[[], requests.Session]
|
|
34
|
+
_GLOBAL_BACKEND_FACTORY: BACKEND_FACTORY_T = requests.Session
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def configure_http_backend(backend_factory: BACKEND_FACTORY_T = requests.Session) -> None:
|
|
38
|
+
"""
|
|
39
|
+
Configure the HTTP backend by providing a `backend_factory`. Any HTTP calls made by `huggingface_hub` will use a
|
|
40
|
+
Session object instantiated by this factory. This can be useful if you are running your scripts in a specific
|
|
41
|
+
environment requiring custom configuration (e.g. custom proxy or certifications).
|
|
42
|
+
|
|
43
|
+
Use [`get_session`] to get a configured Session. Since `requests.Session` is not guaranteed to be thread-safe,
|
|
44
|
+
`huggingface_hub` creates 1 Session instance per thread. They are all instantiated using the same `backend_factory`
|
|
45
|
+
set in [`configure_http_backend`]. A LRU cache is used to cache the created sessions (and connections) between
|
|
46
|
+
calls. Max size is 128 to avoid memory leaks if thousands of threads are spawned.
|
|
47
|
+
|
|
48
|
+
See [this issue](https://github.com/psf/requests/issues/2766) to know more about thread-safety in `requests`.
|
|
49
|
+
|
|
50
|
+
Example:
|
|
51
|
+
```py
|
|
52
|
+
import requests
|
|
53
|
+
from huggingface_hub import configure_http_backend, get_session
|
|
54
|
+
|
|
55
|
+
# Create a factory function that returns a Session with configured proxies
|
|
56
|
+
def backend_factory() -> requests.Session:
|
|
57
|
+
session = requests.Session()
|
|
58
|
+
session.proxies = {"http": "http://10.10.1.10:3128", "https": "https://10.10.1.11:1080"}
|
|
59
|
+
return session
|
|
60
|
+
|
|
61
|
+
# Set it as the default session factory
|
|
62
|
+
configure_http_backend(backend_factory=backend_factory)
|
|
63
|
+
|
|
64
|
+
# In practice, this is mostly done internally in `huggingface_hub`
|
|
65
|
+
session = get_session()
|
|
66
|
+
```
|
|
67
|
+
"""
|
|
68
|
+
global _GLOBAL_BACKEND_FACTORY
|
|
69
|
+
_GLOBAL_BACKEND_FACTORY = backend_factory
|
|
70
|
+
_get_session_from_cache.cache_clear()
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def get_session() -> requests.Session:
|
|
74
|
+
"""
|
|
75
|
+
Get a `requests.Session` object, using the session factory from the user.
|
|
76
|
+
|
|
77
|
+
Use [`get_session`] to get a configured Session. Since `requests.Session` is not guaranteed to be thread-safe,
|
|
78
|
+
`huggingface_hub` creates 1 Session instance per thread. They are all instantiated using the same `backend_factory`
|
|
79
|
+
set in [`configure_http_backend`]. A LRU cache is used to cache the created sessions (and connections) between
|
|
80
|
+
calls. Max size is 128 to avoid memory leaks if thousands of threads are spawned.
|
|
81
|
+
|
|
82
|
+
See [this issue](https://github.com/psf/requests/issues/2766) to know more about thread-safety in `requests`.
|
|
83
|
+
|
|
84
|
+
Example:
|
|
85
|
+
```py
|
|
86
|
+
import requests
|
|
87
|
+
from huggingface_hub import configure_http_backend, get_session
|
|
88
|
+
|
|
89
|
+
# Create a factory function that returns a Session with configured proxies
|
|
90
|
+
def backend_factory() -> requests.Session:
|
|
91
|
+
session = requests.Session()
|
|
92
|
+
session.proxies = {"http": "http://10.10.1.10:3128", "https": "https://10.10.1.11:1080"}
|
|
93
|
+
return session
|
|
94
|
+
|
|
95
|
+
# Set it as the default session factory
|
|
96
|
+
configure_http_backend(backend_factory=backend_factory)
|
|
97
|
+
|
|
98
|
+
# In practice, this is mostly done internally in `huggingface_hub`
|
|
99
|
+
session = get_session()
|
|
100
|
+
```
|
|
101
|
+
"""
|
|
102
|
+
return _get_session_from_cache(thread_ident=threading.get_ident())
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@lru_cache(maxsize=128) # default value for Python>=3.8. Let's keep the same for Python3.7
|
|
106
|
+
def _get_session_from_cache(thread_ident: int) -> requests.Session:
|
|
107
|
+
"""
|
|
108
|
+
Create a new session per thread using global factory. Using LRU cache (maxsize 128) to avoid memory leaks when
|
|
109
|
+
using thousands of threads. Cache is cleared when `configure_http_backend` is called.
|
|
110
|
+
"""
|
|
111
|
+
return _GLOBAL_BACKEND_FACTORY()
|
|
112
|
+
|
|
31
113
|
|
|
32
114
|
def http_backoff(
|
|
33
115
|
method: HTTP_METHOD_T,
|
|
@@ -117,6 +199,7 @@ def http_backoff(
|
|
|
117
199
|
if "data" in kwargs and isinstance(kwargs["data"], io.IOBase):
|
|
118
200
|
io_obj_initial_pos = kwargs["data"].tell()
|
|
119
201
|
|
|
202
|
+
session = get_session()
|
|
120
203
|
while True:
|
|
121
204
|
nb_tries += 1
|
|
122
205
|
try:
|
|
@@ -126,7 +209,7 @@ def http_backoff(
|
|
|
126
209
|
kwargs["data"].seek(io_obj_initial_pos)
|
|
127
210
|
|
|
128
211
|
# Perform request and return if status_code is not in the retry list.
|
|
129
|
-
response =
|
|
212
|
+
response = session.request(method=method, url=url, **kwargs)
|
|
130
213
|
if response.status_code not in retry_on_status_codes:
|
|
131
214
|
return response
|
|
132
215
|
|
|
@@ -17,7 +17,7 @@ from typing import Dict, Iterable, Optional
|
|
|
17
17
|
|
|
18
18
|
import requests
|
|
19
19
|
|
|
20
|
-
from . import hf_raise_for_status, logging
|
|
20
|
+
from . import get_session, hf_raise_for_status, logging
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
logger = logging.get_logger(__name__)
|
|
@@ -31,7 +31,8 @@ def paginate(path: str, params: Dict, headers: Dict) -> Iterable:
|
|
|
31
31
|
- https://requests.readthedocs.io/en/latest/api/#requests.Response.links
|
|
32
32
|
- https://docs.github.com/en/rest/guides/traversing-with-pagination#link-header
|
|
33
33
|
"""
|
|
34
|
-
|
|
34
|
+
session = get_session()
|
|
35
|
+
r = session.get(path, params=params, headers=headers)
|
|
35
36
|
hf_raise_for_status(r)
|
|
36
37
|
yield from r.json()
|
|
37
38
|
|
|
@@ -40,7 +41,7 @@ def paginate(path: str, params: Dict, headers: Dict) -> Iterable:
|
|
|
40
41
|
next_page = _get_next_page(r)
|
|
41
42
|
while next_page is not None:
|
|
42
43
|
logger.debug(f"Pagination detected. Requesting next page: {next_page}")
|
|
43
|
-
r =
|
|
44
|
+
r = session.get(next_page, headers=headers)
|
|
44
45
|
hf_raise_for_status(r)
|
|
45
46
|
yield from r.json()
|
|
46
47
|
next_page = _get_next_page(r)
|
huggingface_hub/utils/_paths.py
CHANGED
|
@@ -35,6 +35,7 @@ _package_versions = {}
|
|
|
35
35
|
_CANDIDATES = {
|
|
36
36
|
"torch": {"torch"},
|
|
37
37
|
"pydot": {"pydot"},
|
|
38
|
+
"gradio": {"gradio"},
|
|
38
39
|
"graphviz": {"graphviz"},
|
|
39
40
|
"tensorflow": (
|
|
40
41
|
"tensorflow",
|
|
@@ -102,6 +103,15 @@ def get_fastcore_version() -> str:
|
|
|
102
103
|
return _get_version("fastcore")
|
|
103
104
|
|
|
104
105
|
|
|
106
|
+
# FastAI
|
|
107
|
+
def is_gradio_available() -> bool:
|
|
108
|
+
return _is_available("gradio")
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def get_gradio_version() -> str:
|
|
112
|
+
return _get_version("gradio")
|
|
113
|
+
|
|
114
|
+
|
|
105
115
|
# Graphviz
|
|
106
116
|
def is_graphviz_available() -> bool:
|
|
107
117
|
return _is_available("graphviz")
|
|
@@ -254,6 +264,7 @@ def dump_environment_info() -> Dict[str, Any]:
|
|
|
254
264
|
info["Pydot"] = get_pydot_version()
|
|
255
265
|
info["Pillow"] = get_pillow_version()
|
|
256
266
|
info["hf_transfer"] = get_hf_transfer_version()
|
|
267
|
+
info["gradio"] = get_gradio_version()
|
|
257
268
|
|
|
258
269
|
# Environment variables
|
|
259
270
|
info["ENDPOINT"] = constants.ENDPOINT
|
|
@@ -264,6 +275,7 @@ def dump_environment_info() -> Dict[str, Any]:
|
|
|
264
275
|
info["HF_HUB_DISABLE_TELEMETRY"] = constants.HF_HUB_DISABLE_TELEMETRY
|
|
265
276
|
info["HF_HUB_DISABLE_PROGRESS_BARS"] = constants.HF_HUB_DISABLE_PROGRESS_BARS
|
|
266
277
|
info["HF_HUB_DISABLE_SYMLINKS_WARNING"] = constants.HF_HUB_DISABLE_SYMLINKS_WARNING
|
|
278
|
+
info["HF_HUB_DISABLE_EXPERIMENTAL_WARNING"] = constants.HF_HUB_DISABLE_EXPERIMENTAL_WARNING
|
|
267
279
|
info["HF_HUB_DISABLE_IMPLICIT_TOKEN"] = constants.HF_HUB_DISABLE_IMPLICIT_TOKEN
|
|
268
280
|
info["HF_HUB_ENABLE_HF_TRANSFER"] = constants.HF_HUB_ENABLE_HF_TRANSFER
|
|
269
281
|
|
|
@@ -16,7 +16,9 @@
|
|
|
16
16
|
"""Contains utilities to easily handle subprocesses in `huggingface_hub`."""
|
|
17
17
|
import os
|
|
18
18
|
import subprocess
|
|
19
|
+
import sys
|
|
19
20
|
from contextlib import contextmanager
|
|
21
|
+
from io import StringIO
|
|
20
22
|
from pathlib import Path
|
|
21
23
|
from typing import IO, Generator, List, Optional, Tuple, Union
|
|
22
24
|
|
|
@@ -26,6 +28,26 @@ from .logging import get_logger
|
|
|
26
28
|
logger = get_logger(__name__)
|
|
27
29
|
|
|
28
30
|
|
|
31
|
+
@contextmanager
|
|
32
|
+
def capture_output() -> Generator[StringIO, None, None]:
|
|
33
|
+
"""Capture output that is printed to terminal.
|
|
34
|
+
|
|
35
|
+
Taken from https://stackoverflow.com/a/34738440
|
|
36
|
+
|
|
37
|
+
Example:
|
|
38
|
+
```py
|
|
39
|
+
>>> with capture_output() as output:
|
|
40
|
+
... print("hello world")
|
|
41
|
+
>>> assert output.getvalue() == "hello world\n"
|
|
42
|
+
```
|
|
43
|
+
"""
|
|
44
|
+
output = StringIO()
|
|
45
|
+
previous_output = sys.stdout
|
|
46
|
+
sys.stdout = output
|
|
47
|
+
yield output
|
|
48
|
+
sys.stdout = previous_output
|
|
49
|
+
|
|
50
|
+
|
|
29
51
|
def run_subprocess(
|
|
30
52
|
command: Union[str, List[str]],
|
|
31
53
|
folder: Optional[Union[str, Path]] = None,
|
|
@@ -3,10 +3,8 @@ from threading import Lock, Thread
|
|
|
3
3
|
from typing import Dict, Optional, Union
|
|
4
4
|
from urllib.parse import quote
|
|
5
5
|
|
|
6
|
-
import requests
|
|
7
|
-
|
|
8
6
|
from .. import constants, logging
|
|
9
|
-
from . import build_hf_headers, hf_raise_for_status
|
|
7
|
+
from . import build_hf_headers, get_session, hf_raise_for_status
|
|
10
8
|
|
|
11
9
|
|
|
12
10
|
logger = logging.get_logger(__name__)
|
|
@@ -105,7 +103,7 @@ def _send_telemetry_in_thread(
|
|
|
105
103
|
"""Contains the actual data sending data to the Hub."""
|
|
106
104
|
path = "/".join(quote(part) for part in topic.split("/") if len(part) > 0)
|
|
107
105
|
try:
|
|
108
|
-
r =
|
|
106
|
+
r = get_session().head(
|
|
109
107
|
f"{constants.ENDPOINT}/api/telemetry/{path}",
|
|
110
108
|
headers=build_hf_headers(
|
|
111
109
|
token=False, # no need to send a token for telemetry
|
huggingface_hub/utils/tqdm.py
CHANGED
|
@@ -77,13 +77,15 @@ _hf_hub_progress_bars_disabled: bool = HF_HUB_DISABLE_PROGRESS_BARS or False
|
|
|
77
77
|
|
|
78
78
|
def disable_progress_bars() -> None:
|
|
79
79
|
"""
|
|
80
|
-
Disable globally progress bars used in `huggingface_hub` except if
|
|
81
|
-
|
|
80
|
+
Disable globally progress bars used in `huggingface_hub` except if `HF_HUB_DISABLE_PROGRESS_BARS` environment
|
|
81
|
+
variable has been set.
|
|
82
|
+
|
|
83
|
+
Use [`~utils.enable_progress_bars`] to re-enable them.
|
|
82
84
|
"""
|
|
83
85
|
if HF_HUB_DISABLE_PROGRESS_BARS is False:
|
|
84
86
|
warnings.warn(
|
|
85
|
-
"Cannot disable progress bars: environment variable"
|
|
86
|
-
"
|
|
87
|
+
"Cannot disable progress bars: environment variable `HF_HUB_DISABLE_PROGRESS_BARS=0` is set and has"
|
|
88
|
+
" priority."
|
|
87
89
|
)
|
|
88
90
|
return
|
|
89
91
|
global _hf_hub_progress_bars_disabled
|
|
@@ -92,13 +94,15 @@ def disable_progress_bars() -> None:
|
|
|
92
94
|
|
|
93
95
|
def enable_progress_bars() -> None:
|
|
94
96
|
"""
|
|
95
|
-
Enable globally progress bars used in `huggingface_hub` except if
|
|
96
|
-
|
|
97
|
+
Enable globally progress bars used in `huggingface_hub` except if `HF_HUB_DISABLE_PROGRESS_BARS` environment
|
|
98
|
+
variable has been set.
|
|
99
|
+
|
|
100
|
+
Use [`~utils.disable_progress_bars`] to disable them.
|
|
97
101
|
"""
|
|
98
102
|
if HF_HUB_DISABLE_PROGRESS_BARS is True:
|
|
99
103
|
warnings.warn(
|
|
100
|
-
"Cannot enable progress bars: environment variable"
|
|
101
|
-
"
|
|
104
|
+
"Cannot enable progress bars: environment variable `HF_HUB_DISABLE_PROGRESS_BARS=1` is set and has"
|
|
105
|
+
" priority."
|
|
102
106
|
)
|
|
103
107
|
return
|
|
104
108
|
global _hf_hub_progress_bars_disabled
|
|
@@ -106,7 +110,11 @@ def enable_progress_bars() -> None:
|
|
|
106
110
|
|
|
107
111
|
|
|
108
112
|
def are_progress_bars_disabled() -> bool:
|
|
109
|
-
"""Return whether progress bars are globally disabled or not.
|
|
113
|
+
"""Return whether progress bars are globally disabled or not.
|
|
114
|
+
|
|
115
|
+
Progress bars used in `huggingface_hub` can be enable or disabled globally using [`~utils.enable_progress_bars`]
|
|
116
|
+
and [`~utils.disable_progress_bars`] or by setting `HF_HUB_DISABLE_PROGRESS_BARS` as environment variable.
|
|
117
|
+
"""
|
|
110
118
|
global _hf_hub_progress_bars_disabled
|
|
111
119
|
return _hf_hub_progress_bars_disabled
|
|
112
120
|
|
|
@@ -127,17 +135,14 @@ class tqdm(old_tqdm):
|
|
|
127
135
|
@contextmanager
|
|
128
136
|
def tqdm_stream_file(path: Union[Path, str]) -> Iterator[io.BufferedReader]:
|
|
129
137
|
"""
|
|
130
|
-
Open a file as binary and wrap the `read` method to display a progress bar when it's
|
|
131
|
-
streamed.
|
|
138
|
+
Open a file as binary and wrap the `read` method to display a progress bar when it's streamed.
|
|
132
139
|
|
|
133
|
-
First implemented in `transformers` in 2019 but removed when switched to git-lfs.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
implementation details.
|
|
140
|
+
First implemented in `transformers` in 2019 but removed when switched to git-lfs. Used in `huggingface_hub` to show
|
|
141
|
+
progress bar when uploading an LFS file to the Hub. See github.com/huggingface/transformers/pull/2078#discussion_r354739608
|
|
142
|
+
for implementation details.
|
|
137
143
|
|
|
138
|
-
Note: currently implementation handles only files stored on disk as it is the most
|
|
139
|
-
|
|
140
|
-
have to debug some corner cases.
|
|
144
|
+
Note: currently implementation handles only files stored on disk as it is the most common use case. Could be
|
|
145
|
+
extended to stream any `BinaryIO` object but we might have to debug some corner cases.
|
|
141
146
|
|
|
142
147
|
Example:
|
|
143
148
|
```py
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: huggingface-hub
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0.dev0
|
|
4
4
|
Summary: Client library to download and publish models, datasets and other repos on the huggingface.co hub
|
|
5
5
|
Home-page: https://github.com/huggingface/huggingface_hub
|
|
6
6
|
Author: Hugging Face, Inc.
|
|
@@ -25,6 +25,7 @@ Requires-Python: >=3.7.0
|
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
26
26
|
License-File: LICENSE
|
|
27
27
|
Requires-Dist: filelock
|
|
28
|
+
Requires-Dist: fsspec
|
|
28
29
|
Requires-Dist: requests
|
|
29
30
|
Requires-Dist: tqdm (>=4.42.1)
|
|
30
31
|
Requires-Dist: pyyaml (>=5.1)
|
|
@@ -41,6 +42,7 @@ Requires-Dist: pytest-env ; extra == 'all'
|
|
|
41
42
|
Requires-Dist: pytest-xdist ; extra == 'all'
|
|
42
43
|
Requires-Dist: soundfile ; extra == 'all'
|
|
43
44
|
Requires-Dist: Pillow ; extra == 'all'
|
|
45
|
+
Requires-Dist: gradio ; extra == 'all'
|
|
44
46
|
Requires-Dist: black (~=23.1) ; extra == 'all'
|
|
45
47
|
Requires-Dist: ruff (>=0.0.241) ; extra == 'all'
|
|
46
48
|
Requires-Dist: mypy (==0.982) ; extra == 'all'
|
|
@@ -62,6 +64,7 @@ Requires-Dist: pytest-env ; extra == 'dev'
|
|
|
62
64
|
Requires-Dist: pytest-xdist ; extra == 'dev'
|
|
63
65
|
Requires-Dist: soundfile ; extra == 'dev'
|
|
64
66
|
Requires-Dist: Pillow ; extra == 'dev'
|
|
67
|
+
Requires-Dist: gradio ; extra == 'dev'
|
|
65
68
|
Requires-Dist: black (~=23.1) ; extra == 'dev'
|
|
66
69
|
Requires-Dist: ruff (>=0.0.241) ; extra == 'dev'
|
|
67
70
|
Requires-Dist: mypy (==0.982) ; extra == 'dev'
|
|
@@ -93,6 +96,7 @@ Requires-Dist: pytest-env ; extra == 'testing'
|
|
|
93
96
|
Requires-Dist: pytest-xdist ; extra == 'testing'
|
|
94
97
|
Requires-Dist: soundfile ; extra == 'testing'
|
|
95
98
|
Requires-Dist: Pillow ; extra == 'testing'
|
|
99
|
+
Requires-Dist: gradio ; extra == 'testing'
|
|
96
100
|
Provides-Extra: torch
|
|
97
101
|
Requires-Dist: torch ; extra == 'torch'
|
|
98
102
|
Provides-Extra: typing
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
huggingface_hub/__init__.py,sha256=Rh3L6Bpn392saVJM9q_245NM6NP2UO9p_Yj_o52ZKcc,16348
|
|
2
|
+
huggingface_hub/_commit_api.py,sha256=EDkR6TKwr6iu_zP5SZ2jy4H1Uwh8a5ShjQY5wnbJqdE,20672
|
|
3
|
+
huggingface_hub/_login.py,sha256=7d6zaHl7VVJuseqc7BAdugztFWSfCBPSX3Z6Yg7sDHc,11631
|
|
4
|
+
huggingface_hub/_multi_commits.py,sha256=QR9rJR4KrlsTqInCnkdq4a4ubGsLfpUyPC2sMLNNe2Q,12446
|
|
5
|
+
huggingface_hub/_snapshot_download.py,sha256=2Xeu83sdxhnfebPl3x4FkUtO1VAd3-3e1VWxeDMY-Wk,11578
|
|
6
|
+
huggingface_hub/_space_api.py,sha256=30ZvACXgPjHvni4wKO-3zsLkzj49jD4PTsHDMc4bA00,3597
|
|
7
|
+
huggingface_hub/_webhooks_payload.py,sha256=HVs5SrcvY0ck22cKyVbyk18mtyW5i4sm4QVMyq6zMjo,2998
|
|
8
|
+
huggingface_hub/_webhooks_server.py,sha256=zsxFnLNHaeLovGvFvBn7m26e3j7Hlvctbo5bFm5QfPA,14540
|
|
9
|
+
huggingface_hub/community.py,sha256=_DSEwFZ-sz-pbmUbbThJ4RTx32nJ3-J3p774R49WC6w,12113
|
|
10
|
+
huggingface_hub/constants.py,sha256=fl1twS_ADcLFpH29A-3eMlYeNTYXKpNAxotfYSU_Hv0,4874
|
|
11
|
+
huggingface_hub/fastai_utils.py,sha256=5I7zAfgHJU_mZnxnf9wgWTHrCRu_EAV8VTangDVfE_o,16676
|
|
12
|
+
huggingface_hub/file_download.py,sha256=DBTx1HA3VMVwME19cCsHxncMODSIV0xDNg95Bhic0SU,67459
|
|
13
|
+
huggingface_hub/hf_api.py,sha256=byDtR4d9jvxjTCtJCehLpeDIZxSngwrqlxDSbDfis0k,198627
|
|
14
|
+
huggingface_hub/hf_file_system.py,sha256=jMO4fsrvg_tMQ4ccyGoen1Mky0IVn0e2wSC9ILiIWdg,19664
|
|
15
|
+
huggingface_hub/hub_mixin.py,sha256=yGQ5SxUYP33P5kci92cT3WFyD_enN8hAklXTpkwTvGU,16818
|
|
16
|
+
huggingface_hub/inference_api.py,sha256=7KV8ZAkYqDDjvb5jSRYX1VAg8wZysunrCStRYUXfpA4,7883
|
|
17
|
+
huggingface_hub/keras_mixin.py,sha256=BG_Ck_dbaKecW2y2keGXAxVSpPyLACLmWVsd2larcJU,18837
|
|
18
|
+
huggingface_hub/lfs.py,sha256=7a5wXF1ZxpknLigpH4WzfArTN8KxDPB_1UXFrSN9ans,17910
|
|
19
|
+
huggingface_hub/repocard.py,sha256=yLdXM_2MgYk3tPKF30QaxqDBUpQbTYccFnzNl_Wxghc,34237
|
|
20
|
+
huggingface_hub/repocard_data.py,sha256=xpLC_PNIEIArNu4EVMBOXtC8VPnpXRQLHyXAlvUMVss,29768
|
|
21
|
+
huggingface_hub/repository.py,sha256=u1-ttpIjHbP9t3Scca62juR3jNs9k_-wQpOZ-59JQH8,53729
|
|
22
|
+
huggingface_hub/commands/__init__.py,sha256=AkbM2a-iGh0Vq_xAWhK3mu3uZ44km8-X5uWjKcvcrUQ,928
|
|
23
|
+
huggingface_hub/commands/_cli_utils.py,sha256=VA_3cHzIlsEQmKPnfNTgJNI36UtcrxRmfB44RdbP1LA,1970
|
|
24
|
+
huggingface_hub/commands/delete_cache.py,sha256=75qA3TQixIiCULLZumIRj-2rd2JIWeRguWT8jXaemsw,16100
|
|
25
|
+
huggingface_hub/commands/env.py,sha256=LJjOxo-m0DrvQdyhWGjnLGtWt91ec63BMI4FQ-5bWXQ,1225
|
|
26
|
+
huggingface_hub/commands/huggingface_cli.py,sha256=FaN0T85RYOa5xbU3582wOojA4SWMaRZ4HL41NvI0mX8,1692
|
|
27
|
+
huggingface_hub/commands/lfs.py,sha256=rMtm6LdKOGC15aSOXJjOlk3e-bhg7-wlY3yNjEhG8Tc,7332
|
|
28
|
+
huggingface_hub/commands/scan_cache.py,sha256=S5Xfnb4ype5aQCojo8vrmEUaS8vX2aozbkD0S1qsJ4M,5152
|
|
29
|
+
huggingface_hub/commands/user.py,sha256=aPnSVO4OU86rb8NAL43s-5i2QDBfj0UoeubBJLJ1i8M,6955
|
|
30
|
+
huggingface_hub/templates/datasetcard_template.md,sha256=9RRyo88T8dv5oNfjgEGX2NhCR0vW_Y-cGlvfbJ7J5Ro,2721
|
|
31
|
+
huggingface_hub/templates/modelcard_template.md,sha256=zgehAu_isrwVL6g1Q3fDIgCHPjjsppO6U9IYlsSaoyI,6766
|
|
32
|
+
huggingface_hub/utils/__init__.py,sha256=jQ-NZdOHe03YpTL-lD4u-MTSmx5Cc6GXiK_oQJ-4WfQ,2750
|
|
33
|
+
huggingface_hub/utils/_cache_assets.py,sha256=QmI_qlzsOpjK0B6k4GYiLFrKzq3mFLQVoTn2pmWqshE,5755
|
|
34
|
+
huggingface_hub/utils/_cache_manager.py,sha256=MvcmmpdxPaYQCMKSLoFPwgPQ0U4cxnnL4DuP440XOhU,29154
|
|
35
|
+
huggingface_hub/utils/_chunk_utils.py,sha256=6VRyjiGr2bPupPl1azSUTxKuJ51wdgELipwJ2YRfH5U,2129
|
|
36
|
+
huggingface_hub/utils/_datetime.py,sha256=RA92d7k3pV6JKmRXFvsofgp1oHfjMZb5Y-X0vpTIkgQ,2728
|
|
37
|
+
huggingface_hub/utils/_deprecation.py,sha256=zY8vS1XoI5wDS2Oh_4gjn4YqzwtZ_uy6KireQaRnRms,8353
|
|
38
|
+
huggingface_hub/utils/_errors.py,sha256=xJiulHtTScFIwMTktNCEfS8o1Yj-h0tLhlcDBtkWz5U,12666
|
|
39
|
+
huggingface_hub/utils/_experimental.py,sha256=tKDUH2-IQuBUP_5GWtmz0-NsVhFaHFGO1g-svs8ga4c,2225
|
|
40
|
+
huggingface_hub/utils/_fixes.py,sha256=wFvfTYj62Il2OwkQB_Qp0xONG6SARQ5oEkT3_FhB4rc,2437
|
|
41
|
+
huggingface_hub/utils/_git_credential.py,sha256=8tOMTZBPTm7Z2nTw-6OknP6BW9zglLJK-wwiPI9FxIM,4047
|
|
42
|
+
huggingface_hub/utils/_headers.py,sha256=kg7Dw0X-LJbDiK4JLeCOiblMo8aK03sHh_2frbOFN8E,9241
|
|
43
|
+
huggingface_hub/utils/_hf_folder.py,sha256=HlDbVKOUKclmWqyoAyLC1ueCzJW2HtU07XCrMCEWyDk,3594
|
|
44
|
+
huggingface_hub/utils/_http.py,sha256=GYsT77wmiQ8Y8xAXBgPW4X1x3dTqnfLDC3U-bKQ2YQc,10180
|
|
45
|
+
huggingface_hub/utils/_pagination.py,sha256=VfpmMLyNCRo24fw0o_yWysMK69d9M6sSg2-nWtuypO4,1840
|
|
46
|
+
huggingface_hub/utils/_paths.py,sha256=nUaxXN-R2EcWfHE8ivFWfHqEKMIvXEdUeCGDC_QHMqc,4397
|
|
47
|
+
huggingface_hub/utils/_runtime.py,sha256=Nxh6mp1SzgawKB-k16QKnIyASx4yupL1PRPUY482LLw,8156
|
|
48
|
+
huggingface_hub/utils/_subprocess.py,sha256=LW9b8TWh9rsm3pW9_5b-mVV_AtYNyLXgC6e09SthkWI,4616
|
|
49
|
+
huggingface_hub/utils/_telemetry.py,sha256=jHAdgWNcL9nVvMT3ec3i78O-cwL09GnlifuokzpQjMI,4641
|
|
50
|
+
huggingface_hub/utils/_typing.py,sha256=-5LS6BKwb491Grqp14eoNGYGmYmJjVjQNX7p9qAFCqk,917
|
|
51
|
+
huggingface_hub/utils/_validators.py,sha256=C0Md9LaM717hQ7VwX_q5YsZAQ8-0gFaNkGmEuZ62XAE,9462
|
|
52
|
+
huggingface_hub/utils/endpoint_helpers.py,sha256=wXE3U1resSFvfdZbNevzrFyf39o9LfEVZd-k1cd6iig,12810
|
|
53
|
+
huggingface_hub/utils/logging.py,sha256=-Uov2WGLv16hS-V4Trvs_XO-TvSeZ1xIWZ-cfvDl7ac,4778
|
|
54
|
+
huggingface_hub/utils/sha.py,sha256=Wmeh2lwS2H0_CNLqDk_mNyb4jAjfTdlG6FZsuh6LqVg,890
|
|
55
|
+
huggingface_hub/utils/tqdm.py,sha256=rgz6ABv578cT9oTu6zkpW1bp21D1E8nH7saUNWcUp5s,6070
|
|
56
|
+
huggingface_hub-0.14.0.dev0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
57
|
+
huggingface_hub-0.14.0.dev0.dist-info/METADATA,sha256=Bh-GhMuUE14wFFbbR0FkydRJGUr4pbSIqgmvmzbR8Bo,7624
|
|
58
|
+
huggingface_hub-0.14.0.dev0.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
59
|
+
huggingface_hub-0.14.0.dev0.dist-info/entry_points.txt,sha256=Y3Z2L02rBG7va_iE6RPXolIgwOdwUFONyRN3kXMxZ0g,131
|
|
60
|
+
huggingface_hub-0.14.0.dev0.dist-info/top_level.txt,sha256=8KzlQJAY4miUvjAssOAJodqKOw3harNzuiwGQ9qLSSk,16
|
|
61
|
+
huggingface_hub-0.14.0.dev0.dist-info/RECORD,,
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
huggingface_hub/__init__.py,sha256=M4fdGRVLQGaOF8nrc9XBSyu_o6OuXcmzvAXD6vbxxfo,14645
|
|
2
|
-
huggingface_hub/_commit_api.py,sha256=QP3YtZdMOFKW0EchiS9JGPo5EVlkUz6cGktCagvoOx0,22558
|
|
3
|
-
huggingface_hub/_login.py,sha256=X0hXt2AwMZbMlH0gnRQALyD48QJ_aDMGBEN6Gs0Hmz0,11517
|
|
4
|
-
huggingface_hub/_snapshot_download.py,sha256=eY0OWOpunWJY32d1d30ggV3rr3ND_LpEnYmu87nzZcY,11339
|
|
5
|
-
huggingface_hub/_space_api.py,sha256=URSt8IDDnzZ4wiGiuoZgwNP3ZMgNmXZQGFcOQhfkQEU,3120
|
|
6
|
-
huggingface_hub/community.py,sha256=WwVSOtephAX0OqALlOW_1EPu09r-Y5WpIF7jPkn0ze8,11062
|
|
7
|
-
huggingface_hub/constants.py,sha256=EIhFt9LSDZKnstgJ3Zwqu2coHBHg8ms7dXNPE6QkFU8,4714
|
|
8
|
-
huggingface_hub/fastai_utils.py,sha256=5I7zAfgHJU_mZnxnf9wgWTHrCRu_EAV8VTangDVfE_o,16676
|
|
9
|
-
huggingface_hub/file_download.py,sha256=APkKWCyBRqx0g4-Uhs3oqyFP5Wt5HiNYrK708MqcmUs,66482
|
|
10
|
-
huggingface_hub/hf_api.py,sha256=Zh_iIV_Qhk79nbKaXigtcanCeGVfIpqdkqU9yYhaH3M,173043
|
|
11
|
-
huggingface_hub/hub_mixin.py,sha256=94BN_vzHDBX2tDgVV8la4CfkUzN2OgLsV9p9sz4OP7c,16783
|
|
12
|
-
huggingface_hub/inference_api.py,sha256=3NkHAAGS9wK8PbXxly8YI-0V6gfZgZvV3N5bTdRfvDM,7882
|
|
13
|
-
huggingface_hub/keras_mixin.py,sha256=cvLoaf2GNpeYOyDEQrZnSkYxeYPoDjgrxCr8BRWHPcA,18797
|
|
14
|
-
huggingface_hub/lfs.py,sha256=Ij-QF8sWjVtL2XwWw4SaLIlsEP8sL2hdr7efFoonrEU,16007
|
|
15
|
-
huggingface_hub/repocard.py,sha256=TV0V6UxCCRlJ0Yvr9p2KA8dGUFlTgzSObczNqkNIItw,34219
|
|
16
|
-
huggingface_hub/repocard_data.py,sha256=xpLC_PNIEIArNu4EVMBOXtC8VPnpXRQLHyXAlvUMVss,29768
|
|
17
|
-
huggingface_hub/repository.py,sha256=arXVSuom8jTJxbia_fm2HAvWeEVnowK5cHajcO6n_vQ,53727
|
|
18
|
-
huggingface_hub/commands/__init__.py,sha256=AkbM2a-iGh0Vq_xAWhK3mu3uZ44km8-X5uWjKcvcrUQ,928
|
|
19
|
-
huggingface_hub/commands/_cli_utils.py,sha256=VA_3cHzIlsEQmKPnfNTgJNI36UtcrxRmfB44RdbP1LA,1970
|
|
20
|
-
huggingface_hub/commands/delete_cache.py,sha256=75qA3TQixIiCULLZumIRj-2rd2JIWeRguWT8jXaemsw,16100
|
|
21
|
-
huggingface_hub/commands/env.py,sha256=LJjOxo-m0DrvQdyhWGjnLGtWt91ec63BMI4FQ-5bWXQ,1225
|
|
22
|
-
huggingface_hub/commands/huggingface_cli.py,sha256=FaN0T85RYOa5xbU3582wOojA4SWMaRZ4HL41NvI0mX8,1692
|
|
23
|
-
huggingface_hub/commands/lfs.py,sha256=nNbeNVy39Ewcw1LjKf_P1X5U29vRGtLhWQn6fNa7CPg,7326
|
|
24
|
-
huggingface_hub/commands/scan_cache.py,sha256=S5Xfnb4ype5aQCojo8vrmEUaS8vX2aozbkD0S1qsJ4M,5152
|
|
25
|
-
huggingface_hub/commands/user.py,sha256=XXoFZmUk_fvN0B7QcEsOQgvXJP4n0q1Vbyz_q5mTPjM,7102
|
|
26
|
-
huggingface_hub/templates/datasetcard_template.md,sha256=9RRyo88T8dv5oNfjgEGX2NhCR0vW_Y-cGlvfbJ7J5Ro,2721
|
|
27
|
-
huggingface_hub/templates/modelcard_template.md,sha256=VilQaJVwtbN_AEfp9pbu9K-QBig53jxNAWRdqj18W4g,6767
|
|
28
|
-
huggingface_hub/utils/__init__.py,sha256=eXyjxREQP6sDmfbJYkd4byXHaKe02YK2kUnzItTGrYQ,2659
|
|
29
|
-
huggingface_hub/utils/_cache_assets.py,sha256=QmI_qlzsOpjK0B6k4GYiLFrKzq3mFLQVoTn2pmWqshE,5755
|
|
30
|
-
huggingface_hub/utils/_cache_manager.py,sha256=MvcmmpdxPaYQCMKSLoFPwgPQ0U4cxnnL4DuP440XOhU,29154
|
|
31
|
-
huggingface_hub/utils/_chunk_utils.py,sha256=6VRyjiGr2bPupPl1azSUTxKuJ51wdgELipwJ2YRfH5U,2129
|
|
32
|
-
huggingface_hub/utils/_datetime.py,sha256=RA92d7k3pV6JKmRXFvsofgp1oHfjMZb5Y-X0vpTIkgQ,2728
|
|
33
|
-
huggingface_hub/utils/_deprecation.py,sha256=zY8vS1XoI5wDS2Oh_4gjn4YqzwtZ_uy6KireQaRnRms,8353
|
|
34
|
-
huggingface_hub/utils/_errors.py,sha256=hFaXE3UYIBW4gmbW0F18niuqv0wSns3zPUNMMDo8ILI,12630
|
|
35
|
-
huggingface_hub/utils/_fixes.py,sha256=wFvfTYj62Il2OwkQB_Qp0xONG6SARQ5oEkT3_FhB4rc,2437
|
|
36
|
-
huggingface_hub/utils/_git_credential.py,sha256=-7zwTlltrGfnGFzA9XDJzEAf5SWzMywXynIKoMwvDoc,6794
|
|
37
|
-
huggingface_hub/utils/_headers.py,sha256=kg7Dw0X-LJbDiK4JLeCOiblMo8aK03sHh_2frbOFN8E,9241
|
|
38
|
-
huggingface_hub/utils/_hf_folder.py,sha256=HlDbVKOUKclmWqyoAyLC1ueCzJW2HtU07XCrMCEWyDk,3594
|
|
39
|
-
huggingface_hub/utils/_http.py,sha256=52qL9jscyvMyobPxk23PhuBIZC0_FXAqqIzB9ntW82k,6483
|
|
40
|
-
huggingface_hub/utils/_pagination.py,sha256=IcFZiR-zhRSzgoAKgYZ4t3TGTYK-rsNzgedB8RS_ZM4,1801
|
|
41
|
-
huggingface_hub/utils/_paths.py,sha256=ijC3egnftuwxx0FiHFcCWHJ6iODo_-fF73Q5mZim-Dk,4324
|
|
42
|
-
huggingface_hub/utils/_runtime.py,sha256=ZoTElrskSClpdYixQwjb6NPh4U53JTaffaQccEKCwSQ,7842
|
|
43
|
-
huggingface_hub/utils/_subprocess.py,sha256=vIBil5lyRXe6MUGO2BeFAULwhrYKzrkO1xPAa67xGXo,4105
|
|
44
|
-
huggingface_hub/utils/_telemetry.py,sha256=fIh6FUr332rxNkbkXi-7dM_2gLoL7Q4A8v9wDJ7Sp40,4640
|
|
45
|
-
huggingface_hub/utils/_typing.py,sha256=-5LS6BKwb491Grqp14eoNGYGmYmJjVjQNX7p9qAFCqk,917
|
|
46
|
-
huggingface_hub/utils/_validators.py,sha256=C0Md9LaM717hQ7VwX_q5YsZAQ8-0gFaNkGmEuZ62XAE,9462
|
|
47
|
-
huggingface_hub/utils/endpoint_helpers.py,sha256=wXE3U1resSFvfdZbNevzrFyf39o9LfEVZd-k1cd6iig,12810
|
|
48
|
-
huggingface_hub/utils/logging.py,sha256=-Uov2WGLv16hS-V4Trvs_XO-TvSeZ1xIWZ-cfvDl7ac,4778
|
|
49
|
-
huggingface_hub/utils/sha.py,sha256=Wmeh2lwS2H0_CNLqDk_mNyb4jAjfTdlG6FZsuh6LqVg,890
|
|
50
|
-
huggingface_hub/utils/tqdm.py,sha256=iTe9IhbPWIezSn6GBAuPlZe_q-5T47ARwUJAQZ6xepc,5741
|
|
51
|
-
huggingface_hub-0.13.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
52
|
-
huggingface_hub-0.13.4.dist-info/METADATA,sha256=SSrUKfQQ8XvDsppt1h-fwdelK47KD_h_12VRL8USH8o,7476
|
|
53
|
-
huggingface_hub-0.13.4.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
|
|
54
|
-
huggingface_hub-0.13.4.dist-info/entry_points.txt,sha256=7-_O79Kk26OM9R3QgywVzfyrNjZ3F8tCUhDtozJ7yIc,83
|
|
55
|
-
huggingface_hub-0.13.4.dist-info/top_level.txt,sha256=8KzlQJAY4miUvjAssOAJodqKOw3harNzuiwGQ9qLSSk,16
|
|
56
|
-
huggingface_hub-0.13.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|