hysts HF Staff commited on
Commit
10b46cb
·
1 Parent(s): 7dbcf4a
.pre-commit-config.yaml CHANGED
@@ -1,6 +1,6 @@
1
  repos:
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v4.6.0
4
  hooks:
5
  - id: check-executables-have-shebangs
6
  - id: check-json
@@ -18,13 +18,15 @@ repos:
18
  hooks:
19
  - id: docformatter
20
  args: ["--in-place"]
21
- - repo: https://github.com/pycqa/isort
22
- rev: 5.13.2
23
  hooks:
24
- - id: isort
25
- args: ["--profile", "black"]
 
 
26
  - repo: https://github.com/pre-commit/mirrors-mypy
27
- rev: v1.9.0
28
  hooks:
29
  - id: mypy
30
  args: ["--ignore-missing-imports"]
@@ -35,14 +37,8 @@ repos:
35
  "types-PyYAML",
36
  "types-pytz",
37
  ]
38
- - repo: https://github.com/psf/black
39
- rev: 24.4.0
40
- hooks:
41
- - id: black
42
- language_version: python3.10
43
- args: ["--line-length", "119"]
44
  - repo: https://github.com/kynan/nbstripout
45
- rev: 0.7.1
46
  hooks:
47
  - id: nbstripout
48
  args:
@@ -51,7 +47,7 @@ repos:
51
  "metadata.interpreter metadata.kernelspec cell.metadata.pycharm",
52
  ]
53
  - repo: https://github.com/nbQA-dev/nbQA
54
- rev: 1.8.5
55
  hooks:
56
  - id: nbqa-black
57
  - id: nbqa-pyupgrade
 
1
  repos:
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
+ rev: v5.0.0
4
  hooks:
5
  - id: check-executables-have-shebangs
6
  - id: check-json
 
18
  hooks:
19
  - id: docformatter
20
  args: ["--in-place"]
21
+ - repo: https://github.com/astral-sh/ruff-pre-commit
22
+ rev: v0.8.4
23
  hooks:
24
+ - id: ruff
25
+ args: ["--fix"]
26
+ - id: ruff-format
27
+ args: ["--line-length", "119"]
28
  - repo: https://github.com/pre-commit/mirrors-mypy
29
+ rev: v1.14.0
30
  hooks:
31
  - id: mypy
32
  args: ["--ignore-missing-imports"]
 
37
  "types-PyYAML",
38
  "types-pytz",
39
  ]
 
 
 
 
 
 
40
  - repo: https://github.com/kynan/nbstripout
41
+ rev: 0.8.1
42
  hooks:
43
  - id: nbstripout
44
  args:
 
47
  "metadata.interpreter metadata.kernelspec cell.metadata.pycharm",
48
  ]
49
  - repo: https://github.com/nbQA-dev/nbQA
50
+ rev: 1.9.1
51
  hooks:
52
  - id: nbqa-black
53
  - id: nbqa-pyupgrade
.vscode/extensions.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "recommendations": [
3
+ "ms-python.python",
4
+ "charliermarsh.ruff",
5
+ "streetsidesoftware.code-spell-checker",
6
+ "tamasfe.even-better-toml"
7
+ ]
8
+ }
.vscode/settings.json CHANGED
@@ -2,29 +2,20 @@
2
  "editor.formatOnSave": true,
3
  "files.insertFinalNewline": false,
4
  "[python]": {
5
- "editor.defaultFormatter": "ms-python.black-formatter",
6
  "editor.formatOnType": true,
7
  "editor.codeActionsOnSave": {
 
8
  "source.organizeImports": "explicit"
9
  }
10
  },
11
  "[jupyter]": {
12
  "files.insertFinalNewline": false
13
  },
14
- "black-formatter.args": [
15
- "--line-length=119"
16
- ],
17
- "isort.args": ["--profile", "black"],
18
- "flake8.args": [
19
- "--max-line-length=119"
20
- ],
21
- "ruff.lint.args": [
22
- "--line-length=119"
23
- ],
24
  "notebook.output.scrolling": true,
25
  "notebook.formatOnCellExecution": true,
26
  "notebook.formatOnSave.enabled": true,
