huggingface-hub 0.12.1__py3-none-any.whl → 0.13.0rc0__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.
Files changed (47) hide show
  1. huggingface_hub/__init__.py +165 -127
  2. huggingface_hub/_commit_api.py +25 -51
  3. huggingface_hub/_login.py +4 -13
  4. huggingface_hub/_snapshot_download.py +45 -23
  5. huggingface_hub/_space_api.py +7 -0
  6. huggingface_hub/commands/delete_cache.py +13 -39
  7. huggingface_hub/commands/env.py +1 -3
  8. huggingface_hub/commands/huggingface_cli.py +1 -3
  9. huggingface_hub/commands/lfs.py +4 -8
  10. huggingface_hub/commands/scan_cache.py +5 -16
  11. huggingface_hub/commands/user.py +27 -45
  12. huggingface_hub/community.py +4 -4
  13. huggingface_hub/constants.py +22 -19
  14. huggingface_hub/fastai_utils.py +14 -23
  15. huggingface_hub/file_download.py +166 -108
  16. huggingface_hub/hf_api.py +500 -255
  17. huggingface_hub/hub_mixin.py +181 -176
  18. huggingface_hub/inference_api.py +4 -10
  19. huggingface_hub/keras_mixin.py +39 -71
  20. huggingface_hub/lfs.py +8 -24
  21. huggingface_hub/repocard.py +33 -48
  22. huggingface_hub/repocard_data.py +141 -30
  23. huggingface_hub/repository.py +41 -112
  24. huggingface_hub/templates/modelcard_template.md +39 -34
  25. huggingface_hub/utils/__init__.py +1 -0
  26. huggingface_hub/utils/_cache_assets.py +1 -4
  27. huggingface_hub/utils/_cache_manager.py +17 -39
  28. huggingface_hub/utils/_deprecation.py +8 -12
  29. huggingface_hub/utils/_errors.py +10 -57
  30. huggingface_hub/utils/_fixes.py +2 -6
  31. huggingface_hub/utils/_git_credential.py +5 -16
  32. huggingface_hub/utils/_headers.py +22 -11
  33. huggingface_hub/utils/_http.py +1 -4
  34. huggingface_hub/utils/_paths.py +5 -12
  35. huggingface_hub/utils/_runtime.py +2 -1
  36. huggingface_hub/utils/_telemetry.py +120 -0
  37. huggingface_hub/utils/_validators.py +5 -13
  38. huggingface_hub/utils/endpoint_helpers.py +1 -3
  39. huggingface_hub/utils/logging.py +10 -8
  40. {huggingface_hub-0.12.1.dist-info → huggingface_hub-0.13.0rc0.dist-info}/METADATA +7 -14
  41. huggingface_hub-0.13.0rc0.dist-info/RECORD +56 -0
  42. huggingface_hub/py.typed +0 -0
  43. huggingface_hub-0.12.1.dist-info/RECORD +0 -56
  44. {huggingface_hub-0.12.1.dist-info → huggingface_hub-0.13.0rc0.dist-info}/LICENSE +0 -0
  45. {huggingface_hub-0.12.1.dist-info → huggingface_hub-0.13.0rc0.dist-info}/WHEEL +0 -0
  46. {huggingface_hub-0.12.1.dist-info → huggingface_hub-0.13.0rc0.dist-info}/entry_points.txt +0 -0
  47. {huggingface_hub-0.12.1.dist-info → huggingface_hub-0.13.0rc0.dist-info}/top_level.txt +0 -0
@@ -15,7 +15,7 @@
15
15
  """Contains utilities to handle headers to send in calls to Huggingface Hub."""
16
16
  from typing import Dict, Optional, Union
17
17
 
18
- from ..constants import HF_HUB_DISABLE_IMPLICIT_TOKEN
18
+ from .. import constants
19
19
  from ._hf_folder import HfFolder