27
- "notebook.codeActionsOnSave": {
28
- "source.organizeImports": "explicit"
29
- }
30
  }
 
2
  "editor.formatOnSave": true,
3
  "files.insertFinalNewline": false,
4
  "[python]": {
5
+ "editor.defaultFormatter": "charliermarsh.ruff",
6
  "editor.formatOnType": true,
7
  "editor.codeActionsOnSave": {
8
+ "source.fixAll.ruff": "explicit",
9
  "source.organizeImports": "explicit"
10
  }
11
  },
12
  "[jupyter]": {
13
  "files.insertFinalNewline": false
14
  },
 
 
 
 
 
 
 
 
 
 
15
  "notebook.output.scrolling": true,
16
  "notebook.formatOnCellExecution": true,
17
  "notebook.formatOnSave.enabled": true,
18
+ "notebook.codeActionsOnSave": {
19
+ "source.organizeImports": "explicit"
20
+ }
21
  }
README.md CHANGED
@@ -4,7 +4,7 @@ emoji: ⚡
4
  colorFrom: red
5
  colorTo: purple
6
  sdk: gradio
7
- sdk_version: 5.5.0
8
  app_file: app.py
9
  pinned: true
10
  license: mit
 
4
  colorFrom: red
5
  colorTo: purple
6
  sdk: gradio
7
+ sdk_version: 5.9.1
8
  app_file: app.py
9
  pinned: true
10
  license: mit
app.py CHANGED
@@ -41,8 +41,8 @@ def get_space_info(df: pd.DataFrame, sort_by: list[str], ascending: list[bool])
41
  info_dict["space_id"] = row["space_id"]
42
  info_dict["title"] = row["title"]
43
  data.append({"featured_week": row["date"]} | info_dict)
44
- except Exception as e:
45
- print(f"Failed to load {space_id}: {e}")
46
  if row["created_at"]:
47
  created = datetime.datetime.fromisoformat(row["created_at"]).strftime("%Y/%m/%d %H:%M:%S")
48
  else:
@@ -79,37 +79,33 @@ demo_list = DemoList(df_all)
79
  def update_status_checkboxes(choices: list[str]) -> list[str]:
80
  if "(ALL)" in choices:
81
  return STATUS_CHOICES
82
- elif "(NONE)" in choices:
83
  return []
84
- else:
85
- return choices
86
 
87
 
88
  def update_hardware_checkboxes(choices: list[str]) -> list[str]:
89
  if "(ALL)" in choices:
90
  return HARDWARE_CHOICES
91
- elif "(NONE)" in choices:
92
  return []
93
- else:
94
- return choices
95
 
96
 
97
  def update_sdk_checkboxes(choices: list[str]) -> list[str]:
98
  if "(ALL)" in choices:
99
  return SDK_CHOICES
100
- elif "(NONE)" in choices:
101
  return []
102
- else:
103
- return choices
104
 
105
 
106
  def update_sleep_time_checkboxes(choices: list[str]) -> list[str]:
107
  if "(ALL)" in choices:
108
  return SLEEP_TIME_CHOICES
109
- elif "(NONE)" in choices:
110
  return []
111
- else:
112
- return choices
113
 
114
 
115
  DEFAULT_COLUMNS = [
@@ -167,32 +163,32 @@ with gr.Blocks(css_paths="style.css") as demo:
167
  with gr.Accordion(label="Advanced", open=False):
168
  status = gr.CheckboxGroup(
169
  label="Status",
170
- choices=["(ALL)", "(NONE)"] + STATUS_CHOICES,
171
  value=STATUS_CHOICES,
172
  type="value",
173
  )
174
  hardware = gr.CheckboxGroup(
175
  label="Hardware",
176
- choices=["(ALL)", "(NONE)"] + HARDWARE_CHOICES,
177
  value=HARDWARE_CHOICES,
178
  type="value",
179
  )
180
  sdk = gr.CheckboxGroup(
181
  label="SDK",
182
- choices=["(ALL)", "(NONE)"] + SDK_CHOICES,
183
  value=SDK_CHOICES,
184
  type="value",
185
  )
186
  sleep_time = gr.CheckboxGroup(
187
  label="Sleep time",
188
- choices=["(ALL)", "(NONE)"] + SLEEP_TIME_CHOICES,
189
  value=SLEEP_TIME_CHOICES,
190
  type="value",
191
  )
192
  multiple_replicas = gr.Checkbox(label="Multiple replicas", value=False)
193
  owner = gr.Dropdown(
194
  label="Owner",
195
- choices=["(ALL)"] + sorted(demo_list.df_raw.owner.unique().tolist()),
196
  value="(ALL)",
197
  )
198
  with gr.Group():
 
41
  info_dict["space_id"] = row["space_id"]
42
  info_dict["title"] = row["title"]
43
  data.append({"featured_week": row["date"]} | info_dict)
44
+ except Exception as e: # noqa: BLE001
45
+ print(f"Failed to load {space_id}: {e}") # noqa: T201
46
  if row["created_at"]:
47
  created = datetime.datetime.fromisoformat(row["created_at"]).strftime("%Y/%m/%d %H:%M:%S")
48
  else:
 
79
  def update_status_checkboxes(choices: list[str]) -> list[str]:
80
  if "(ALL)" in choices:
81
  return STATUS_CHOICES
82
+ if "(NONE)" in choices:
83
  return []
84
+ return choices
 
85
 
86
 
87
  def update_hardware_checkboxes(choices: list[str]) -> list[str]:
88
  if "(ALL)" in choices:
89
  return HARDWARE_CHOICES
90
+ if "(NONE)" in choices:
91
  return []
92
+ return choices
 
93
 
94
 
95
  def update_sdk_checkboxes(choices: list[str]) -> list[str]:
96
  if "(ALL)" in choices:
97
  return SDK_CHOICES
98
+ if "(NONE)" in choices:
99
  return []
100
+ return choices
 
101
 
102
 
103
  def update_sleep_time_checkboxes(choices: list[str]) -> list[str]:
104
  if "(ALL)" in choices:
105
  return SLEEP_TIME_CHOICES
106
+ if "(NONE)" in choices:
107
  return []
108
+ return choices
 
109
 
110
 
111
  DEFAULT_COLUMNS = [
 
163
  with gr.Accordion(label="Advanced", open=False):
164
  status = gr.CheckboxGroup(
165
  label="Status",
166
+ choices=["(ALL)", "(NONE)", *STATUS_CHOICES],
167
  value=STATUS_CHOICES,
168
  type="value",
169
  )
170
  hardware = gr.CheckboxGroup(
171
  label="Hardware",
172
+ choices=["(ALL)", "(NONE)", *HARDWARE_CHOICES],
173
  value=HARDWARE_CHOICES,
174
  type="value",
175
  )
176
  sdk = gr.CheckboxGroup(
177
  label="SDK",
178
+ choices=["(ALL)", "(NONE)", *SDK_CHOICES],
179
  value=SDK_CHOICES,
180
  type="value",
181
  )
182
  sleep_time = gr.CheckboxGroup(
183
  label="Sleep time",
184
+ choices=["(ALL)", "(NONE)", *SLEEP_TIME_CHOICES],
185
  value=SLEEP_TIME_CHOICES,
186
  type="value",
187
  )
188
  multiple_replicas = gr.Checkbox(label="Multiple replicas", value=False)
189
  owner = gr.Dropdown(
190
  label="Owner",
191
+ choices=["(ALL)", *sorted(demo_list.df_raw.owner.unique().tolist())],
192
  value="(ALL)",
193
  )
194
  with gr.Group():
demo_list.py CHANGED
@@ -30,7 +30,7 @@ class DemoInfo:
30
  suggested_hardware: str
31
  created: str = ""
32
 
33
- def __post_init__(self):
34
  object.__setattr__(self, "last_modified", DemoInfo.convert_timestamp(self.last_modified))
35
  object.__setattr__(self, "created", DemoInfo.convert_timestamp(self.created))
36
 
@@ -39,7 +39,8 @@ class DemoInfo:
39
  if isinstance(timestamp, datetime.datetime):
40
  return timestamp.strftime("%Y/%m/%d %H:%M:%S")
41
  try:
42
- return datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S.%fZ").strftime("%Y/%m/%d %H:%M:%S")
 
43
  except ValueError:
44
  return timestamp
45
 
@@ -53,7 +54,7 @@ class DemoInfo:
53
  return cls(
54
  space_id=space_id,
55
  url=f"https://huggingface.co/spaces/{space_id}",
56
- title=card["title"] if "title" in card else "",
57
  owner=space_id.split("/")[0],
58
  sdk=card["sdk"],
59
  sdk_version=card.get("sdk_version", ""),
@@ -129,7 +130,7 @@ class Prettifier:
129
 
130
 
131
  class DemoList:
132
- COLUMN_INFO = [
133
  ["featured_week", "str"],
134
  ["status", "markdown"],
135
  ["hardware", "markdown"],
@@ -143,15 +144,15 @@ class DemoList:
143
  ["suggested_hardware", "markdown"],
144
  ["sleep_time", "markdown"],
145
  ["replicas", "markdown"],
146
- ]
147
 
148
- def __init__(self, df: pd.DataFrame):
149
  self.df_raw = df
150
  self._prettifier = Prettifier()
151
  self.df_prettified = self._prettifier(df).loc[:, self.column_names]
152
 
153
  @property
154
- def column_names(self):
155
  return list(map(operator.itemgetter(0), self.COLUMN_INFO))
156
 
157
  def get_column_datatypes(self, column_names: list[str]) -> list[str]:
 
30
  suggested_hardware: str
31
  created: str = ""
32
 
33
+ def __post_init__(self) -> None:
34
  object.__setattr__(self, "last_modified", DemoInfo.convert_timestamp(self.last_modified))
35
  object.__setattr__(self, "created", DemoInfo.convert_timestamp(self.created))
36
 
 
39
  if isinstance(timestamp, datetime.datetime):
40
  return timestamp.strftime("%Y/%m/%d %H:%M:%S")
41
  try:
42
+ dt = datetime.datetime.strptime(timestamp, "%Y-%m-%dT%H:%M:%S.%fZ").astimezone(datetime.timezone.utc)
43
+ return dt.strftime("%Y/%m/%d %H:%M:%S")
44
  except ValueError:
45
  return timestamp
46
 
 
54
  return cls(
55
  space_id=space_id,
56
  url=f"https://huggingface.co/spaces/{space_id}",
57
+ title=card.get("title", ""),
58
  owner=space_id.split("/")[0],
59
  sdk=card["sdk"],
60
  sdk_version=card.get("sdk_version", ""),
 
130
 
131
 
132
  class DemoList:
133
+ COLUMN_INFO = (
134
  ["featured_week", "str"],
135
  ["status", "markdown"],
136
  ["hardware", "markdown"],
 
144
  ["suggested_hardware", "markdown"],
145
  ["sleep_time", "markdown"],
146
  ["replicas", "markdown"],
147
+ )
148
 
149
+ def __init__(self, df: pd.DataFrame) -> None:
150
  self.df_raw = df
151
  self._prettifier = Prettifier()
152
  self.df_prettified = self._prettifier(df).loc[:, self.column_names]
153
 
154
  @property
155
+ def column_names(self) -> list[str]:
156
  return list(map(operator.itemgetter(0), self.COLUMN_INFO))
157
 
158
  def get_column_datatypes(self, column_names: list[str]) -> list[str]:
pyproject.toml CHANGED
@@ -5,13 +5,47 @@ description = "Add your description here"
5
  readme = "README.md"
6
  requires-python = ">=3.10"
7
  dependencies = [
8
- "datasets>=3.0.0",
9
  "gradio-calendar>=0.0.6",
10
- "gradio>=5.5.0",
11
  "hf-transfer>=0.1.8",
12
- "huggingface-hub>=0.24.6",
13
- "numpy>=2.1.1",
14
- "pandas>=2.2.2",
15
  "pyyaml>=6.0.2",
16
- "tqdm>=4.66.5",
17
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
  readme = "README.md"
6
  requires-python = ">=3.10"
7
  dependencies = [
8
+ "datasets>=3.2.0",
9
  "gradio-calendar>=0.0.6",
10
+ "gradio>=5.9.1",
11
  "hf-transfer>=0.1.8",
12
+ "numpy>=2.2.1",
13
+ "pandas>=2.2.3",
 
14
  "pyyaml>=6.0.2",
 
15
  ]
16
+
17
+ [tool.ruff]
18
+ line-length = 119
19
+
20
+ [tool.ruff.lint]
21
+ select = ["ALL"]
22
+ ignore = [
23
+ "COM812", # missing-trailing-comma
24
+ "D203", # one-blank-line-before-class
25
+ "D213", # multi-line-summary-second-line
26
+ "E501", # line-too-long
27
+ "SIM117", # multiple-with-statements
28
+ ]
29
+ extend-ignore = [
30
+ "D100", # undocumented-public-module
31
+ "D101", # undocumented-public-class
32
+ "D102", # undocumented-public-method
33
+ "D103", # undocumented-public-function
34
+ "D104", # undocumented-public-package
35
+ "D105", # undocumented-magic-method
36
+ "D107", # undocumented-public-init
37
+ "EM101", # raw-string-in-exception
38
+ "FBT001", # boolean-type-hint-positional-argument
39
+ "FBT002", # boolean-default-value-positional-argument
40
+ "PD901", # pandas-df-variable-name
41
+ "PGH003", # blanket-type-ignore
42
+ "PLR0913", # too-many-arguments
43
+ "PLR0915", # too-many-statements
44
+ "TRY003", # raise-vanilla-args
45
+ ]
46
+ unfixable = [
47
+ "F401", # unused-import
48
+ ]
49
+
50
+ [tool.ruff.format]
51
+ docstring-code-format = true
requirements.txt CHANGED
@@ -2,37 +2,37 @@
2
  # uv pip compile pyproject.toml -o requirements.txt
3
  aiofiles==23.2.1
4
  # via gradio
5
- aiohappyeyeballs==2.4.0
6
  # via aiohttp
7
- aiohttp==3.10.5
8
  # via
9
  # datasets
10
  # fsspec
11
- aiosignal==1.3.1
12
  # via aiohttp
13
  annotated-types==0.7.0
14
  # via pydantic
15
- anyio==4.4.0
16
  # via
17
  # gradio
18
  # httpx
19
  # starlette
20
- async-timeout==4.0.3
21
  # via aiohttp
22
- attrs==24.2.0
23
  # via aiohttp
24
- certifi==2024.8.30
25
  # via
26
  # httpcore
27
  # httpx
28
  # requests
29
- charset-normalizer==3.3.2
30
  # via requests
31
- click==8.1.7
32
  # via
33
  # typer
34
  # uvicorn
35
- datasets==3.0.0
36
  # via spaces-of-the-week (pyproject.toml)
37
  dill==0.3.8
38
  # via
@@ -40,30 +40,30 @@ dill==0.3.8
40
  # multiprocess
41
  exceptiongroup==1.2.2
42
  # via anyio
43
- fastapi==0.115.4
44
  # via gradio
45
- ffmpy==0.4.0
46
  # via gradio
47
- filelock==3.16.0
48
  # via
49
  # datasets
50
  # huggingface-hub
51
- frozenlist==1.4.1
52
  # via
53
  # aiohttp
54
  # aiosignal
55
- fsspec==2024.6.1
56
  # via
57
  # datasets
58
  # gradio-client
59
  # huggingface-hub
60
- gradio==5.5.0
61
  # via
62
  # spaces-of-the-week (pyproject.toml)
63
  # gradio-calendar
64
  gradio-calendar==0.0.6
65
  # via spaces-of-the-week (pyproject.toml)
66
- gradio-client==1.4.2
67
  # via gradio
68
  h11==0.14.0
69
  # via
@@ -71,26 +71,25 @@ h11==0.14.0
71
  # uvicorn
72
  hf-transfer==0.1.8
73
  # via spaces-of-the-week (pyproject.toml)
74
- httpcore==1.0.5
75
  # via httpx
76
- httpx==0.27.2
77
  # via
78
  # gradio
79
  # gradio-client
80
  # safehttpx
81
- huggingface-hub==0.25.2
82
  # via
83
- # spaces-of-the-week (pyproject.toml)
84
  # datasets
85
  # gradio
86
  # gradio-client
87
- idna==3.8
88
  # via
89
  # anyio
90
  # httpx
91
  # requests
92
  # yarl
93
- jinja2==3.1.4
94
  # via gradio
95
  markdown-it-py==3.0.0
96
  # via rich
@@ -106,35 +105,38 @@ multidict==6.1.0
106
  # yarl
107
  multiprocess==0.70.16
108
  # via datasets
109
- numpy==2.1.1
110
  # via
111
  # spaces-of-the-week (pyproject.toml)
112
  # datasets
113
  # gradio
114
  # pandas
115
- # pyarrow
116
- orjson==3.10.7
117
  # via gradio
118
- packaging==24.1
119
  # via
120
  # datasets
121
  # gradio
122
  # gradio-client
123
  # huggingface-hub
124
- pandas==2.2.2
125
  # via
126
  # spaces-of-the-week (pyproject.toml)
127
  # datasets
128
  # gradio
129
- pillow==10.4.0
130
  # via gradio
131
- pyarrow==17.0.0
 
 
 
 
132
  # via datasets
133
- pydantic==2.9.1
134
  # via
135
  # fastapi
136
  # gradio
137
- pydantic-core==2.23.3
138
  # via pydantic
139
  pydub==0.25.1
140
  # via gradio
@@ -142,7 +144,7 @@ pygments==2.18.0
142
  # via rich
143
  python-dateutil==2.9.0.post0
144
  # via pandas
145
- python-multipart==0.0.12
146
  # via gradio
147
  pytz==2024.2
148
  # via pandas
@@ -156,34 +158,31 @@ requests==2.32.3
156
  # via
157
  # datasets
158
  # huggingface-hub
159
- rich==13.8.1
160
  # via typer
161
- ruff==0.6.4
162
  # via gradio
163
- safehttpx==0.1.1
164
  # via gradio
165
  semantic-version==2.10.0
166
  # via gradio
167
  shellingham==1.5.4
168
  # via typer
169
- six==1.16.0
170
  # via python-dateutil
171
  sniffio==1.3.1
172
- # via
173
- # anyio
174
- # httpx
175
- starlette==0.41.2
176
  # via
177
  # fastapi
178
  # gradio
179
- tomlkit==0.12.0
180
  # via gradio
181
- tqdm==4.66.5
182
  # via
183
- # spaces-of-the-week (pyproject.toml)
184
  # datasets
185
  # huggingface-hub
186
- typer==0.12.5
187
  # via gradio
188
  typing-extensions==4.12.2
189
  # via
@@ -195,17 +194,18 @@ typing-extensions==4.12.2
195
  # multidict
196
  # pydantic
197
  # pydantic-core
 
198
  # typer
199
  # uvicorn
200
- tzdata==2024.1
201
  # via pandas
202
- urllib3==2.2.2
203
  # via requests
204
- uvicorn==0.30.6
205
  # via gradio
206
- websockets==12.0
207
  # via gradio-client
208
  xxhash==3.5.0
209
  # via datasets
210
- yarl==1.11.1
211
  # via aiohttp
 
2
  # uv pip compile pyproject.toml -o requirements.txt
3
  aiofiles==23.2.1
4
  # via gradio
5
+ aiohappyeyeballs==2.4.4
6
  # via aiohttp
7
+ aiohttp==3.11.11
8
  # via
9
  # datasets
10
  # fsspec
11
+ aiosignal==1.3.2
12
  # via aiohttp
13
  annotated-types==0.7.0
14
  # via pydantic
15
+ anyio==4.7.0
16
  # via
17
  # gradio
18
  # httpx
19
  # starlette
20
+ async-timeout==5.0.1
21
  # via aiohttp
22
+ attrs==24.3.0
23
  # via aiohttp
24
+ certifi==2024.12.14
25
  # via
26
  # httpcore
27
  # httpx
28
  # requests
29
+ charset-normalizer==3.4.1
30
  # via requests
31
+ click==8.1.8
32
  # via
33
  # typer
34
  # uvicorn
35
+ datasets==3.2.0
36
  # via spaces-of-the-week (pyproject.toml)
37
  dill==0.3.8
38
  # via
 
40
  # multiprocess
41
  exceptiongroup==1.2.2
42
  # via anyio
43
+ fastapi==0.115.6
44
  # via gradio
45
+ ffmpy==0.5.0
46
  # via gradio
47
+ filelock==3.16.1
48
  # via
49
  # datasets
50
  # huggingface-hub
51
+ frozenlist==1.5.0
52
  # via
53
  # aiohttp
54
  # aiosignal
55
+ fsspec==2024.9.0
56
  # via
57
  # datasets
58
  # gradio-client
59
  # huggingface-hub
60
+ gradio==5.9.1
61
  # via
62
  # spaces-of-the-week (pyproject.toml)
63
  # gradio-calendar
64
  gradio-calendar==0.0.6
65
  # via spaces-of-the-week (pyproject.toml)
66
+ gradio-client==1.5.2
67
  # via gradio
68
  h11==0.14.0
69
  # via
 
71
  # uvicorn
72
  hf-transfer==0.1.8
73
  # via spaces-of-the-week (pyproject.toml)
74
+ httpcore==1.0.7
75
  # via httpx
76
+ httpx==0.28.1
77
  # via
78
  # gradio
79
  # gradio-client
80
  # safehttpx
81
+ huggingface-hub==0.27.0
82
  # via
 
83
  # datasets
84
  # gradio
85
  # gradio-client
86
+ idna==3.10
87
  # via
88
  # anyio
89
  # httpx
90
  # requests
91
  # yarl
92
+ jinja2==3.1.5
93
  # via gradio
94
  markdown-it-py==3.0.0
95
  # via rich
 
105
  # yarl
106
  multiprocess==0.70.16
107
  # via datasets
108
+ numpy==2.2.1
109
  # via
110
  # spaces-of-the-week (pyproject.toml)
111
  # datasets
112
  # gradio
113
  # pandas
114
+ orjson==3.10.13
 
115
  # via gradio
116
+ packaging==24.2
117
  # via
118
  # datasets
119
  # gradio
120
  # gradio-client
121
  # huggingface-hub
122
+ pandas==2.2.3
123
  # via
124
  # spaces-of-the-week (pyproject.toml)
125
  # datasets
126
  # gradio
127
+ pillow==11.0.0
128
  # via gradio
129
+ propcache==0.2.1
130
+ # via
131
+ # aiohttp
132
+ # yarl
133
+ pyarrow==18.1.0
134
  # via datasets
135
+ pydantic==2.10.4
136
  # via
137
  # fastapi
138
  # gradio
139
+ pydantic-core==2.27.2
140
  # via pydantic
141
  pydub==0.25.1
142
  # via gradio
 
144
  # via rich
145
  python-dateutil==2.9.0.post0
146
  # via pandas
147
+ python-multipart==0.0.20
148
  # via gradio
149
  pytz==2024.2
150
  # via pandas
 
158
  # via
159
  # datasets
160
  # huggingface-hub
161
+ rich==13.9.4
162
  # via typer
163
+ ruff==0.8.4
164
  # via gradio
165
+ safehttpx==0.1.6
166
  # via gradio
167
  semantic-version==2.10.0
168
  # via gradio
169
  shellingham==1.5.4
170
  # via typer
171
+ six==1.17.0
172
  # via python-dateutil
173
  sniffio==1.3.1
174
+ # via anyio
175
+ starlette==0.41.3
 
 
176
  # via
177
  # fastapi
178
  # gradio
179
+ tomlkit==0.13.2
180
  # via gradio
181
+ tqdm==4.67.1
182
  # via
 
183
  # datasets
184
  # huggingface-hub
185
+ typer==0.15.1
186
  # via gradio
187
  typing-extensions==4.12.2
188
  # via
 
194
  # multidict
195
  # pydantic
196
  # pydantic-core
197
+ # rich
198
  # typer
199
  # uvicorn
200
+ tzdata==2024.2
201
  # via pandas
202
+ urllib3==2.3.0
203
  # via requests
204
+ uvicorn==0.34.0
205
  # via gradio
206
+ websockets==14.1
207
  # via gradio-client
208
  xxhash==3.5.0
209
  # via datasets
210
+ yarl==1.18.3
211
  # via aiohttp
uv.lock CHANGED
The diff for this file is too large to render. See raw diff