20
20
  from ._runtime import (
21
21
  get_fastai_version,
@@ -155,7 +155,7 @@ def get_token_to_send(token: Optional[Union[bool, str]]) -> Optional[str]:
155
155
  return cached_token
156
156
 
157
157
  # Case implicit use of the token is forbidden by env variable
158
- if HF_HUB_DISABLE_IMPLICIT_TOKEN:
158
+ if constants.HF_HUB_DISABLE_IMPLICIT_TOKEN:
159
159
  return None
160
160
 
161
161
  # Otherwise: we use the cached token as the user has not explicitly forbidden it
@@ -204,16 +204,27 @@ def _http_user_agent(
204
204
  ua = "unknown/None"
205
205
  ua += f"; hf_hub/{get_hf_hub_version()}"
206
206
  ua += f"; python/{get_python_version()}"
207
- if is_torch_available():
208
- ua += f"; torch/{get_torch_version()}"
209
- if is_tf_available():
210
- ua += f"; tensorflow/{get_tf_version()}"
211
- if is_fastai_available():
212
- ua += f"; fastai/{get_fastai_version()}"
213
- if is_fastcore_available():
214
- ua += f"; fastcore/{get_fastcore_version()}"
207
+
208
+ if not constants.HF_HUB_DISABLE_TELEMETRY:
209
+ if is_torch_available():
210
+ ua += f"; torch/{get_torch_version()}"
211
+ if is_tf_available():
212
+ ua += f"; tensorflow/{get_tf_version()}"
213
+ if is_fastai_available():
214
+ ua += f"; fastai/{get_fastai_version()}"
215
+ if is_fastcore_available():
216
+ ua += f"; fastcore/{get_fastcore_version()}"
217
+
215
218
  if isinstance(user_agent, dict):
216
219
  ua += "; " + "; ".join(f"{k}/{v}" for k, v in user_agent.items())
217
220
  elif isinstance(user_agent, str):
218
221
  ua += "; " + user_agent
219
- return ua
222
+
223
+ return _deduplicate_user_agent(ua)
224
+
225
+
226
+ def _deduplicate_user_agent(user_agent: str) -> str:
227
+ """Deduplicate redundant information in the generated user-agent."""
228
+ # Split around ";" > Strip whitespaces > Store as dict keys (ensure unicity) > format back as string
229
+ # Order is implicitly preserved by dictionary structure (see https://stackoverflow.com/a/53657523).
230
+ return "; ".join({key.strip(): None for key in user_agent.split(";")}.keys())
@@ -131,10 +131,7 @@ def http_backoff(
131
131
  return response
132
132
 
133
133
  # Wrong status code returned (HTTP 503 for instance)
134
- logger.warning(
135
- f"HTTP Error {response.status_code} thrown while requesting"
136
- f" {method} {url}"
137
- )
134
+ logger.warning(f"HTTP Error {response.status_code} thrown while requesting {method} {url}")
138
135
  if nb_tries > max_retries:
139
136
  response.raise_for_status() # Will raise uncaught exception
140
137
  # We return response to avoid infinite loop in the corner case where the
@@ -41,10 +41,10 @@ def filter_repo_objects(
41
41
  items (`Iterable`):
42
42
  List of items to filter.
43
43
  allow_patterns (`str` or `List[str]`, *optional*):
44
- Patterns constituing the allowlist. If provided, item paths must match at
44
+ Patterns constituting the allowlist. If provided, item paths must match at
45
45
  least one pattern from the allowlist.
46
46
  ignore_patterns (`str` or `List[str]`, *optional*):
47
- Patterns constituing the denylist. If provided, item paths must not match
47
+ Patterns constituting the denylist. If provided, item paths must not match
48
48
  any patterns from the denylist.
49
49
  key (`Callable[[T], str]`, *optional*):
50
50
  Single-argument function to extract a path from each item. If not provided,
@@ -97,10 +97,7 @@ def filter_repo_objects(
97
97
  return item
98
98
  if isinstance(item, Path):
99
99
  return str(item)
100
- raise ValueError(
101
- f"Please provide `key` argument in `filter_repo_objects`: `{item}` is"
102
- " not a string."
103
- )
100
+ raise ValueError(f"Please provide `key` argument in `filter_repo_objects`: `{item}` is not a string.")
104
101
 
105
102
  key = _identity # Items must be `str` or `Path`, otherwise raise ValueError
106
103
 
@@ -108,15 +105,11 @@ def filter_repo_objects(
108
105
  path = key(item)
109
106
 
110
107
  # Skip if there's an allowlist and path doesn't match any
111
- if allow_patterns is not None and not any(
112
- fnmatch(path, r) for r in allow_patterns
113
- ):
108
+ if allow_patterns is not None and not any(fnmatch(path, r) for r in allow_patterns):
114
109
  continue
115
110
 
116
111
  # Skip if there's a denylist and path matches any
117
- if ignore_patterns is not None and any(
118
- fnmatch(path, r) for r in ignore_patterns
119
- ):
112
+ if ignore_patterns is not None and any(fnmatch(path, r) for r in ignore_patterns):
120
113
  continue
121
114
 
122
115
  yield item
@@ -259,8 +259,9 @@ def dump_environment_info() -> Dict[str, Any]:
259
259
  info["ENDPOINT"] = constants.ENDPOINT
260
260
  info["HUGGINGFACE_HUB_CACHE"] = constants.HUGGINGFACE_HUB_CACHE
261
261
  info["HUGGINGFACE_ASSETS_CACHE"] = constants.HUGGINGFACE_ASSETS_CACHE
262
- info["HF_HUB_OFFLINE"] = constants.HF_HUB_OFFLINE
263
262
  info["HF_TOKEN_PATH"] = constants.HF_TOKEN_PATH
263
+ info["HF_HUB_OFFLINE"] = constants.HF_HUB_OFFLINE
264
+ info["HF_HUB_DISABLE_TELEMETRY"] = constants.HF_HUB_DISABLE_TELEMETRY
264
265
  info["HF_HUB_DISABLE_PROGRESS_BARS"] = constants.HF_HUB_DISABLE_PROGRESS_BARS
265
266
  info["HF_HUB_DISABLE_SYMLINKS_WARNING"] = constants.HF_HUB_DISABLE_SYMLINKS_WARNING
266
267
  info["HF_HUB_DISABLE_IMPLICIT_TOKEN"] = constants.HF_HUB_DISABLE_IMPLICIT_TOKEN
@@ -0,0 +1,120 @@
1
+ from queue import Queue
2
+ from threading import Lock, Thread
3
+ from typing import Dict, Optional, Union
4
+ from urllib.parse import quote
5
+
6
+ import requests
7
+
8
+ from .. import constants, logging
9
+ from . import build_hf_headers, hf_raise_for_status
10
+
11
+
12
+ logger = logging.get_logger(__name__)
13
+
14
+ # Telemetry is sent by a separate thread to avoid blocking the main thread.
15
+ # A daemon thread is started once and consume tasks from the _TELEMETRY_QUEUE.
16
+ # If the thread stops for some reason -shouldn't happen-, we restart a new one.
17
+ _TELEMETRY_THREAD: Optional[Thread] = None
18
+ _TELEMETRY_THREAD_LOCK = Lock() # Lock to avoid starting multiple threads in parallel
19
+ _TELEMETRY_QUEUE: Queue = Queue()
20
+
21
+
22
+ def send_telemetry(
23
+ topic: str,
24
+ *,
25
+ library_name: Optional[str] = None,
26
+ library_version: Optional[str] = None,
27
+ user_agent: Union[Dict, str, None] = None,
28
+ ) -> None:
29
+ """
30
+ Sends telemetry that helps tracking usage of different HF libraries.
31
+
32
+ This usage data helps us debug issues and prioritize new features. However, we understand that not everyone wants
33
+ to share additional information, and we respect your privacy. You can disable telemetry collection by setting the
34
+ `HF_HUB_DISABLE_TELEMETRY=1` as environment variable. Telemetry is also disabled in offline mode (i.e. when setting
35
+ `HF_HUB_OFFLINE=1`).
36
+
37
+ Telemetry collection is run in a separate thread to minimize impact for the user.
38
+
39
+ Args:
40
+ topic (`str`):
41
+ Name of the topic that is monitored. The topic is directly used to build the URL. If you want to monitor
42
+ subtopics, just use "/" separation. Examples: "gradio", "transformers/examples",...
43
+ library_name (`str`, *optional*):
44
+ The name of the library that is making the HTTP request. Will be added to the user-agent header.
45
+ library_version (`str`, *optional*):
46
+ The version of the library that is making the HTTP request. Will be added to the user-agent header.
47
+ user_agent (`str`, `dict`, *optional*):
48
+ The user agent info in the form of a dictionary or a single string. It will be completed with information about the installed packages.
49
+
50
+ Example:
51
+ ```py
52
+ >>> from huggingface_hub.utils import send_telemetry
53
+
54
+ # Send telemetry without library information
55
+ >>> send_telemetry("ping")
56
+
57
+ # Send telemetry to subtopic with library information
58
+ >>> send_telemetry("gradio/local_link", library_name="gradio", library_version="3.22.1")
59
+
60
+ # Send telemetry with additional data
61
+ >>> send_telemetry(
62
+ ... topic="examples",
63
+ ... library_name="transformers",
64
+ ... library_version="4.26.0",
65
+ ... user_agent={"pipeline": "text_classification", "framework": "flax"},
66
+ ... )
67
+ ```
68
+ """
69
+ if constants.HF_HUB_OFFLINE or constants.HF_HUB_DISABLE_TELEMETRY:
70
+ return
71
+
72
+ _start_telemetry_thread() # starts thread only if doesn't exist yet
73
+ _TELEMETRY_QUEUE.put(
74
+ {"topic": topic, "library_name": library_name, "library_version": library_version, "user_agent": user_agent}
75
+ )
76
+
77
+
78
+ def _start_telemetry_thread():
79
+ """Start a daemon thread to consume tasks from the telemetry queue.
80
+
81
+ If the thread is interrupted, start a new one.
82
+ """
83
+ with _TELEMETRY_THREAD_LOCK: # avoid to start multiple threads if called concurrently
84
+ global _TELEMETRY_THREAD
85
+ if _TELEMETRY_THREAD is None or not _TELEMETRY_THREAD.is_alive():
86
+ _TELEMETRY_THREAD = Thread(target=_telemetry_worker, daemon=True)
87
+ _TELEMETRY_THREAD.start()
88
+
89
+
90
+ def _telemetry_worker():
91
+ """Wait for a task and consume it."""
92
+ while True:
93
+ kwargs = _TELEMETRY_QUEUE.get()
94
+ _send_telemetry_in_thread(**kwargs)
95
+ _TELEMETRY_QUEUE.task_done()
96
+
97
+
98
+ def _send_telemetry_in_thread(
99
+ topic: str,
100
+ *,
101
+ library_name: Optional[str] = None,
102
+ library_version: Optional[str] = None,
103
+ user_agent: Union[Dict, str, None] = None,
104
+ ) -> None:
105
+ """Contains the actual data sending data to the Hub."""
106
+ path = "/".join(quote(part) for part in topic.split("/") if len(part) > 0)
107
+ try:
108
+ r = requests.head(
109
+ f"{constants.ENDPOINT}/api/telemetry/{path}",
110
+ headers=build_hf_headers(
111
+ token=False, # no need to send a token for telemetry
112
+ library_name=library_name,
113
+ library_version=library_version,
114
+ user_agent=user_agent,
115
+ ),
116
+ )
117
+ hf_raise_for_status(r)
118
+ except Exception as e:
119
+ # We don't want to error in case of connection errors of any kind.
120
+ logger.debug(f"Error while sending telemetry: {e}")
@@ -99,9 +99,7 @@ def validate_hf_hub_args(fn: CallableT) -> CallableT:
99
99
 
100
100
  # Should the validator switch `use_auth_token` values to `token`? In practice, always
101
101
  # True in `huggingface_hub`. Might not be the case in a downstream library.
102
- check_use_auth_token = (
103
- "use_auth_token" not in signature.parameters and "token" in signature.parameters
104
- )
102
+ check_use_auth_token = "use_auth_token" not in signature.parameters and "token" in signature.parameters
105
103
 
106
104
  @wraps(fn)
107
105
  def _inner_fn(*args, **kwargs):
@@ -110,16 +108,14 @@ def validate_hf_hub_args(fn: CallableT) -> CallableT:
110
108
  zip(signature.parameters, args), # Args values
111
109
  kwargs.items(), # Kwargs values
112
110
  ):
113
- if arg_name == "repo_id":
111
+ if arg_name in ["repo_id", "from_id", "to_id"]:
114
112
  validate_repo_id(arg_value)
115
113
 
116
114
  elif arg_name == "token" and arg_value is not None:
117
115
  has_token = True
118
116
 
119
117
  if check_use_auth_token:
120
- kwargs = smoothly_deprecate_use_auth_token(
121
- fn_name=fn.__name__, has_token=has_token, kwargs=kwargs
122
- )
118
+ kwargs = smoothly_deprecate_use_auth_token(fn_name=fn.__name__, has_token=has_token, kwargs=kwargs)
123
119
 
124
120
  return fn(*args, **kwargs)
125
121
 
@@ -158,9 +154,7 @@ def validate_repo_id(repo_id: str) -> None:
158
154
  """
159
155
  if not isinstance(repo_id, str):
160
156
  # Typically, a Path is not a repo_id
161
- raise HFValidationError(
162
- f"Repo id must be a string, not {type(repo_id)}: '{repo_id}'."
163
- )
157
+ raise HFValidationError(f"Repo id must be a string, not {type(repo_id)}: '{repo_id}'.")
164
158
 
165
159
  if repo_id.count("/") > 1:
166
160
  raise HFValidationError(
@@ -182,9 +176,7 @@ def validate_repo_id(repo_id: str) -> None:
182
176
  raise HFValidationError(f"Repo_id cannot end by '.git': '{repo_id}'.")
183
177
 
184
178
 
185
- def smoothly_deprecate_use_auth_token(
186
- fn_name: str, has_token: bool, kwargs: Dict[str, Any]
187
- ) -> Dict[str, Any]:
179
+ def smoothly_deprecate_use_auth_token(fn_name: str, has_token: bool, kwargs: Dict[str, Any]) -> Dict[str, Any]:
188
180
  """Smoothly deprecate `use_auth_token` in the `huggingface_hub` codebase.
189
181
 
190
182
  The long-term goal is to remove any mention of `use_auth_token` in the codebase in
@@ -36,9 +36,7 @@ def _filter_emissions(
36
36
  A maximum carbon threshold to filter by, such as 10.
37
37
  """
38
38
  if minimum_threshold is None and maximum_threshold is None:
39
- raise ValueError(
40
- "Both `minimum_threshold` and `maximum_threshold` cannot both be `None`"
41
- )
39
+ raise ValueError("Both `minimum_threshold` and `maximum_threshold` cannot both be `None`")
42
40
  if minimum_threshold is None:
43
41
  minimum_threshold = -1
44
42
  if maximum_threshold is None:
@@ -16,14 +16,16 @@
16
16
 
17
17
  import logging
18
18
  import os
19
- from logging import CRITICAL # NOQA
20
- from logging import DEBUG # NOQA
21
- from logging import ERROR # NOQA
22
- from logging import FATAL # NOQA
23
- from logging import INFO # NOQA
24
- from logging import NOTSET # NOQA
25
- from logging import WARN # NOQA
26
- from logging import WARNING # NOQA
19
+ from logging import (
20
+ CRITICAL, # NOQA
21
+ DEBUG, # NOQA
22
+ ERROR, # NOQA
23
+ FATAL, # NOQA
24
+ INFO, # NOQA
25
+ NOTSET, # NOQA
26
+ WARN, # NOQA
27
+ WARNING, # NOQA
28
+ )
27
29
  from typing import Optional
28
30
 
29
31
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: huggingface-hub
3
- Version: 0.12.1
3
+ Version: 0.13.0rc0
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.
@@ -33,7 +33,6 @@ Requires-Dist: packaging (>=20.9)
33
33
  Requires-Dist: importlib-metadata ; python_version < "3.8"
34
34
  Provides-Extra: all
35
35
  Requires-Dist: InquirerPy (==0.3.4) ; extra == 'all'
36
- Requires-Dist: isort (>=5.5.4) ; extra == 'all'
37
36
  Requires-Dist: jedi ; extra == 'all'
38
37
  Requires-Dist: Jinja2 ; extra == 'all'
39
38
  Requires-Dist: pytest ; extra == 'all'
@@ -42,9 +41,8 @@ Requires-Dist: pytest-env ; extra == 'all'
42
41
  Requires-Dist: pytest-xdist ; extra == 'all'
43
42
  Requires-Dist: soundfile ; extra == 'all'
44
43
  Requires-Dist: Pillow ; extra == 'all'
45
- Requires-Dist: black (==22.3) ; extra == 'all'
46
- Requires-Dist: flake8 (>=3.8.3) ; extra == 'all'
47
- Requires-Dist: flake8-bugbear ; extra == 'all'
44
+ Requires-Dist: black (~=23.1) ; extra == 'all'
45
+ Requires-Dist: ruff (>=0.0.241) ; extra == 'all'
48
46
  Requires-Dist: mypy (==0.982) ; extra == 'all'
49
47
  Requires-Dist: types-PyYAML ; extra == 'all'
50
48
  Requires-Dist: types-requests ; extra == 'all'
@@ -56,7 +54,6 @@ Provides-Extra: cli
56
54
  Requires-Dist: InquirerPy (==0.3.4) ; extra == 'cli'
57
55
  Provides-Extra: dev
58
56
  Requires-Dist: InquirerPy (==0.3.4) ; extra == 'dev'
59
- Requires-Dist: isort (>=5.5.4) ; extra == 'dev'
60
57
  Requires-Dist: jedi ; extra == 'dev'
61
58
  Requires-Dist: Jinja2 ; extra == 'dev'
62
59
  Requires-Dist: pytest ; extra == 'dev'
@@ -65,9 +62,8 @@ Requires-Dist: pytest-env ; extra == 'dev'
65
62
  Requires-Dist: pytest-xdist ; extra == 'dev'
66
63
  Requires-Dist: soundfile ; extra == 'dev'
67
64
  Requires-Dist: Pillow ; extra == 'dev'
68
- Requires-Dist: black (==22.3) ; extra == 'dev'
69
- Requires-Dist: flake8 (>=3.8.3) ; extra == 'dev'
70
- Requires-Dist: flake8-bugbear ; extra == 'dev'
65
+ Requires-Dist: black (~=23.1) ; extra == 'dev'
66
+ Requires-Dist: ruff (>=0.0.241) ; extra == 'dev'
71
67
  Requires-Dist: mypy (==0.982) ; extra == 'dev'
72
68
  Requires-Dist: types-PyYAML ; extra == 'dev'
73
69
  Requires-Dist: types-requests ; extra == 'dev'
@@ -80,10 +76,8 @@ Requires-Dist: toml ; extra == 'fastai'
80
76
  Requires-Dist: fastai (>=2.4) ; extra == 'fastai'
81
77
  Requires-Dist: fastcore (>=1.3.27) ; extra == 'fastai'
82
78
  Provides-Extra: quality
83
- Requires-Dist: black (==22.3) ; extra == 'quality'
84
- Requires-Dist: flake8 (>=3.8.3) ; extra == 'quality'
85
- Requires-Dist: flake8-bugbear ; extra == 'quality'
86
- Requires-Dist: isort (>=5.5.4) ; extra == 'quality'
79
+ Requires-Dist: black (~=23.1) ; extra == 'quality'
80
+ Requires-Dist: ruff (>=0.0.241) ; extra == 'quality'
87
81
  Requires-Dist: mypy (==0.982) ; extra == 'quality'
88
82
  Provides-Extra: tensorflow
89
83
  Requires-Dist: tensorflow ; extra == 'tensorflow'
@@ -91,7 +85,6 @@ Requires-Dist: pydot ; extra == 'tensorflow'
91
85
  Requires-Dist: graphviz ; extra == 'tensorflow'
92
86
  Provides-Extra: testing
93
87
  Requires-Dist: InquirerPy (==0.3.4) ; extra == 'testing'
94
- Requires-Dist: isort (>=5.5.4) ; extra == 'testing'
95
88
  Requires-Dist: jedi ; extra == 'testing'
96
89
  Requires-Dist: Jinja2 ; extra == 'testing'
97
90
  Requires-Dist: pytest ; extra == 'testing'
@@ -0,0 +1,56 @@
1
+ huggingface_hub/__init__.py,sha256=RNM7nAHLUYqpe2qgbu7xg5uZEREysT1tlLXPMTaYSXE,14649
2
+ huggingface_hub/_commit_api.py,sha256=CZw-x3CTb0RNLt9uVOrR4B79A5nKg2Bm-_RtsfeYoqE,21939
3
+ huggingface_hub/_login.py,sha256=iKK6-4tDBcdCoJar_TXILUdJ76G00QYbgFVM5Dtput8,11531
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=F-e5x4prIK5qMm-gjIG_KO9grCDvbb9byURRio4Y2aU,63666
10
+ huggingface_hub/hf_api.py,sha256=TonlK6FQ2Y1di4jr__qI930d9_xeib4iEjDsZi05LLg,173061
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=mhceadB9iG9GXBNyTEYI0eKeAKbJEtDu5062lN-RV7M,34169
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.0rc0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
52
+ huggingface_hub-0.13.0rc0.dist-info/METADATA,sha256=EIXR73ol75M1-BxFMpYCLq1NBg6cUsr8Ccl9OsotEeE,7479
53
+ huggingface_hub-0.13.0rc0.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
54
+ huggingface_hub-0.13.0rc0.dist-info/entry_points.txt,sha256=7-_O79Kk26OM9R3QgywVzfyrNjZ3F8tCUhDtozJ7yIc,83
55
+ huggingface_hub-0.13.0rc0.dist-info/top_level.txt,sha256=8KzlQJAY4miUvjAssOAJodqKOw3harNzuiwGQ9qLSSk,16
56
+ huggingface_hub-0.13.0rc0.dist-info/RECORD,,
huggingface_hub/py.typed DELETED
File without changes
@@ -1,56 +0,0 @@
1
- huggingface_hub/__init__.py,sha256=LnwSTwYA8M4WOj49391JUiVTtO2GRyeFAYHkU7slyjg,15724
2
- huggingface_hub/_commit_api.py,sha256=1TmC5843NqeA5EBTefPRqiwGjrIhv6Y8FV20NNgU18o,22361
3
- huggingface_hub/_login.py,sha256=nt0IGxmdvoSANSqkLYD2igMS9i8FkAjwpOyA_gczofs,11590
4
- huggingface_hub/_snapshot_download.py,sha256=dCcjBYgXquWOijyQnsnh2ZKibX3AVF_i3a2edHwbwmc,8876
5
- huggingface_hub/_space_api.py,sha256=JAD3X7OFU8qgVNuKt0O02EIDmP3ix0cI3ckIX07vwhg,2878
6
- huggingface_hub/community.py,sha256=aDQnAAF7KwtcY7RsyZ2mOuP3HhYmS6MLTtNKJRl9O8k,11059
7
- huggingface_hub/constants.py,sha256=rIom_PYNHTpdmOH3c7Qw8JUT6FNidWUFhRJJxsSa4mI,4039
8
- huggingface_hub/fastai_utils.py,sha256=hWeofPUM7XzUWiA3kmRSU0xh0kWqDDQ5_4yY0qJ2OKU,16527
9
- huggingface_hub/file_download.py,sha256=_5HgWyadSMHbEtRqIfkr3ck0hpFm5sv2iGqmky0q-9c,58368
10
- huggingface_hub/hf_api.py,sha256=djc69S99t3vcwH7KEz0SbMO5fsN0x9A5GzwxHygz1zM,156988
11
- huggingface_hub/hub_mixin.py,sha256=KEkHwkevvu7wLRNyw_H7Gw1G9wn_Jorax9yJ5BlSF3Q,14821
12
- huggingface_hub/inference_api.py,sha256=ge1V5wD_HSraMuyRd27gaMKpqVtxJCDLRxFfV_qWxVY,7943
13
- huggingface_hub/keras_mixin.py,sha256=Xfs5s3sWzdaDVszsp0tgFIjGufyMUqyzzFzrwYvHN0E,19629
14
- huggingface_hub/lfs.py,sha256=gTfQKYIfGGp8xqqjNhwR9U0rUWcvQzdLG2Bn4r1Euyw,16217
15
- huggingface_hub/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- huggingface_hub/repocard.py,sha256=W5ixDRCKO3CvCPDkjGZdVCVEuFxL2TYaC9a3Xa_VuzE,33943
17
- huggingface_hub/repocard_data.py,sha256=R4EZ9Le1DWXQkaZG-3DGhtjQVOENzY2aHKoFS7AVTKs,24337
18
- huggingface_hub/repository.py,sha256=biGU1ORzsU4sh0SjT-49tG723L3PYgl4ltg91mmPWsw,54715
19
- huggingface_hub/commands/__init__.py,sha256=AkbM2a-iGh0Vq_xAWhK3mu3uZ44km8-X5uWjKcvcrUQ,928
20
- huggingface_hub/commands/_cli_utils.py,sha256=VA_3cHzIlsEQmKPnfNTgJNI36UtcrxRmfB44RdbP1LA,1970
21
- huggingface_hub/commands/delete_cache.py,sha256=qsfqOjnS1cG9_qRd2jassz08iR539uPNocbBQuiPpZ8,16392
22
- huggingface_hub/commands/env.py,sha256=ABSFyUnngQkVU6fFDW2oq2-2tcGKI_tC5HB-JapA9Lo,1247
23
- huggingface_hub/commands/huggingface_cli.py,sha256=HzT9wXbgelLTyE4xVZLV9wLkRhge-QNThZpv8rWYQmU,1706
24
- huggingface_hub/commands/lfs.py,sha256=dCBs4Ho7-ifkS1LD79T2v5AGFw1qK5Kn6yxJYsaK17o,7384
25
- huggingface_hub/commands/scan_cache.py,sha256=VpcSpr9Rgj75psfIH2wiV0QV0zooCuElqzBjvqc2G1w,5387
26
- huggingface_hub/commands/user.py,sha256=VfHxIv4FWz8eA4Z7o3ZHytTGTzHts7wRvee_NK9fRBw,7071
27
- huggingface_hub/templates/datasetcard_template.md,sha256=9RRyo88T8dv5oNfjgEGX2NhCR0vW_Y-cGlvfbJ7J5Ro,2721
28
- huggingface_hub/templates/modelcard_template.md,sha256=Q6fBGZ5g2T1WX_RN8OaffJ07TTC8RC1cP2iRiNZXdHQ,6469
29
- huggingface_hub/utils/__init__.py,sha256=RmnHIF9xIs-OncbpsKf5-Xvjr71XGK4lZRPD_aZj2-Q,2620
30
- huggingface_hub/utils/_cache_assets.py,sha256=xPg64oY-SiOM_Oyv_iDCqYFA9aU34-MZqo5hSJ2qD2I,5792
31
- huggingface_hub/utils/_cache_manager.py,sha256=UEndBYwZQA_NtLqcNtOmisywTBb9cMNjbuxD2fMJepU,29456
32
- huggingface_hub/utils/_chunk_utils.py,sha256=6VRyjiGr2bPupPl1azSUTxKuJ51wdgELipwJ2YRfH5U,2129
33
- huggingface_hub/utils/_datetime.py,sha256=RA92d7k3pV6JKmRXFvsofgp1oHfjMZb5Y-X0vpTIkgQ,2728
34
- huggingface_hub/utils/_deprecation.py,sha256=-W7m-Si9dnWNJBtOOc5nel4hm42QRTuWQM1LWdjyI7A,8404
35
- huggingface_hub/utils/_errors.py,sha256=X5Uc96OOa7yLmXjtPPLyrMH22c5C6ZgljVmCz79g99Y,13675
36
- huggingface_hub/utils/_fixes.py,sha256=LDuyMY2RvxQ42f10qCSBHj_HIkhx5ywpVSCJK0u_NWg,2457
37
- huggingface_hub/utils/_git_credential.py,sha256=s5c8xHjqWSwivMFXoGIX8YOKx0utXOZChNqIUeFy8Lk,6887
38
- huggingface_hub/utils/_headers.py,sha256=WxPeXzv42tadLQNLUeF511NlR-frR2WtrVEAMPRkGzs,8734
39
- huggingface_hub/utils/_hf_folder.py,sha256=HlDbVKOUKclmWqyoAyLC1ueCzJW2HtU07XCrMCEWyDk,3594
40
- huggingface_hub/utils/_http.py,sha256=q3yksn4IOx2sgqQUNXsap2mVwZP2lutmMAEnWTXX3B4,6533
41
- huggingface_hub/utils/_pagination.py,sha256=IcFZiR-zhRSzgoAKgYZ4t3TGTYK-rsNzgedB8RS_ZM4,1801
42
- huggingface_hub/utils/_paths.py,sha256=0AupDuZkweZfbVxzX1wqDz5inAI5EcN1O7oUwaYQo_8,4415
43
- huggingface_hub/utils/_runtime.py,sha256=1DY84LV0LjBqY_vqg_hd2-aJZvTtfgAYBuzb67QJ4fE,7768
44
- huggingface_hub/utils/_subprocess.py,sha256=vIBil5lyRXe6MUGO2BeFAULwhrYKzrkO1xPAa67xGXo,4105
45
- huggingface_hub/utils/_typing.py,sha256=-5LS6BKwb491Grqp14eoNGYGmYmJjVjQNX7p9qAFCqk,917
46
- huggingface_hub/utils/_validators.py,sha256=oD4KFmsO4X3xM2l_zP1WuCifLUeSFCSVeZeM5eOVVek,9514
47
- huggingface_hub/utils/endpoint_helpers.py,sha256=qwx_HHtqMSwAlOWAbkXbyHrugbOEgdrHT5QTej1sdEc,12832
48
- huggingface_hub/utils/logging.py,sha256=i1UUvMuTkZPvZcz5Y9g2uJ3k2h5FOYA6yPyuLj_6R_g,4874
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.12.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
52
- huggingface_hub-0.12.1.dist-info/METADATA,sha256=mmLtP6pSw_vfu7a6qp4h7ujPCHvE5Gg0lUVcd95cenQ,7821
53
- huggingface_hub-0.12.1.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
54
- huggingface_hub-0.12.1.dist-info/entry_points.txt,sha256=7-_O79Kk26OM9R3QgywVzfyrNjZ3F8tCUhDtozJ7yIc,83
55
- huggingface_hub-0.12.1.dist-info/top_level.txt,sha256=8KzlQJAY4miUvjAssOAJodqKOw3harNzuiwGQ9qLSSk,16
56
- huggingface_hub-0.12.1.dist-info/RECORD,,