Spaces:
Running
Running
Roman Solomatin
commited on
Commit
β’
c7ac965
1
Parent(s):
43fec8c
init
Browse files- .gitignore +1 -0
- .pre-commit-config.yaml +12 -3
- Makefile +6 -6
- README.md +5 -5
- pdm.lock +1358 -0
- pyproject.toml +56 -10
- requirements.txt +540 -18
- src/__init__.py +0 -0
- src/encodechka/__init__.py +0 -0
- src/{about.py β encodechka/about.py} +13 -8
- app.py β src/encodechka/app.py +73 -48
- src/encodechka/display/__init__.py +0 -0
- src/{display β encodechka/display}/css_html_js.py +2 -2
- src/{display β encodechka/display}/formatting.py +0 -0
- src/{display β encodechka/display}/utils.py +37 -12
- src/{envs.py β encodechka/envs.py} +3 -3
- src/encodechka/leaderboard/__init__.py +0 -0
- src/{leaderboard β encodechka/leaderboard}/read_evals.py +24 -25
- src/{populate.py β encodechka/populate.py} +3 -4
- src/encodechka/submission/__init__.py +0 -0
- src/encodechka/submission/check_validity.py +124 -0
- src/encodechka/submission/submit.py +122 -0
- src/submission/check_validity.py +0 -99
- src/submission/submit.py +0 -119
- tests/__init__.py +0 -0
.gitignore
CHANGED
@@ -11,3 +11,4 @@ eval-results/
|
|
11 |
eval-queue-bk/
|
12 |
eval-results-bk/
|
13 |
logs/
|
|
|
|
11 |
eval-queue-bk/
|
12 |
eval-results-bk/
|
13 |
logs/
|
14 |
+
/.pdm-python
|
.pre-commit-config.yaml
CHANGED
@@ -46,8 +46,17 @@ repos:
|
|
46 |
name: Format code
|
47 |
additional_dependencies: ['click==8.0.2']
|
48 |
|
49 |
-
- repo: https://github.com/
|
50 |
-
|
51 |
-
rev: 'v0.0.267'
|
52 |
hooks:
|
53 |
- id: ruff
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
name: Format code
|
47 |
additional_dependencies: ['click==8.0.2']
|
48 |
|
49 |
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
50 |
+
rev: v0.4.4
|
|
|
51 |
hooks:
|
52 |
- id: ruff
|
53 |
+
types_or: [ python, pyi, jupyter ]
|
54 |
+
args: [ --config, pyproject.toml, --fix, --output-format=github]
|
55 |
+
|
56 |
+
- id: ruff
|
57 |
+
types_or: [ python, pyi, jupyter ]
|
58 |
+
args: [ --config, pyproject.toml, --fix ]
|
59 |
+
# Run the formatter.
|
60 |
+
- id: ruff-format
|
61 |
+
types_or: [ python, pyi, jupyter ]
|
62 |
+
args: [ --config, pyproject.toml ]
|
Makefile
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
.PHONY: style format
|
2 |
|
|
|
3 |
|
4 |
style:
|
5 |
-
|
6 |
-
|
7 |
-
ruff check --fix .
|
8 |
|
9 |
|
10 |
quality:
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
1 |
.PHONY: style format
|
2 |
|
3 |
+
.DEFAULT_GOAL := all
|
4 |
|
5 |
style:
|
6 |
+
ruff format
|
7 |
+
pre-commit run --all-files
|
|
|
8 |
|
9 |
|
10 |
quality:
|
11 |
+
ruff check
|
12 |
+
|
13 |
+
all: style quality
|
README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
emoji: π₯
|
4 |
colorFrom: green
|
5 |
colorTo: indigo
|
6 |
sdk: gradio
|
7 |
-
app_file: app.py
|
8 |
pinned: true
|
9 |
-
license:
|
10 |
---
|
11 |
|
12 |
# Start the configuration
|
@@ -38,7 +38,7 @@ If you encounter problem on the space, don't hesitate to restart it to remove th
|
|
38 |
|
39 |
# Code logic for more complex edits
|
40 |
|
41 |
-
You'll find
|
42 |
- the main table' columns names and properties in `src/display/utils.py`
|
43 |
- the logic to read all results and request files, then convert them in dataframe lines, in `src/leaderboard/read_evals.py`, and `src/populate.py`
|
44 |
-
- teh logic to allow or filter submissions in `src/submission/submit.py` and `src/submission/check_validity.py`
|
|
|
1 |
---
|
2 |
+
title: Encodechka Leaderboard
|
3 |
emoji: π₯
|
4 |
colorFrom: green
|
5 |
colorTo: indigo
|
6 |
sdk: gradio
|
7 |
+
app_file: src/encodechka/app.py
|
8 |
pinned: true
|
9 |
+
license: MIT
|
10 |
---
|
11 |
|
12 |
# Start the configuration
|
|
|
38 |
|
39 |
# Code logic for more complex edits
|
40 |
|
41 |
+
You'll find
|
42 |
- the main table' columns names and properties in `src/display/utils.py`
|
43 |
- the logic to read all results and request files, then convert them in dataframe lines, in `src/leaderboard/read_evals.py`, and `src/populate.py`
|
44 |
+
- teh logic to allow or filter submissions in `src/submission/submit.py` and `src/submission/check_validity.py`
|
pdm.lock
ADDED
@@ -0,0 +1,1358 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This file is @generated by PDM.
|
2 |
+
# It is not intended for manual editing.
|
3 |
+
|
4 |
+
[metadata]
|
5 |
+
groups = ["default", "lint"]
|
6 |
+
strategy = ["cross_platform", "inherit_metadata"]
|
7 |
+
lock_version = "4.4.1"
|
8 |
+
content_hash = "sha256:ba1ca5b5cc998169567134133918478770dabd2af44598ba1f35371d0bb36083"
|
9 |
+
|
10 |
+
[[package]]
|
11 |
+
name = "aiofiles"
|
12 |
+
version = "23.2.1"
|
13 |
+
requires_python = ">=3.7"
|
14 |
+
summary = "File support for asyncio."
|
15 |
+
groups = ["default"]
|
16 |
+
files = [
|
17 |
+
{file = "aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107"},
|
18 |
+
{file = "aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"},
|
19 |
+
]
|
20 |
+
|
21 |
+
[[package]]
|
22 |
+
name = "altair"
|
23 |
+
version = "5.3.0"
|
24 |
+
requires_python = ">=3.8"
|
25 |
+
summary = "Vega-Altair: A declarative statistical visualization library for Python."
|
26 |
+
groups = ["default"]
|
27 |
+
dependencies = [
|
28 |
+
"jinja2",
|
29 |
+
"jsonschema>=3.0",
|
30 |
+
"numpy",
|
31 |
+
"packaging",
|
32 |
+
"pandas>=0.25",
|
33 |
+
"toolz",
|
34 |
+
"typing-extensions>=4.0.1; python_version < \"3.11\"",
|
35 |
+
]
|
36 |
+
files = [
|
37 |
+
{file = "altair-5.3.0-py3-none-any.whl", hash = "sha256:7084a1dab4d83c5e7e5246b92dc1b4451a6c68fd057f3716ee9d315c8980e59a"},
|
38 |
+
{file = "altair-5.3.0.tar.gz", hash = "sha256:5a268b1a0983b23d8f9129f819f956174aa7aea2719ed55a52eba9979b9f6675"},
|
39 |
+
]
|
40 |
+
|
41 |
+
[[package]]
|
42 |
+
name = "annotated-types"
|
43 |
+
version = "0.7.0"
|
44 |
+
requires_python = ">=3.8"
|
45 |
+
summary = "Reusable constraint types to use with typing.Annotated"
|
46 |
+
groups = ["default"]
|
47 |
+
files = [
|
48 |
+
{file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
|
49 |
+
{file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
|
50 |
+
]
|
51 |
+
|
52 |
+
[[package]]
|
53 |
+
name = "anyio"
|
54 |
+
version = "4.4.0"
|
55 |
+
requires_python = ">=3.8"
|
56 |
+
summary = "High level compatibility layer for multiple asynchronous event loop implementations"
|
57 |
+
groups = ["default"]
|
58 |
+
dependencies = [
|
59 |
+
"exceptiongroup>=1.0.2; python_version < \"3.11\"",
|
60 |
+
"idna>=2.8",
|
61 |
+
"sniffio>=1.1",
|
62 |
+
"typing-extensions>=4.1; python_version < \"3.11\"",
|
63 |
+
]
|
64 |
+
files = [
|
65 |
+
{file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"},
|
66 |
+
{file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"},
|
67 |
+
]
|
68 |
+
|
69 |
+
[[package]]
|
70 |
+
name = "apscheduler"
|
71 |
+
version = "3.10.4"
|
72 |
+
requires_python = ">=3.6"
|
73 |
+
summary = "In-process task scheduler with Cron-like capabilities"
|
74 |
+
groups = ["default"]
|
75 |
+
dependencies = [
|
76 |
+
"pytz",
|
77 |
+
"six>=1.4.0",
|
78 |
+
"tzlocal!=3.*,>=2.0",
|
79 |
+
]
|
80 |
+
files = [
|
81 |
+
{file = "APScheduler-3.10.4-py3-none-any.whl", hash = "sha256:fb91e8a768632a4756a585f79ec834e0e27aad5860bac7eaa523d9ccefd87661"},
|
82 |
+
{file = "APScheduler-3.10.4.tar.gz", hash = "sha256:e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a"},
|
83 |
+
]
|
84 |
+
|
85 |
+
[[package]]
|
86 |
+
name = "attrs"
|
87 |
+
version = "23.2.0"
|
88 |
+
requires_python = ">=3.7"
|
89 |
+
summary = "Classes Without Boilerplate"
|
90 |
+
groups = ["default"]
|
91 |
+
files = [
|
92 |
+
{file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"},
|
93 |
+
{file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"},
|
94 |
+
]
|
95 |
+
|
96 |
+
[[package]]
|
97 |
+
name = "certifi"
|
98 |
+
version = "2024.6.2"
|
99 |
+
requires_python = ">=3.6"
|
100 |
+
summary = "Python package for providing Mozilla's CA Bundle."
|
101 |
+
groups = ["default"]
|
102 |
+
files = [
|
103 |
+
{file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"},
|
104 |
+
{file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"},
|
105 |
+
]
|
106 |
+
|
107 |
+
[[package]]
|
108 |
+
name = "charset-normalizer"
|
109 |
+
version = "3.3.2"
|
110 |
+
requires_python = ">=3.7.0"
|
111 |
+
summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
112 |
+
groups = ["default"]
|
113 |
+
files = [
|
114 |
+
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
|
115 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
|
116 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
|
117 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"},
|
118 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"},
|
119 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"},
|
120 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"},
|
121 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"},
|
122 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"},
|
123 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"},
|
124 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"},
|
125 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"},
|
126 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"},
|
127 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"},
|
128 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"},
|
129 |
+
{file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"},
|
130 |
+
{file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
|
131 |
+
]
|
132 |
+
|
133 |
+
[[package]]
|
134 |
+
name = "click"
|
135 |
+
version = "8.1.7"
|
136 |
+
requires_python = ">=3.7"
|
137 |
+
summary = "Composable command line interface toolkit"
|
138 |
+
groups = ["default"]
|
139 |
+
dependencies = [
|
140 |
+
"colorama; platform_system == \"Windows\"",
|
141 |
+
]
|
142 |
+
files = [
|
143 |
+
{file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"},
|
144 |
+
{file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"},
|
145 |
+
]
|
146 |
+
|
147 |
+
[[package]]
|
148 |
+
name = "colorama"
|
149 |
+
version = "0.4.6"
|
150 |
+
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
151 |
+
summary = "Cross-platform colored terminal text."
|
152 |
+
groups = ["default"]
|
153 |
+
marker = "platform_system == \"Windows\" or sys_platform == \"win32\""
|
154 |
+
files = [
|
155 |
+
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
156 |
+
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
157 |
+
]
|
158 |
+
|
159 |
+
[[package]]
|
160 |
+
name = "contourpy"
|
161 |
+
version = "1.2.1"
|
162 |
+
requires_python = ">=3.9"
|
163 |
+
summary = "Python library for calculating contours of 2D quadrilateral grids"
|
164 |
+
groups = ["default"]
|
165 |
+
dependencies = [
|
166 |
+
"numpy>=1.20",
|
167 |
+
]
|
168 |
+
files = [
|
169 |
+
{file = "contourpy-1.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040"},
|
170 |
+
{file = "contourpy-1.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd"},
|
171 |
+
{file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480"},
|
172 |
+
{file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9"},
|
173 |
+
{file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da"},
|
174 |
+
{file = "contourpy-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b"},
|
175 |
+
{file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd"},
|
176 |
+
{file = "contourpy-1.2.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619"},
|
177 |
+
{file = "contourpy-1.2.1-cp310-cp310-win32.whl", hash = "sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8"},
|
178 |
+
{file = "contourpy-1.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9"},
|
179 |
+
{file = "contourpy-1.2.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609"},
|
180 |
+
{file = "contourpy-1.2.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3"},
|
181 |
+
{file = "contourpy-1.2.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f"},
|
182 |
+
{file = "contourpy-1.2.1.tar.gz", hash = "sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c"},
|
183 |
+
]
|
184 |
+
|
185 |
+
[[package]]
|
186 |
+
name = "cycler"
|
187 |
+
version = "0.12.1"
|
188 |
+
requires_python = ">=3.8"
|
189 |
+
summary = "Composable style cycles"
|
190 |
+
groups = ["default"]
|
191 |
+
files = [
|
192 |
+
{file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"},
|
193 |
+
{file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"},
|
194 |
+
]
|
195 |
+
|
196 |
+
[[package]]
|
197 |
+
name = "dnspython"
|
198 |
+
version = "2.6.1"
|
199 |
+
requires_python = ">=3.8"
|
200 |
+
summary = "DNS toolkit"
|
201 |
+
groups = ["default"]
|
202 |
+
files = [
|
203 |
+
{file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"},
|
204 |
+
{file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"},
|
205 |
+
]
|
206 |
+
|
207 |
+
[[package]]
|
208 |
+
name = "email-validator"
|
209 |
+
version = "2.1.1"
|
210 |
+
requires_python = ">=3.8"
|
211 |
+
summary = "A robust email address syntax and deliverability validation library."
|
212 |
+
groups = ["default"]
|
213 |
+
dependencies = [
|
214 |
+
"dnspython>=2.0.0",
|
215 |
+
"idna>=2.0.0",
|
216 |
+
]
|
217 |
+
files = [
|
218 |
+
{file = "email_validator-2.1.1-py3-none-any.whl", hash = "sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05"},
|
219 |
+
{file = "email_validator-2.1.1.tar.gz", hash = "sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84"},
|
220 |
+
]
|
221 |
+
|
222 |
+
[[package]]
|
223 |
+
name = "exceptiongroup"
|
224 |
+
version = "1.2.1"
|
225 |
+
requires_python = ">=3.7"
|
226 |
+
summary = "Backport of PEP 654 (exception groups)"
|
227 |
+
groups = ["default"]
|
228 |
+
marker = "python_version < \"3.11\""
|
229 |
+
files = [
|
230 |
+
{file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"},
|
231 |
+
{file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"},
|
232 |
+
]
|
233 |
+
|
234 |
+
[[package]]
|
235 |
+
name = "fastapi"
|
236 |
+
version = "0.111.0"
|
237 |
+
requires_python = ">=3.8"
|
238 |
+
summary = "FastAPI framework, high performance, easy to learn, fast to code, ready for production"
|
239 |
+
groups = ["default"]
|
240 |
+
dependencies = [
|
241 |
+
"email-validator>=2.0.0",
|
242 |
+
"fastapi-cli>=0.0.2",
|
243 |
+
"httpx>=0.23.0",
|
244 |
+
"jinja2>=2.11.2",
|
245 |
+
"orjson>=3.2.1",
|
246 |
+
"pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4",
|
247 |
+
"python-multipart>=0.0.7",
|
248 |
+
"starlette<0.38.0,>=0.37.2",
|
249 |
+
"typing-extensions>=4.8.0",
|
250 |
+
"ujson!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,>=4.0.1",
|
251 |
+
"uvicorn[standard]>=0.12.0",
|
252 |
+
]
|
253 |
+
files = [
|
254 |
+
{file = "fastapi-0.111.0-py3-none-any.whl", hash = "sha256:97ecbf994be0bcbdadedf88c3150252bed7b2087075ac99735403b1b76cc8fc0"},
|
255 |
+
{file = "fastapi-0.111.0.tar.gz", hash = "sha256:b9db9dd147c91cb8b769f7183535773d8741dd46f9dc6676cd82eab510228cd7"},
|
256 |
+
]
|
257 |
+
|
258 |
+
[[package]]
|
259 |
+
name = "fastapi-cli"
|
260 |
+
version = "0.0.4"
|
261 |
+
requires_python = ">=3.8"
|
262 |
+
summary = "Run and manage FastAPI apps from the command line with FastAPI CLI. π"
|
263 |
+
groups = ["default"]
|
264 |
+
dependencies = [
|
265 |
+
"typer>=0.12.3",
|
266 |
+
]
|
267 |
+
files = [
|
268 |
+
{file = "fastapi_cli-0.0.4-py3-none-any.whl", hash = "sha256:a2552f3a7ae64058cdbb530be6fa6dbfc975dc165e4fa66d224c3d396e25e809"},
|
269 |
+
{file = "fastapi_cli-0.0.4.tar.gz", hash = "sha256:e2e9ffaffc1f7767f488d6da34b6f5a377751c996f397902eb6abb99a67bde32"},
|
270 |
+
]
|
271 |
+
|
272 |
+
[[package]]
|
273 |
+
name = "ffmpy"
|
274 |
+
version = "0.3.2"
|
275 |
+
summary = "A simple Python wrapper for ffmpeg"
|
276 |
+
groups = ["default"]
|
277 |
+
files = [
|
278 |
+
{file = "ffmpy-0.3.2.tar.gz", hash = "sha256:475ebfff1044661b8d969349dbcd2db9bf56d3ee78c0627e324769b49a27a78f"},
|
279 |
+
]
|
280 |
+
|
281 |
+
[[package]]
|
282 |
+
name = "filelock"
|
283 |
+
version = "3.15.1"
|
284 |
+
requires_python = ">=3.8"
|
285 |
+
summary = "A platform independent file lock."
|
286 |
+
groups = ["default"]
|
287 |
+
files = [
|
288 |
+
{file = "filelock-3.15.1-py3-none-any.whl", hash = "sha256:71b3102950e91dfc1bb4209b64be4dc8854f40e5f534428d8684f953ac847fac"},
|
289 |
+
{file = "filelock-3.15.1.tar.gz", hash = "sha256:58a2549afdf9e02e10720eaa4d4470f56386d7a6f72edd7d0596337af8ed7ad8"},
|
290 |
+
]
|
291 |
+
|
292 |
+
[[package]]
|
293 |
+
name = "fonttools"
|
294 |
+
version = "4.53.0"
|
295 |
+
requires_python = ">=3.8"
|
296 |
+
summary = "Tools to manipulate font files"
|
297 |
+
groups = ["default"]
|
298 |
+
files = [
|
299 |
+
{file = "fonttools-4.53.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:52a6e0a7a0bf611c19bc8ec8f7592bdae79c8296c70eb05917fd831354699b20"},
|
300 |
+
{file = "fonttools-4.53.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:099634631b9dd271d4a835d2b2a9e042ccc94ecdf7e2dd9f7f34f7daf333358d"},
|
301 |
+
{file = "fonttools-4.53.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e40013572bfb843d6794a3ce076c29ef4efd15937ab833f520117f8eccc84fd6"},
|
302 |
+
{file = "fonttools-4.53.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:715b41c3e231f7334cbe79dfc698213dcb7211520ec7a3bc2ba20c8515e8a3b5"},
|
303 |
+
{file = "fonttools-4.53.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74ae2441731a05b44d5988d3ac2cf784d3ee0a535dbed257cbfff4be8bb49eb9"},
|
304 |
+
{file = "fonttools-4.53.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:95db0c6581a54b47c30860d013977b8a14febc206c8b5ff562f9fe32738a8aca"},
|
305 |
+
{file = "fonttools-4.53.0-cp310-cp310-win32.whl", hash = "sha256:9cd7a6beec6495d1dffb1033d50a3f82dfece23e9eb3c20cd3c2444d27514068"},
|
306 |
+
{file = "fonttools-4.53.0-cp310-cp310-win_amd64.whl", hash = "sha256:daaef7390e632283051e3cf3e16aff2b68b247e99aea916f64e578c0449c9c68"},
|
307 |
+
{file = "fonttools-4.53.0-py3-none-any.whl", hash = "sha256:6b4f04b1fbc01a3569d63359f2227c89ab294550de277fd09d8fca6185669fa4"},
|
308 |
+
{file = "fonttools-4.53.0.tar.gz", hash = "sha256:c93ed66d32de1559b6fc348838c7572d5c0ac1e4a258e76763a5caddd8944002"},
|
309 |
+
]
|
310 |
+
|
311 |
+
[[package]]
|
312 |
+
name = "fsspec"
|
313 |
+
version = "2024.6.0"
|
314 |
+
requires_python = ">=3.8"
|
315 |
+
summary = "File-system specification"
|
316 |
+
groups = ["default"]
|
317 |
+
files = [
|
318 |
+
{file = "fsspec-2024.6.0-py3-none-any.whl", hash = "sha256:58d7122eb8a1a46f7f13453187bfea4972d66bf01618d37366521b1998034cee"},
|
319 |
+
{file = "fsspec-2024.6.0.tar.gz", hash = "sha256:f579960a56e6d8038a9efc8f9c77279ec12e6299aa86b0769a7e9c46b94527c2"},
|
320 |
+
]
|
321 |
+
|
322 |
+
[[package]]
|
323 |
+
name = "gradio"
|
324 |
+
version = "4.36.1"
|
325 |
+
requires_python = ">=3.8"
|
326 |
+
summary = "Python library for easily interacting with trained machine learning models"
|
327 |
+
groups = ["default"]
|
328 |
+
dependencies = [
|
329 |
+
"aiofiles<24.0,>=22.0",
|
330 |
+
"altair<6.0,>=4.2.0",
|
331 |
+
"fastapi",
|
332 |
+
"ffmpy",
|
333 |
+
"gradio-client==1.0.1",
|
334 |
+
"httpx>=0.24.1",
|
335 |
+
"huggingface-hub>=0.19.3",
|
336 |
+
"importlib-resources<7.0,>=1.3",
|
337 |
+
"jinja2<4.0",
|
338 |
+
"markupsafe~=2.0",
|
339 |
+
"matplotlib~=3.0",
|
340 |
+
"numpy<3.0,>=1.0",
|
341 |
+
"orjson~=3.0",
|
342 |
+
"packaging",
|
343 |
+
"pandas<3.0,>=1.0",
|
344 |
+
"pillow<11.0,>=8.0",
|
345 |
+
"pydantic>=2.0",
|
346 |
+
"pydub",
|
347 |
+
"python-multipart>=0.0.9",
|
348 |
+
"pyyaml<7.0,>=5.0",
|
349 |
+
"ruff>=0.2.2; sys_platform != \"emscripten\"",
|
350 |
+
"semantic-version~=2.0",
|
351 |
+
"tomlkit==0.12.0",
|
352 |
+
"typer<1.0,>=0.12; sys_platform != \"emscripten\"",
|
353 |
+
"typing-extensions~=4.0",
|
354 |
+
"urllib3~=2.0",
|
355 |
+
"uvicorn>=0.14.0; sys_platform != \"emscripten\"",
|
356 |
+
]
|
357 |
+
files = [
|
358 |
+
{file = "gradio-4.36.1-py3-none-any.whl", hash = "sha256:31edb504c88c1db06c08daf750dcdaa072087ada59aa4ff83c1a3f4c2075912d"},
|
359 |
+
{file = "gradio-4.36.1.tar.gz", hash = "sha256:72b2d21156d3467123bae6f30f463f002ef06e272766274308f5ed3cac37563b"},
|
360 |
+
]
|
361 |
+
|
362 |
+
[[package]]
|
363 |
+
name = "gradio-client"
|
364 |
+
version = "1.0.1"
|
365 |
+
requires_python = ">=3.8"
|
366 |
+
summary = "Python library for easily interacting with trained machine learning models"
|
367 |
+
groups = ["default"]
|
368 |
+
dependencies = [
|
369 |
+
"fsspec",
|
370 |
+
"httpx>=0.24.1",
|
371 |
+
"huggingface-hub>=0.19.3",
|
372 |
+
"packaging",
|
373 |
+
"typing-extensions~=4.0",
|
374 |
+
"websockets<12.0,>=10.0",
|
375 |
+
]
|
376 |
+
files = [
|
377 |
+
{file = "gradio_client-1.0.1-py3-none-any.whl", hash = "sha256:fe3f527349ac38cbc5deb6d629a15c06fa3b4a68d1e04dc5ca9fbb1896318629"},
|
378 |
+
{file = "gradio_client-1.0.1.tar.gz", hash = "sha256:b3fa4d1c626067cc866d6172caa75d373e114bacfba650e49e293646d786646a"},
|
379 |
+
]
|
380 |
+
|
381 |
+
[[package]]
|
382 |
+
name = "h11"
|
383 |
+
version = "0.14.0"
|
384 |
+
requires_python = ">=3.7"
|
385 |
+
summary = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
386 |
+
groups = ["default"]
|
387 |
+
files = [
|
388 |
+
{file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"},
|
389 |
+
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
|
390 |
+
]
|
391 |
+
|
392 |
+
[[package]]
|
393 |
+
name = "httpcore"
|
394 |
+
version = "1.0.5"
|
395 |
+
requires_python = ">=3.8"
|
396 |
+
summary = "A minimal low-level HTTP client."
|
397 |
+
groups = ["default"]
|
398 |
+
dependencies = [
|
399 |
+
"certifi",
|
400 |
+
"h11<0.15,>=0.13",
|
401 |
+
]
|
402 |
+
files = [
|
403 |
+
{file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"},
|
404 |
+
{file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"},
|
405 |
+
]
|
406 |
+
|
407 |
+
[[package]]
|
408 |
+
name = "httptools"
|
409 |
+
version = "0.6.1"
|
410 |
+
requires_python = ">=3.8.0"
|
411 |
+
summary = "A collection of framework independent HTTP protocol utils."
|
412 |
+
groups = ["default"]
|
413 |
+
files = [
|
414 |
+
{file = "httptools-0.6.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d2f6c3c4cb1948d912538217838f6e9960bc4a521d7f9b323b3da579cd14532f"},
|
415 |
+
{file = "httptools-0.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:00d5d4b68a717765b1fabfd9ca755bd12bf44105eeb806c03d1962acd9b8e563"},
|
416 |
+
{file = "httptools-0.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:639dc4f381a870c9ec860ce5c45921db50205a37cc3334e756269736ff0aac58"},
|
417 |
+
{file = "httptools-0.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e57997ac7fb7ee43140cc03664de5f268813a481dff6245e0075925adc6aa185"},
|
418 |
+
{file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0ac5a0ae3d9f4fe004318d64b8a854edd85ab76cffbf7ef5e32920faef62f142"},
|
419 |
+
{file = "httptools-0.6.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:3f30d3ce413088a98b9db71c60a6ada2001a08945cb42dd65a9a9fe228627658"},
|
420 |
+
{file = "httptools-0.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:1ed99a373e327f0107cb513b61820102ee4f3675656a37a50083eda05dc9541b"},
|
421 |
+
{file = "httptools-0.6.1.tar.gz", hash = "sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a"},
|
422 |
+
]
|
423 |
+
|
424 |
+
[[package]]
|
425 |
+
name = "httpx"
|
426 |
+
version = "0.27.0"
|
427 |
+
requires_python = ">=3.8"
|
428 |
+
summary = "The next generation HTTP client."
|
429 |
+
groups = ["default"]
|
430 |
+
dependencies = [
|
431 |
+
"anyio",
|
432 |
+
"certifi",
|
433 |
+
"httpcore==1.*",
|
434 |
+
"idna",
|
435 |
+
"sniffio",
|
436 |
+
]
|
437 |
+
files = [
|
438 |
+
{file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"},
|
439 |
+
{file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"},
|
440 |
+
]
|
441 |
+
|
442 |
+
[[package]]
|
443 |
+
name = "huggingface-hub"
|
444 |
+
version = "0.23.3"
|
445 |
+
requires_python = ">=3.8.0"
|
446 |
+
summary = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
|
447 |
+
groups = ["default"]
|
448 |
+
dependencies = [
|
449 |
+
"filelock",
|
450 |
+
"fsspec>=2023.5.0",
|
451 |
+
"packaging>=20.9",
|
452 |
+
"pyyaml>=5.1",
|
453 |
+
"requests",
|
454 |
+
"tqdm>=4.42.1",
|
455 |
+
"typing-extensions>=3.7.4.3",
|
456 |
+
]
|
457 |
+
files = [
|
458 |
+
{file = "huggingface_hub-0.23.3-py3-none-any.whl", hash = "sha256:22222c41223f1b7c209ae5511d2d82907325a0e3cdbce5f66949d43c598ff3bc"},
|
459 |
+
{file = "huggingface_hub-0.23.3.tar.gz", hash = "sha256:1a1118a0b3dea3bab6c325d71be16f5ffe441d32f3ac7c348d6875911b694b5b"},
|
460 |
+
]
|
461 |
+
|
462 |
+
[[package]]
|
463 |
+
name = "idna"
|
464 |
+
version = "3.7"
|
465 |
+
requires_python = ">=3.5"
|
466 |
+
summary = "Internationalized Domain Names in Applications (IDNA)"
|
467 |
+
groups = ["default"]
|
468 |
+
files = [
|
469 |
+
{file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"},
|
470 |
+
{file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"},
|
471 |
+
]
|
472 |
+
|
473 |
+
[[package]]
|
474 |
+
name = "importlib-resources"
|
475 |
+
version = "6.4.0"
|
476 |
+
requires_python = ">=3.8"
|
477 |
+
summary = "Read resources from Python packages"
|
478 |
+
groups = ["default"]
|
479 |
+
files = [
|
480 |
+
{file = "importlib_resources-6.4.0-py3-none-any.whl", hash = "sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c"},
|
481 |
+
{file = "importlib_resources-6.4.0.tar.gz", hash = "sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145"},
|
482 |
+
]
|
483 |
+
|
484 |
+
[[package]]
|
485 |
+
name = "jinja2"
|
486 |
+
version = "3.1.4"
|
487 |
+
requires_python = ">=3.7"
|
488 |
+
summary = "A very fast and expressive template engine."
|
489 |
+
groups = ["default"]
|
490 |
+
dependencies = [
|
491 |
+
"MarkupSafe>=2.0",
|
492 |
+
]
|
493 |
+
files = [
|
494 |
+
{file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"},
|
495 |
+
{file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"},
|
496 |
+
]
|
497 |
+
|
498 |
+
[[package]]
|
499 |
+
name = "jsonschema"
|
500 |
+
version = "4.22.0"
|
501 |
+
requires_python = ">=3.8"
|
502 |
+
summary = "An implementation of JSON Schema validation for Python"
|
503 |
+
groups = ["default"]
|
504 |
+
dependencies = [
|
505 |
+
"attrs>=22.2.0",
|
506 |
+
"jsonschema-specifications>=2023.03.6",
|
507 |
+
"referencing>=0.28.4",
|
508 |
+
"rpds-py>=0.7.1",
|
509 |
+
]
|
510 |
+
files = [
|
511 |
+
{file = "jsonschema-4.22.0-py3-none-any.whl", hash = "sha256:ff4cfd6b1367a40e7bc6411caec72effadd3db0bbe5017de188f2d6108335802"},
|
512 |
+
{file = "jsonschema-4.22.0.tar.gz", hash = "sha256:5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7"},
|
513 |
+
]
|
514 |
+
|
515 |
+
[[package]]
|
516 |
+
name = "jsonschema-specifications"
|
517 |
+
version = "2023.12.1"
|
518 |
+
requires_python = ">=3.8"
|
519 |
+
summary = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
|
520 |
+
groups = ["default"]
|
521 |
+
dependencies = [
|
522 |
+
"referencing>=0.31.0",
|
523 |
+
]
|
524 |
+
files = [
|
525 |
+
{file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"},
|
526 |
+
{file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"},
|
527 |
+
]
|
528 |
+
|
529 |
+
[[package]]
|
530 |
+
name = "kiwisolver"
|
531 |
+
version = "1.4.5"
|
532 |
+
requires_python = ">=3.7"
|
533 |
+
summary = "A fast implementation of the Cassowary constraint solver"
|
534 |
+
groups = ["default"]
|
535 |
+
files = [
|
536 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"},
|
537 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"},
|
538 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"},
|
539 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"},
|
540 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"},
|
541 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"},
|
542 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"},
|
543 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"},
|
544 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"},
|
545 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"},
|
546 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"},
|
547 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"},
|
548 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"},
|
549 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"},
|
550 |
+
{file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"},
|
551 |
+
{file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"},
|
552 |
+
{file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"},
|
553 |
+
{file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"},
|
554 |
+
{file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"},
|
555 |
+
{file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"},
|
556 |
+
{file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"},
|
557 |
+
{file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"},
|
558 |
+
{file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"},
|
559 |
+
{file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"},
|
560 |
+
{file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"},
|
561 |
+
{file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"},
|
562 |
+
{file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"},
|
563 |
+
{file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"},
|
564 |
+
{file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"},
|
565 |
+
{file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"},
|
566 |
+
{file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"},
|
567 |
+
]
|
568 |
+
|
569 |
+
[[package]]
|
570 |
+
name = "markdown-it-py"
|
571 |
+
version = "3.0.0"
|
572 |
+
requires_python = ">=3.8"
|
573 |
+
summary = "Python port of markdown-it. Markdown parsing, done right!"
|
574 |
+
groups = ["default"]
|
575 |
+
dependencies = [
|
576 |
+
"mdurl~=0.1",
|
577 |
+
]
|
578 |
+
files = [
|
579 |
+
{file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"},
|
580 |
+
{file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"},
|
581 |
+
]
|
582 |
+
|
583 |
+
[[package]]
|
584 |
+
name = "markupsafe"
|
585 |
+
version = "2.1.5"
|
586 |
+
requires_python = ">=3.7"
|
587 |
+
summary = "Safely add untrusted strings to HTML/XML markup."
|
588 |
+
groups = ["default"]
|
589 |
+
files = [
|
590 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"},
|
591 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"},
|
592 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"},
|
593 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"},
|
594 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"},
|
595 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"},
|
596 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"},
|
597 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"},
|
598 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"},
|
599 |
+
{file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"},
|
600 |
+
{file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"},
|
601 |
+
]
|
602 |
+
|
603 |
+
[[package]]
|
604 |
+
name = "matplotlib"
|
605 |
+
version = "3.9.0"
|
606 |
+
requires_python = ">=3.9"
|
607 |
+
summary = "Python plotting package"
|
608 |
+
groups = ["default"]
|
609 |
+
dependencies = [
|
610 |
+
"contourpy>=1.0.1",
|
611 |
+
"cycler>=0.10",
|
612 |
+
"fonttools>=4.22.0",
|
613 |
+
"kiwisolver>=1.3.1",
|
614 |
+
"numpy>=1.23",
|
615 |
+
"packaging>=20.0",
|
616 |
+
"pillow>=8",
|
617 |
+
"pyparsing>=2.3.1",
|
618 |
+
"python-dateutil>=2.7",
|
619 |
+
]
|
620 |
+
files = [
|
621 |
+
{file = "matplotlib-3.9.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2bcee1dffaf60fe7656183ac2190bd630842ff87b3153afb3e384d966b57fe56"},
|
622 |
+
{file = "matplotlib-3.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3f988bafb0fa39d1074ddd5bacd958c853e11def40800c5824556eb630f94d3b"},
|
623 |
+
{file = "matplotlib-3.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe428e191ea016bb278758c8ee82a8129c51d81d8c4bc0846c09e7e8e9057241"},
|
624 |
+
{file = "matplotlib-3.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eaf3978060a106fab40c328778b148f590e27f6fa3cd15a19d6892575bce387d"},
|
625 |
+
{file = "matplotlib-3.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:2e7f03e5cbbfacdd48c8ea394d365d91ee8f3cae7e6ec611409927b5ed997ee4"},
|
626 |
+
{file = "matplotlib-3.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:13beb4840317d45ffd4183a778685e215939be7b08616f431c7795276e067463"},
|
627 |
+
{file = "matplotlib-3.9.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bd4f2831168afac55b881db82a7730992aa41c4f007f1913465fb182d6fb20c0"},
|
628 |
+
{file = "matplotlib-3.9.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:290d304e59be2b33ef5c2d768d0237f5bd132986bdcc66f80bc9bcc300066a03"},
|
629 |
+
{file = "matplotlib-3.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ff2e239c26be4f24bfa45860c20ffccd118d270c5b5d081fa4ea409b5469fcd"},
|
630 |
+
{file = "matplotlib-3.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:af4001b7cae70f7eaacfb063db605280058246de590fa7874f00f62259f2df7e"},
|
631 |
+
{file = "matplotlib-3.9.0.tar.gz", hash = "sha256:e6d29ea6c19e34b30fb7d88b7081f869a03014f66fe06d62cc77d5a6ea88ed7a"},
|
632 |
+
]
|
633 |
+
|
634 |
+
[[package]]
|
635 |
+
name = "mdurl"
|
636 |
+
version = "0.1.2"
|
637 |
+
requires_python = ">=3.7"
|
638 |
+
summary = "Markdown URL utilities"
|
639 |
+
groups = ["default"]
|
640 |
+
files = [
|
641 |
+
{file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"},
|
642 |
+
{file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"},
|
643 |
+
]
|
644 |
+
|
645 |
+
[[package]]
|
646 |
+
name = "numpy"
|
647 |
+
version = "1.26.4"
|
648 |
+
requires_python = ">=3.9"
|
649 |
+
summary = "Fundamental package for array computing in Python"
|
650 |
+
groups = ["default"]
|
651 |
+
files = [
|
652 |
+
{file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"},
|
653 |
+
{file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"},
|
654 |
+
{file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"},
|
655 |
+
{file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"},
|
656 |
+
{file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"},
|
657 |
+
{file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"},
|
658 |
+
{file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"},
|
659 |
+
{file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"},
|
660 |
+
{file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"},
|
661 |
+
{file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"},
|
662 |
+
{file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"},
|
663 |
+
{file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"},
|
664 |
+
]
|
665 |
+
|
666 |
+
[[package]]
|
667 |
+
name = "orjson"
|
668 |
+
version = "3.10.4"
|
669 |
+
requires_python = ">=3.8"
|
670 |
+
summary = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
|
671 |
+
groups = ["default"]
|
672 |
+
files = [
|
673 |
+
{file = "orjson-3.10.4-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:afca963f19ca60c7aedadea9979f769139127288dd58ccf3f7c5e8e6dc62cabf"},
|
674 |
+
{file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b112eff36ba7ccc7a9d6b87e17b9d6bde4312d05e3ddf66bf5662481dee846"},
|
675 |
+
{file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02b192eaba048b1039eca9a0cef67863bd5623042f5c441889a9957121d97e14"},
|
676 |
+
{file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:827c3d0e4fc44242c82bfdb1a773235b8c0575afee99a9fa9a8ce920c14e440f"},
|
677 |
+
{file = "orjson-3.10.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca8ec09724f10ec209244caeb1f9f428b6bb03f2eda9ed5e2c4dd7f2b7fabd44"},
|
678 |
+
{file = "orjson-3.10.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8eaa5d531a8fde11993cbcb27e9acf7d9c457ba301adccb7fa3a021bfecab46c"},
|
679 |
+
{file = "orjson-3.10.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e112aa7fc4ea67367ec5e86c39a6bb6c5719eddc8f999087b1759e765ddaf2d4"},
|
680 |
+
{file = "orjson-3.10.4-cp310-none-win32.whl", hash = "sha256:1538844fb88446c42da3889f8c4ecce95a630b5a5ba18ecdfe5aea596f4dff21"},
|
681 |
+
{file = "orjson-3.10.4-cp310-none-win_amd64.whl", hash = "sha256:de02811903a2e434127fba5389c3cc90f689542339a6e52e691ab7f693407b5a"},
|
682 |
+
{file = "orjson-3.10.4.tar.gz", hash = "sha256:c912ed25b787c73fe994a5decd81c3f3b256599b8a87d410d799d5d52013af2a"},
|
683 |
+
]
|
684 |
+
|
685 |
+
[[package]]
|
686 |
+
name = "packaging"
|
687 |
+
version = "24.1"
|
688 |
+
requires_python = ">=3.8"
|
689 |
+
summary = "Core utilities for Python packages"
|
690 |
+
groups = ["default"]
|
691 |
+
files = [
|
692 |
+
{file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"},
|
693 |
+
{file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"},
|
694 |
+
]
|
695 |
+
|
696 |
+
[[package]]
|
697 |
+
name = "pandas"
|
698 |
+
version = "2.2.2"
|
699 |
+
requires_python = ">=3.9"
|
700 |
+
summary = "Powerful data structures for data analysis, time series, and statistics"
|
701 |
+
groups = ["default"]
|
702 |
+
dependencies = [
|
703 |
+
"numpy>=1.22.4; python_version < \"3.11\"",
|
704 |
+
"python-dateutil>=2.8.2",
|
705 |
+
"pytz>=2020.1",
|
706 |
+
"tzdata>=2022.7",
|
707 |
+
]
|
708 |
+
files = [
|
709 |
+
{file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"},
|
710 |
+
{file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"},
|
711 |
+
{file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"},
|
712 |
+
{file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"},
|
713 |
+
{file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"},
|
714 |
+
{file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99"},
|
715 |
+
{file = "pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772"},
|
716 |
+
{file = "pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54"},
|
717 |
+
]
|
718 |
+
|
719 |
+
[[package]]
|
720 |
+
name = "pillow"
|
721 |
+
version = "10.3.0"
|
722 |
+
requires_python = ">=3.8"
|
723 |
+
summary = "Python Imaging Library (Fork)"
|
724 |
+
groups = ["default"]
|
725 |
+
files = [
|
726 |
+
{file = "pillow-10.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45"},
|
727 |
+
{file = "pillow-10.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c"},
|
728 |
+
{file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf"},
|
729 |
+
{file = "pillow-10.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599"},
|
730 |
+
{file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475"},
|
731 |
+
{file = "pillow-10.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf"},
|
732 |
+
{file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3"},
|
733 |
+
{file = "pillow-10.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5"},
|
734 |
+
{file = "pillow-10.3.0-cp310-cp310-win32.whl", hash = "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2"},
|
735 |
+
{file = "pillow-10.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f"},
|
736 |
+
{file = "pillow-10.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b"},
|
737 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355"},
|
738 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9"},
|
739 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2"},
|
740 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463"},
|
741 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced"},
|
742 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3"},
|
743 |
+
{file = "pillow-10.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170"},
|
744 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32"},
|
745 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828"},
|
746 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f"},
|
747 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015"},
|
748 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5"},
|
749 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a"},
|
750 |
+
{file = "pillow-10.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591"},
|
751 |
+
{file = "pillow-10.3.0.tar.gz", hash = "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d"},
|
752 |
+
]
|
753 |
+
|
754 |
+
[[package]]
|
755 |
+
name = "pydantic"
|
756 |
+
version = "2.7.4"
|
757 |
+
requires_python = ">=3.8"
|
758 |
+
summary = "Data validation using Python type hints"
|
759 |
+
groups = ["default"]
|
760 |
+
dependencies = [
|
761 |
+
"annotated-types>=0.4.0",
|
762 |
+
"pydantic-core==2.18.4",
|
763 |
+
"typing-extensions>=4.6.1",
|
764 |
+
]
|
765 |
+
files = [
|
766 |
+
{file = "pydantic-2.7.4-py3-none-any.whl", hash = "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0"},
|
767 |
+
{file = "pydantic-2.7.4.tar.gz", hash = "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"},
|
768 |
+
]
|
769 |
+
|
770 |
+
[[package]]
|
771 |
+
name = "pydantic-core"
|
772 |
+
version = "2.18.4"
|
773 |
+
requires_python = ">=3.8"
|
774 |
+
summary = "Core functionality for Pydantic validation and serialization"
|
775 |
+
groups = ["default"]
|
776 |
+
dependencies = [
|
777 |
+
"typing-extensions!=4.7.0,>=4.6.0",
|
778 |
+
]
|
779 |
+
files = [
|
780 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f76d0ad001edd426b92233d45c746fd08f467d56100fd8f30e9ace4b005266e4"},
|
781 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:59ff3e89f4eaf14050c8022011862df275b552caef8082e37b542b066ce1ff26"},
|
782 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a55b5b16c839df1070bc113c1f7f94a0af4433fcfa1b41799ce7606e5c79ce0a"},
|
783 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4d0dcc59664fcb8974b356fe0a18a672d6d7cf9f54746c05f43275fc48636851"},
|
784 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8951eee36c57cd128f779e641e21eb40bc5073eb28b2d23f33eb0ef14ffb3f5d"},
|
785 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4701b19f7e3a06ea655513f7938de6f108123bf7c86bbebb1196eb9bd35cf724"},
|
786 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e00a3f196329e08e43d99b79b286d60ce46bed10f2280d25a1718399457e06be"},
|
787 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97736815b9cc893b2b7f663628e63f436018b75f44854c8027040e05230eeddb"},
|
788 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6891a2ae0e8692679c07728819b6e2b822fb30ca7445f67bbf6509b25a96332c"},
|
789 |
+
{file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bc4ff9805858bd54d1a20efff925ccd89c9d2e7cf4986144b30802bf78091c3e"},
|
790 |
+
{file = "pydantic_core-2.18.4-cp310-none-win32.whl", hash = "sha256:1b4de2e51bbcb61fdebd0ab86ef28062704f62c82bbf4addc4e37fa4b00b7cbc"},
|
791 |
+
{file = "pydantic_core-2.18.4-cp310-none-win_amd64.whl", hash = "sha256:6a750aec7bf431517a9fd78cb93c97b9b0c496090fee84a47a0d23668976b4b0"},
|
792 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:574d92eac874f7f4db0ca653514d823a0d22e2354359d0759e3f6a406db5d55d"},
|
793 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1f4d26ceb5eb9eed4af91bebeae4b06c3fb28966ca3a8fb765208cf6b51102ab"},
|
794 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77450e6d20016ec41f43ca4a6c63e9fdde03f0ae3fe90e7c27bdbeaece8b1ed4"},
|
795 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d323a01da91851a4f17bf592faf46149c9169d68430b3146dcba2bb5e5719abc"},
|
796 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43d447dd2ae072a0065389092a231283f62d960030ecd27565672bd40746c507"},
|
797 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:578e24f761f3b425834f297b9935e1ce2e30f51400964ce4801002435a1b41ef"},
|
798 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:81b5efb2f126454586d0f40c4d834010979cb80785173d1586df845a632e4e6d"},
|
799 |
+
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ab86ce7c8f9bea87b9d12c7f0af71102acbf5ecbc66c17796cff45dae54ef9a5"},
|
800 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:90afc12421df2b1b4dcc975f814e21bc1754640d502a2fbcc6d41e77af5ec312"},
|
801 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:51991a89639a912c17bef4b45c87bd83593aee0437d8102556af4885811d59f5"},
|
802 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:293afe532740370aba8c060882f7d26cfd00c94cae32fd2e212a3a6e3b7bc15e"},
|
803 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48ece5bde2e768197a2d0f6e925f9d7e3e826f0ad2271120f8144a9db18d5c8"},
|
804 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eae237477a873ab46e8dd748e515c72c0c804fb380fbe6c85533c7de51f23a8f"},
|
805 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:834b5230b5dfc0c1ec37b2fda433b271cbbc0e507560b5d1588e2cc1148cf1ce"},
|
806 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e858ac0a25074ba4bce653f9b5d0a85b7456eaddadc0ce82d3878c22489fa4ee"},
|
807 |
+
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2fd41f6eff4c20778d717af1cc50eca52f5afe7805ee530a4fbd0bae284f16e9"},
|
808 |
+
{file = "pydantic_core-2.18.4.tar.gz", hash = "sha256:ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"},
|
809 |
+
]
|
810 |
+
|
811 |
+
[[package]]
|
812 |
+
name = "pydub"
|
813 |
+
version = "0.25.1"
|
814 |
+
summary = "Manipulate audio with an simple and easy high level interface"
|
815 |
+
groups = ["default"]
|
816 |
+
files = [
|
817 |
+
{file = "pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6"},
|
818 |
+
{file = "pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f"},
|
819 |
+
]
|
820 |
+
|
821 |
+
[[package]]
|
822 |
+
name = "pygments"
|
823 |
+
version = "2.18.0"
|
824 |
+
requires_python = ">=3.8"
|
825 |
+
summary = "Pygments is a syntax highlighting package written in Python."
|
826 |
+
groups = ["default"]
|
827 |
+
files = [
|
828 |
+
{file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"},
|
829 |
+
{file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"},
|
830 |
+
]
|
831 |
+
|
832 |
+
[[package]]
|
833 |
+
name = "pyparsing"
|
834 |
+
version = "3.1.2"
|
835 |
+
requires_python = ">=3.6.8"
|
836 |
+
summary = "pyparsing module - Classes and methods to define and execute parsing grammars"
|
837 |
+
groups = ["default"]
|
838 |
+
files = [
|
839 |
+
{file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"},
|
840 |
+
{file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"},
|
841 |
+
]
|
842 |
+
|
843 |
+
[[package]]
|
844 |
+
name = "python-dateutil"
|
845 |
+
version = "2.9.0.post0"
|
846 |
+
requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
847 |
+
summary = "Extensions to the standard Python datetime module"
|
848 |
+
groups = ["default"]
|
849 |
+
dependencies = [
|
850 |
+
"six>=1.5",
|
851 |
+
]
|
852 |
+
files = [
|
853 |
+
{file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"},
|
854 |
+
{file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"},
|
855 |
+
]
|
856 |
+
|
857 |
+
[[package]]
|
858 |
+
name = "python-dotenv"
|
859 |
+
version = "1.0.1"
|
860 |
+
requires_python = ">=3.8"
|
861 |
+
summary = "Read key-value pairs from a .env file and set them as environment variables"
|
862 |
+
groups = ["default"]
|
863 |
+
files = [
|
864 |
+
{file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"},
|
865 |
+
{file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"},
|
866 |
+
]
|
867 |
+
|
868 |
+
[[package]]
|
869 |
+
name = "python-multipart"
|
870 |
+
version = "0.0.9"
|
871 |
+
requires_python = ">=3.8"
|
872 |
+
summary = "A streaming multipart parser for Python"
|
873 |
+
groups = ["default"]
|
874 |
+
files = [
|
875 |
+
{file = "python_multipart-0.0.9-py3-none-any.whl", hash = "sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215"},
|
876 |
+
{file = "python_multipart-0.0.9.tar.gz", hash = "sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026"},
|
877 |
+
]
|
878 |
+
|
879 |
+
[[package]]
|
880 |
+
name = "pytz"
|
881 |
+
version = "2024.1"
|
882 |
+
summary = "World timezone definitions, modern and historical"
|
883 |
+
groups = ["default"]
|
884 |
+
files = [
|
885 |
+
{file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"},
|
886 |
+
{file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"},
|
887 |
+
]
|
888 |
+
|
889 |
+
[[package]]
|
890 |
+
name = "pyyaml"
|
891 |
+
version = "6.0.1"
|
892 |
+
requires_python = ">=3.6"
|
893 |
+
summary = "YAML parser and emitter for Python"
|
894 |
+
groups = ["default"]
|
895 |
+
files = [
|
896 |
+
{file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
|
897 |
+
{file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
|
898 |
+
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
|
899 |
+
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"},
|
900 |
+
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"},
|
901 |
+
{file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"},
|
902 |
+
{file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"},
|
903 |
+
{file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"},
|
904 |
+
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
|
905 |
+
]
|
906 |
+
|
907 |
+
[[package]]
|
908 |
+
name = "referencing"
|
909 |
+
version = "0.35.1"
|
910 |
+
requires_python = ">=3.8"
|
911 |
+
summary = "JSON Referencing + Python"
|
912 |
+
groups = ["default"]
|
913 |
+
dependencies = [
|
914 |
+
"attrs>=22.2.0",
|
915 |
+
"rpds-py>=0.7.0",
|
916 |
+
]
|
917 |
+
files = [
|
918 |
+
{file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"},
|
919 |
+
{file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"},
|
920 |
+
]
|
921 |
+
|
922 |
+
[[package]]
|
923 |
+
name = "requests"
|
924 |
+
version = "2.32.3"
|
925 |
+
requires_python = ">=3.8"
|
926 |
+
summary = "Python HTTP for Humans."
|
927 |
+
groups = ["default"]
|
928 |
+
dependencies = [
|
929 |
+
"certifi>=2017.4.17",
|
930 |
+
"charset-normalizer<4,>=2",
|
931 |
+
"idna<4,>=2.5",
|
932 |
+
"urllib3<3,>=1.21.1",
|
933 |
+
]
|
934 |
+
files = [
|
935 |
+
{file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"},
|
936 |
+
{file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"},
|
937 |
+
]
|
938 |
+
|
939 |
+
[[package]]
|
940 |
+
name = "rich"
|
941 |
+
version = "13.7.1"
|
942 |
+
requires_python = ">=3.7.0"
|
943 |
+
summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal"
|
944 |
+
groups = ["default"]
|
945 |
+
dependencies = [
|
946 |
+
"markdown-it-py>=2.2.0",
|
947 |
+
"pygments<3.0.0,>=2.13.0",
|
948 |
+
]
|
949 |
+
files = [
|
950 |
+
{file = "rich-13.7.1-py3-none-any.whl", hash = "sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222"},
|
951 |
+
{file = "rich-13.7.1.tar.gz", hash = "sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432"},
|
952 |
+
]
|
953 |
+
|
954 |
+
[[package]]
|
955 |
+
name = "rpds-py"
|
956 |
+
version = "0.18.1"
|
957 |
+
requires_python = ">=3.8"
|
958 |
+
summary = "Python bindings to Rust's persistent data structures (rpds)"
|
959 |
+
groups = ["default"]
|
960 |
+
files = [
|
961 |
+
{file = "rpds_py-0.18.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:d31dea506d718693b6b2cffc0648a8929bdc51c70a311b2770f09611caa10d53"},
|
962 |
+
{file = "rpds_py-0.18.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:732672fbc449bab754e0b15356c077cc31566df874964d4801ab14f71951ea80"},
|
963 |
+
{file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a98a1f0552b5f227a3d6422dbd61bc6f30db170939bd87ed14f3c339aa6c7c9"},
|
964 |
+
{file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f1944ce16401aad1e3f7d312247b3d5de7981f634dc9dfe90da72b87d37887d"},
|
965 |
+
{file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38e14fb4e370885c4ecd734f093a2225ee52dc384b86fa55fe3f74638b2cfb09"},
|
966 |
+
{file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08d74b184f9ab6289b87b19fe6a6d1a97fbfea84b8a3e745e87a5de3029bf944"},
|
967 |
+
{file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d70129cef4a8d979caa37e7fe957202e7eee8ea02c5e16455bc9808a59c6b2f0"},
|
968 |
+
{file = "rpds_py-0.18.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ce0bb20e3a11bd04461324a6a798af34d503f8d6f1aa3d2aa8901ceaf039176d"},
|
969 |
+
{file = "rpds_py-0.18.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81c5196a790032e0fc2464c0b4ab95f8610f96f1f2fa3d4deacce6a79852da60"},
|
970 |
+
{file = "rpds_py-0.18.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f3027be483868c99b4985fda802a57a67fdf30c5d9a50338d9db646d590198da"},
|
971 |
+
{file = "rpds_py-0.18.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d44607f98caa2961bab4fa3c4309724b185b464cdc3ba6f3d7340bac3ec97cc1"},
|
972 |
+
{file = "rpds_py-0.18.1-cp310-none-win32.whl", hash = "sha256:c273e795e7a0f1fddd46e1e3cb8be15634c29ae8ff31c196debb620e1edb9333"},
|
973 |
+
{file = "rpds_py-0.18.1-cp310-none-win_amd64.whl", hash = "sha256:8352f48d511de5f973e4f2f9412736d7dea76c69faa6d36bcf885b50c758ab9a"},
|
974 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cbfbea39ba64f5e53ae2915de36f130588bba71245b418060ec3330ebf85678e"},
|
975 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:a3d456ff2a6a4d2adcdf3c1c960a36f4fd2fec6e3b4902a42a384d17cf4e7a65"},
|
976 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7700936ef9d006b7ef605dc53aa364da2de5a3aa65516a1f3ce73bf82ecfc7ae"},
|
977 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:51584acc5916212e1bf45edd17f3a6b05fe0cbb40482d25e619f824dccb679de"},
|
978 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:942695a206a58d2575033ff1e42b12b2aece98d6003c6bc739fbf33d1773b12f"},
|
979 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b906b5f58892813e5ba5c6056d6a5ad08f358ba49f046d910ad992196ea61397"},
|
980 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6f8e3fecca256fefc91bb6765a693d96692459d7d4c644660a9fff32e517843"},
|
981 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7732770412bab81c5a9f6d20aeb60ae943a9b36dcd990d876a773526468e7163"},
|
982 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:bd1105b50ede37461c1d51b9698c4f4be6e13e69a908ab7751e3807985fc0346"},
|
983 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:618916f5535784960f3ecf8111581f4ad31d347c3de66d02e728de460a46303c"},
|
984 |
+
{file = "rpds_py-0.18.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:17c6d2155e2423f7e79e3bb18151c686d40db42d8645e7977442170c360194d4"},
|
985 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:6c4c4c3f878df21faf5fac86eda32671c27889e13570645a9eea0a1abdd50922"},
|
986 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:fab6ce90574645a0d6c58890e9bcaac8d94dff54fb51c69e5522a7358b80ab64"},
|
987 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:531796fb842b53f2695e94dc338929e9f9dbf473b64710c28af5a160b2a8927d"},
|
988 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:740884bc62a5e2bbb31e584f5d23b32320fd75d79f916f15a788d527a5e83644"},
|
989 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:998125738de0158f088aef3cb264a34251908dd2e5d9966774fdab7402edfab7"},
|
990 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e2be6e9dd4111d5b31ba3b74d17da54a8319d8168890fbaea4b9e5c3de630ae5"},
|
991 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0cee71bc618cd93716f3c1bf56653740d2d13ddbd47673efa8bf41435a60daa"},
|
992 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2c3caec4ec5cd1d18e5dd6ae5194d24ed12785212a90b37f5f7f06b8bedd7139"},
|
993 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:27bba383e8c5231cd559affe169ca0b96ec78d39909ffd817f28b166d7ddd4d8"},
|
994 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:a888e8bdb45916234b99da2d859566f1e8a1d2275a801bb8e4a9644e3c7e7909"},
|
995 |
+
{file = "rpds_py-0.18.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6031b25fb1b06327b43d841f33842b383beba399884f8228a6bb3df3088485ff"},
|
996 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:48c2faaa8adfacefcbfdb5f2e2e7bdad081e5ace8d182e5f4ade971f128e6bb3"},
|
997 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:d85164315bd68c0806768dc6bb0429c6f95c354f87485ee3593c4f6b14def2bd"},
|
998 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6afd80f6c79893cfc0574956f78a0add8c76e3696f2d6a15bca2c66c415cf2d4"},
|
999 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa242ac1ff583e4ec7771141606aafc92b361cd90a05c30d93e343a0c2d82a89"},
|
1000 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21be4770ff4e08698e1e8e0bce06edb6ea0626e7c8f560bc08222880aca6a6f"},
|
1001 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c45a639e93a0c5d4b788b2613bd637468edd62f8f95ebc6fcc303d58ab3f0a8"},
|
1002 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:910e71711d1055b2768181efa0a17537b2622afeb0424116619817007f8a2b10"},
|
1003 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b9bb1f182a97880f6078283b3505a707057c42bf55d8fca604f70dedfdc0772a"},
|
1004 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1d54f74f40b1f7aaa595a02ff42ef38ca654b1469bef7d52867da474243cc633"},
|
1005 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:8d2e182c9ee01135e11e9676e9a62dfad791a7a467738f06726872374a83db49"},
|
1006 |
+
{file = "rpds_py-0.18.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:636a15acc588f70fda1661234761f9ed9ad79ebed3f2125d44be0862708b666e"},
|
1007 |
+
{file = "rpds_py-0.18.1.tar.gz", hash = "sha256:dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f"},
|
1008 |
+
]
|
1009 |
+
|
1010 |
+
[[package]]
|
1011 |
+
name = "ruff"
|
1012 |
+
version = "0.4.8"
|
1013 |
+
requires_python = ">=3.7"
|
1014 |
+
summary = "An extremely fast Python linter and code formatter, written in Rust."
|
1015 |
+
groups = ["default", "lint"]
|
1016 |
+
files = [
|
1017 |
+
{file = "ruff-0.4.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:7663a6d78f6adb0eab270fa9cf1ff2d28618ca3a652b60f2a234d92b9ec89066"},
|
1018 |
+
{file = "ruff-0.4.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:eeceb78da8afb6de0ddada93112869852d04f1cd0f6b80fe464fd4e35c330913"},
|
1019 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aad360893e92486662ef3be0a339c5ca3c1b109e0134fcd37d534d4be9fb8de3"},
|
1020 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:284c2e3f3396fb05f5f803c9fffb53ebbe09a3ebe7dda2929ed8d73ded736deb"},
|
1021 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7354f921e3fbe04d2a62d46707e569f9315e1a613307f7311a935743c51a764"},
|
1022 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:72584676164e15a68a15778fd1b17c28a519e7a0622161eb2debdcdabdc71883"},
|
1023 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9678d5c9b43315f323af2233a04d747409d1e3aa6789620083a82d1066a35199"},
|
1024 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704977a658131651a22b5ebeb28b717ef42ac6ee3b11e91dc87b633b5d83142b"},
|
1025 |
+
{file = "ruff-0.4.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d05f8d6f0c3cce5026cecd83b7a143dcad503045857bc49662f736437380ad45"},
|
1026 |
+
{file = "ruff-0.4.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6ea874950daca5697309d976c9afba830d3bf0ed66887481d6bca1673fc5b66a"},
|
1027 |
+
{file = "ruff-0.4.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:fc95aac2943ddf360376be9aa3107c8cf9640083940a8c5bd824be692d2216dc"},
|
1028 |
+
{file = "ruff-0.4.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:384154a1c3f4bf537bac69f33720957ee49ac8d484bfc91720cc94172026ceed"},
|
1029 |
+
{file = "ruff-0.4.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e9d5ce97cacc99878aa0d084c626a15cd21e6b3d53fd6f9112b7fc485918e1fa"},
|
1030 |
+
{file = "ruff-0.4.8-py3-none-win32.whl", hash = "sha256:6d795d7639212c2dfd01991259460101c22aabf420d9b943f153ab9d9706e6a9"},
|
1031 |
+
{file = "ruff-0.4.8-py3-none-win_amd64.whl", hash = "sha256:e14a3a095d07560a9d6769a72f781d73259655919d9b396c650fc98a8157555d"},
|
1032 |
+
{file = "ruff-0.4.8-py3-none-win_arm64.whl", hash = "sha256:14019a06dbe29b608f6b7cbcec300e3170a8d86efaddb7b23405cb7f7dcaf780"},
|
1033 |
+
{file = "ruff-0.4.8.tar.gz", hash = "sha256:16d717b1d57b2e2fd68bd0bf80fb43931b79d05a7131aa477d66fc40fbd86268"},
|
1034 |
+
]
|
1035 |
+
|
1036 |
+
[[package]]
|
1037 |
+
name = "semantic-version"
|
1038 |
+
version = "2.10.0"
|
1039 |
+
requires_python = ">=2.7"
|
1040 |
+
summary = "A library implementing the 'SemVer' scheme."
|
1041 |
+
groups = ["default"]
|
1042 |
+
files = [
|
1043 |
+
{file = "semantic_version-2.10.0-py2.py3-none-any.whl", hash = "sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177"},
|
1044 |
+
{file = "semantic_version-2.10.0.tar.gz", hash = "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c"},
|
1045 |
+
]
|
1046 |
+
|
1047 |
+
[[package]]
|
1048 |
+
name = "shellingham"
|
1049 |
+
version = "1.5.4"
|
1050 |
+
requires_python = ">=3.7"
|
1051 |
+
summary = "Tool to Detect Surrounding Shell"
|
1052 |
+
groups = ["default"]
|
1053 |
+
files = [
|
1054 |
+
{file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"},
|
1055 |
+
{file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"},
|
1056 |
+
]
|
1057 |
+
|
1058 |
+
[[package]]
|
1059 |
+
name = "six"
|
1060 |
+
version = "1.16.0"
|
1061 |
+
requires_python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
1062 |
+
summary = "Python 2 and 3 compatibility utilities"
|
1063 |
+
groups = ["default"]
|
1064 |
+
files = [
|
1065 |
+
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
1066 |
+
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
1067 |
+
]
|
1068 |
+
|
1069 |
+
[[package]]
|
1070 |
+
name = "sniffio"
|
1071 |
+
version = "1.3.1"
|
1072 |
+
requires_python = ">=3.7"
|
1073 |
+
summary = "Sniff out which async library your code is running under"
|
1074 |
+
groups = ["default"]
|
1075 |
+
files = [
|
1076 |
+
{file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"},
|
1077 |
+
{file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"},
|
1078 |
+
]
|
1079 |
+
|
1080 |
+
[[package]]
|
1081 |
+
name = "starlette"
|
1082 |
+
version = "0.37.2"
|
1083 |
+
requires_python = ">=3.8"
|
1084 |
+
summary = "The little ASGI library that shines."
|
1085 |
+
groups = ["default"]
|
1086 |
+
dependencies = [
|
1087 |
+
"anyio<5,>=3.4.0",
|
1088 |
+
]
|
1089 |
+
files = [
|
1090 |
+
{file = "starlette-0.37.2-py3-none-any.whl", hash = "sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee"},
|
1091 |
+
{file = "starlette-0.37.2.tar.gz", hash = "sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823"},
|
1092 |
+
]
|
1093 |
+
|
1094 |
+
[[package]]
|
1095 |
+
name = "tomlkit"
|
1096 |
+
version = "0.12.0"
|
1097 |
+
requires_python = ">=3.7"
|
1098 |
+
summary = "Style preserving TOML library"
|
1099 |
+
groups = ["default"]
|
1100 |
+
files = [
|
1101 |
+
{file = "tomlkit-0.12.0-py3-none-any.whl", hash = "sha256:926f1f37a1587c7a4f6c7484dae538f1345d96d793d9adab5d3675957b1d0766"},
|
1102 |
+
{file = "tomlkit-0.12.0.tar.gz", hash = "sha256:01f0477981119c7d8ee0f67ebe0297a7c95b14cf9f4b102b45486deb77018716"},
|
1103 |
+
]
|
1104 |
+
|
1105 |
+
[[package]]
|
1106 |
+
name = "toolz"
|
1107 |
+
version = "0.12.1"
|
1108 |
+
requires_python = ">=3.7"
|
1109 |
+
summary = "List processing tools and functional utilities"
|
1110 |
+
groups = ["default"]
|
1111 |
+
files = [
|
1112 |
+
{file = "toolz-0.12.1-py3-none-any.whl", hash = "sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85"},
|
1113 |
+
{file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"},
|
1114 |
+
]
|
1115 |
+
|
1116 |
+
[[package]]
|
1117 |
+
name = "tqdm"
|
1118 |
+
version = "4.66.4"
|
1119 |
+
requires_python = ">=3.7"
|
1120 |
+
summary = "Fast, Extensible Progress Meter"
|
1121 |
+
groups = ["default"]
|
1122 |
+
dependencies = [
|
1123 |
+
"colorama; platform_system == \"Windows\"",
|
1124 |
+
]
|
1125 |
+
files = [
|
1126 |
+
{file = "tqdm-4.66.4-py3-none-any.whl", hash = "sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644"},
|
1127 |
+
{file = "tqdm-4.66.4.tar.gz", hash = "sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb"},
|
1128 |
+
]
|
1129 |
+
|
1130 |
+
[[package]]
|
1131 |
+
name = "typer"
|
1132 |
+
version = "0.12.3"
|
1133 |
+
requires_python = ">=3.7"
|
1134 |
+
summary = "Typer, build great CLIs. Easy to code. Based on Python type hints."
|
1135 |
+
groups = ["default"]
|
1136 |
+
dependencies = [
|
1137 |
+
"click>=8.0.0",
|
1138 |
+
"rich>=10.11.0",
|
1139 |
+
"shellingham>=1.3.0",
|
1140 |
+
"typing-extensions>=3.7.4.3",
|
1141 |
+
]
|
1142 |
+
files = [
|
1143 |
+
{file = "typer-0.12.3-py3-none-any.whl", hash = "sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914"},
|
1144 |
+
{file = "typer-0.12.3.tar.gz", hash = "sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482"},
|
1145 |
+
]
|
1146 |
+
|
1147 |
+
[[package]]
|
1148 |
+
name = "typing-extensions"
|
1149 |
+
version = "4.12.2"
|
1150 |
+
requires_python = ">=3.8"
|
1151 |
+
summary = "Backported and Experimental Type Hints for Python 3.8+"
|
1152 |
+
groups = ["default"]
|
1153 |
+
files = [
|
1154 |
+
{file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"},
|
1155 |
+
{file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"},
|
1156 |
+
]
|
1157 |
+
|
1158 |
+
[[package]]
|
1159 |
+
name = "tzdata"
|
1160 |
+
version = "2024.1"
|
1161 |
+
requires_python = ">=2"
|
1162 |
+
summary = "Provider of IANA time zone data"
|
1163 |
+
groups = ["default"]
|
1164 |
+
files = [
|
1165 |
+
{file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"},
|
1166 |
+
{file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"},
|
1167 |
+
]
|
1168 |
+
|
1169 |
+
[[package]]
|
1170 |
+
name = "tzlocal"
|
1171 |
+
version = "5.2"
|
1172 |
+
requires_python = ">=3.8"
|
1173 |
+
summary = "tzinfo object for the local timezone"
|
1174 |
+
groups = ["default"]
|
1175 |
+
dependencies = [
|
1176 |
+
"tzdata; platform_system == \"Windows\"",
|
1177 |
+
]
|
1178 |
+
files = [
|
1179 |
+
{file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"},
|
1180 |
+
{file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"},
|
1181 |
+
]
|
1182 |
+
|
1183 |
+
[[package]]
|
1184 |
+
name = "ujson"
|
1185 |
+
version = "5.10.0"
|
1186 |
+
requires_python = ">=3.8"
|
1187 |
+
summary = "Ultra fast JSON encoder and decoder for Python"
|
1188 |
+
groups = ["default"]
|
1189 |
+
files = [
|
1190 |
+
{file = "ujson-5.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2601aa9ecdbee1118a1c2065323bda35e2c5a2cf0797ef4522d485f9d3ef65bd"},
|
1191 |
+
{file = "ujson-5.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:348898dd702fc1c4f1051bc3aacbf894caa0927fe2c53e68679c073375f732cf"},
|
1192 |
+
{file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22cffecf73391e8abd65ef5f4e4dd523162a3399d5e84faa6aebbf9583df86d6"},
|
1193 |
+
{file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26b0e2d2366543c1bb4fbd457446f00b0187a2bddf93148ac2da07a53fe51569"},
|
1194 |
+
{file = "ujson-5.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:caf270c6dba1be7a41125cd1e4fc7ba384bf564650beef0df2dd21a00b7f5770"},
|
1195 |
+
{file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a245d59f2ffe750446292b0094244df163c3dc96b3ce152a2c837a44e7cda9d1"},
|
1196 |
+
{file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:94a87f6e151c5f483d7d54ceef83b45d3a9cca7a9cb453dbdbb3f5a6f64033f5"},
|
1197 |
+
{file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:29b443c4c0a113bcbb792c88bea67b675c7ca3ca80c3474784e08bba01c18d51"},
|
1198 |
+
{file = "ujson-5.10.0-cp310-cp310-win32.whl", hash = "sha256:c18610b9ccd2874950faf474692deee4223a994251bc0a083c114671b64e6518"},
|
1199 |
+
{file = "ujson-5.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:924f7318c31874d6bb44d9ee1900167ca32aa9b69389b98ecbde34c1698a250f"},
|
1200 |
+
{file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5b6fee72fa77dc172a28f21693f64d93166534c263adb3f96c413ccc85ef6e64"},
|
1201 |
+
{file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:61d0af13a9af01d9f26d2331ce49bb5ac1fb9c814964018ac8df605b5422dcb3"},
|
1202 |
+
{file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecb24f0bdd899d368b715c9e6664166cf694d1e57be73f17759573a6986dd95a"},
|
1203 |
+
{file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbd8fd427f57a03cff3ad6574b5e299131585d9727c8c366da4624a9069ed746"},
|
1204 |
+
{file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeaf1c48e32f07d8820c705ff8e645f8afa690cca1544adba4ebfa067efdc88"},
|
1205 |
+
{file = "ujson-5.10.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:baed37ea46d756aca2955e99525cc02d9181de67f25515c468856c38d52b5f3b"},
|
1206 |
+
{file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7663960f08cd5a2bb152f5ee3992e1af7690a64c0e26d31ba7b3ff5b2ee66337"},
|
1207 |
+
{file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1"},
|
1208 |
+
{file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78778a3aa7aafb11e7ddca4e29f46bc5139131037ad628cc10936764282d6753"},
|
1209 |
+
{file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0111b27f2d5c820e7f2dbad7d48e3338c824e7ac4d2a12da3dc6061cc39c8e6"},
|
1210 |
+
{file = "ujson-5.10.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:c66962ca7565605b355a9ed478292da628b8f18c0f2793021ca4425abf8b01e5"},
|
1211 |
+
{file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4"},
|
1212 |
+
{file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac56eb983edce27e7f51d05bc8dd820586c6e6be1c5216a6809b0c668bb312b8"},
|
1213 |
+
{file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b"},
|
1214 |
+
{file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804"},
|
1215 |
+
{file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e"},
|
1216 |
+
{file = "ujson-5.10.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e1402f0564a97d2a52310ae10a64d25bcef94f8dd643fcf5d310219d915484f7"},
|
1217 |
+
{file = "ujson-5.10.0.tar.gz", hash = "sha256:b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1"},
|
1218 |
+
]
|
1219 |
+
|
1220 |
+
[[package]]
|
1221 |
+
name = "urllib3"
|
1222 |
+
version = "2.2.1"
|
1223 |
+
requires_python = ">=3.8"
|
1224 |
+
summary = "HTTP library with thread-safe connection pooling, file post, and more."
|
1225 |
+
groups = ["default"]
|
1226 |
+
files = [
|
1227 |
+
{file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"},
|
1228 |
+
{file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"},
|
1229 |
+
]
|
1230 |
+
|
1231 |
+
[[package]]
|
1232 |
+
name = "uvicorn"
|
1233 |
+
version = "0.30.1"
|
1234 |
+
requires_python = ">=3.8"
|
1235 |
+
summary = "The lightning-fast ASGI server."
|
1236 |
+
groups = ["default"]
|
1237 |
+
dependencies = [
|
1238 |
+
"click>=7.0",
|
1239 |
+
"h11>=0.8",
|
1240 |
+
"typing-extensions>=4.0; python_version < \"3.11\"",
|
1241 |
+
]
|
1242 |
+
files = [
|
1243 |
+
{file = "uvicorn-0.30.1-py3-none-any.whl", hash = "sha256:cd17daa7f3b9d7a24de3617820e634d0933b69eed8e33a516071174427238c81"},
|
1244 |
+
{file = "uvicorn-0.30.1.tar.gz", hash = "sha256:d46cd8e0fd80240baffbcd9ec1012a712938754afcf81bce56c024c1656aece8"},
|
1245 |
+
]
|
1246 |
+
|
1247 |
+
[[package]]
|
1248 |
+
name = "uvicorn"
|
1249 |
+
version = "0.30.1"
|
1250 |
+
extras = ["standard"]
|
1251 |
+
requires_python = ">=3.8"
|
1252 |
+
summary = "The lightning-fast ASGI server."
|
1253 |
+
groups = ["default"]
|
1254 |
+
dependencies = [
|
1255 |
+
"colorama>=0.4; sys_platform == \"win32\"",
|
1256 |
+
"httptools>=0.5.0",
|
1257 |
+
"python-dotenv>=0.13",
|
1258 |
+
"pyyaml>=5.1",
|
1259 |
+
"uvicorn==0.30.1",
|
1260 |
+
"uvloop!=0.15.0,!=0.15.1,>=0.14.0; (sys_platform != \"cygwin\" and sys_platform != \"win32\") and platform_python_implementation != \"PyPy\"",
|
1261 |
+
"watchfiles>=0.13",
|
1262 |
+
"websockets>=10.4",
|
1263 |
+
]
|
1264 |
+
files = [
|
1265 |
+
{file = "uvicorn-0.30.1-py3-none-any.whl", hash = "sha256:cd17daa7f3b9d7a24de3617820e634d0933b69eed8e33a516071174427238c81"},
|
1266 |
+
{file = "uvicorn-0.30.1.tar.gz", hash = "sha256:d46cd8e0fd80240baffbcd9ec1012a712938754afcf81bce56c024c1656aece8"},
|
1267 |
+
]
|
1268 |
+
|
1269 |
+
[[package]]
|
1270 |
+
name = "uvloop"
|
1271 |
+
version = "0.19.0"
|
1272 |
+
requires_python = ">=3.8.0"
|
1273 |
+
summary = "Fast implementation of asyncio event loop on top of libuv"
|
1274 |
+
groups = ["default"]
|
1275 |
+
marker = "(sys_platform != \"cygwin\" and sys_platform != \"win32\") and platform_python_implementation != \"PyPy\""
|
1276 |
+
files = [
|
1277 |
+
{file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e"},
|
1278 |
+
{file = "uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428"},
|
1279 |
+
{file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8"},
|
1280 |
+
{file = "uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849"},
|
1281 |
+
{file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957"},
|
1282 |
+
{file = "uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd"},
|
1283 |
+
{file = "uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd"},
|
1284 |
+
]
|
1285 |
+
|
1286 |
+
[[package]]
|
1287 |
+
name = "watchfiles"
|
1288 |
+
version = "0.22.0"
|
1289 |
+
requires_python = ">=3.8"
|
1290 |
+
summary = "Simple, modern and high performance file watching and code reload in python."
|
1291 |
+
groups = ["default"]
|
1292 |
+
dependencies = [
|
1293 |
+
"anyio>=3.0.0",
|
1294 |
+
]
|
1295 |
+
files = [
|
1296 |
+
{file = "watchfiles-0.22.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:da1e0a8caebf17976e2ffd00fa15f258e14749db5e014660f53114b676e68538"},
|
1297 |
+
{file = "watchfiles-0.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61af9efa0733dc4ca462347becb82e8ef4945aba5135b1638bfc20fad64d4f0e"},
|
1298 |
+
{file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d9188979a58a096b6f8090e816ccc3f255f137a009dd4bbec628e27696d67c1"},
|
1299 |
+
{file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2bdadf6b90c099ca079d468f976fd50062905d61fae183f769637cb0f68ba59a"},
|
1300 |
+
{file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:067dea90c43bf837d41e72e546196e674f68c23702d3ef80e4e816937b0a3ffd"},
|
1301 |
+
{file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbf8a20266136507abf88b0df2328e6a9a7c7309e8daff124dda3803306a9fdb"},
|
1302 |
+
{file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1235c11510ea557fe21be5d0e354bae2c655a8ee6519c94617fe63e05bca4171"},
|
1303 |
+
{file = "watchfiles-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2444dc7cb9d8cc5ab88ebe792a8d75709d96eeef47f4c8fccb6df7c7bc5be71"},
|
1304 |
+
{file = "watchfiles-0.22.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c5af2347d17ab0bd59366db8752d9e037982e259cacb2ba06f2c41c08af02c39"},
|
1305 |
+
{file = "watchfiles-0.22.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9624a68b96c878c10437199d9a8b7d7e542feddda8d5ecff58fdc8e67b460848"},
|
1306 |
+
{file = "watchfiles-0.22.0-cp310-none-win32.whl", hash = "sha256:4b9f2a128a32a2c273d63eb1fdbf49ad64852fc38d15b34eaa3f7ca2f0d2b797"},
|
1307 |
+
{file = "watchfiles-0.22.0-cp310-none-win_amd64.whl", hash = "sha256:2627a91e8110b8de2406d8b2474427c86f5a62bf7d9ab3654f541f319ef22bcb"},
|
1308 |
+
{file = "watchfiles-0.22.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b810a2c7878cbdecca12feae2c2ae8af59bea016a78bc353c184fa1e09f76b68"},
|
1309 |
+
{file = "watchfiles-0.22.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f7e1f9c5d1160d03b93fc4b68a0aeb82fe25563e12fbcdc8507f8434ab6f823c"},
|
1310 |
+
{file = "watchfiles-0.22.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:030bc4e68d14bcad2294ff68c1ed87215fbd9a10d9dea74e7cfe8a17869785ab"},
|
1311 |
+
{file = "watchfiles-0.22.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace7d060432acde5532e26863e897ee684780337afb775107c0a90ae8dbccfd2"},
|
1312 |
+
{file = "watchfiles-0.22.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5834e1f8b71476a26df97d121c0c0ed3549d869124ed2433e02491553cb468c2"},
|
1313 |
+
{file = "watchfiles-0.22.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:0bc3b2f93a140df6806c8467c7f51ed5e55a931b031b5c2d7ff6132292e803d6"},
|
1314 |
+
{file = "watchfiles-0.22.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8fdebb655bb1ba0122402352b0a4254812717a017d2dc49372a1d47e24073795"},
|
1315 |
+
{file = "watchfiles-0.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c8e0aa0e8cc2a43561e0184c0513e291ca891db13a269d8d47cb9841ced7c71"},
|
1316 |
+
{file = "watchfiles-0.22.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2f350cbaa4bb812314af5dab0eb8d538481e2e2279472890864547f3fe2281ed"},
|
1317 |
+
{file = "watchfiles-0.22.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7a74436c415843af2a769b36bf043b6ccbc0f8d784814ba3d42fc961cdb0a9dc"},
|
1318 |
+
{file = "watchfiles-0.22.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00ad0bcd399503a84cc688590cdffbe7a991691314dde5b57b3ed50a41319a31"},
|
1319 |
+
{file = "watchfiles-0.22.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72a44e9481afc7a5ee3291b09c419abab93b7e9c306c9ef9108cb76728ca58d2"},
|
1320 |
+
{file = "watchfiles-0.22.0.tar.gz", hash = "sha256:988e981aaab4f3955209e7e28c7794acdb690be1efa7f16f8ea5aba7ffdadacb"},
|
1321 |
+
]
|
1322 |
+
|
1323 |
+
[[package]]
|
1324 |
+
name = "websockets"
|
1325 |
+
version = "11.0.3"
|
1326 |
+
requires_python = ">=3.7"
|
1327 |
+
summary = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
1328 |
+
groups = ["default"]
|
1329 |
+
files = [
|
1330 |
+
{file = "websockets-11.0.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac"},
|
1331 |
+
{file = "websockets-11.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d"},
|
1332 |
+
{file = "websockets-11.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84d27a4832cc1a0ee07cdcf2b0629a8a72db73f4cf6de6f0904f6661227f256f"},
|
1333 |
+
{file = "websockets-11.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffd7dcaf744f25f82190856bc26ed81721508fc5cbf2a330751e135ff1283564"},
|
1334 |
+
{file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7622a89d696fc87af8e8d280d9b421db5133ef5b29d3f7a1ce9f1a7bf7fcfa11"},
|
1335 |
+
{file = "websockets-11.0.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bceab846bac555aff6427d060f2fcfff71042dba6f5fca7dc4f75cac815e57ca"},
|
1336 |
+
{file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:54c6e5b3d3a8936a4ab6870d46bdd6ec500ad62bde9e44462c32d18f1e9a8e54"},
|
1337 |
+
{file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:41f696ba95cd92dc047e46b41b26dd24518384749ed0d99bea0a941ca87404c4"},
|
1338 |
+
{file = "websockets-11.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:86d2a77fd490ae3ff6fae1c6ceaecad063d3cc2320b44377efdde79880e11526"},
|
1339 |
+
{file = "websockets-11.0.3-cp310-cp310-win32.whl", hash = "sha256:2d903ad4419f5b472de90cd2d40384573b25da71e33519a67797de17ef849b69"},
|
1340 |
+
{file = "websockets-11.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:1d2256283fa4b7f4c7d7d3e84dc2ece74d341bce57d5b9bf385df109c2a1a82f"},
|
1341 |
+
{file = "websockets-11.0.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:f2e58f2c36cc52d41f2659e4c0cbf7353e28c8c9e63e30d8c6d3494dc9fdedcf"},
|
1342 |
+
{file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de36fe9c02995c7e6ae6efe2e205816f5f00c22fd1fbf343d4d18c3d5ceac2f5"},
|
1343 |
+
{file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ac56b661e60edd453585f4bd68eb6a29ae25b5184fd5ba51e97652580458998"},
|
1344 |
+
{file = "websockets-11.0.3-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e052b8467dd07d4943936009f46ae5ce7b908ddcac3fda581656b1b19c083d9b"},
|
1345 |
+
{file = "websockets-11.0.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:42cc5452a54a8e46a032521d7365da775823e21bfba2895fb7b77633cce031bb"},
|
1346 |
+
{file = "websockets-11.0.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e6316827e3e79b7b8e7d8e3b08f4e331af91a48e794d5d8b099928b6f0b85f20"},
|
1347 |
+
{file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8531fdcad636d82c517b26a448dcfe62f720e1922b33c81ce695d0edb91eb931"},
|
1348 |
+
{file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c114e8da9b475739dde229fd3bc6b05a6537a88a578358bc8eb29b4030fac9c9"},
|
1349 |
+
{file = "websockets-11.0.3-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e063b1865974611313a3849d43f2c3f5368093691349cf3c7c8f8f75ad7cb280"},
|
1350 |
+
{file = "websockets-11.0.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:92b2065d642bf8c0a82d59e59053dd2fdde64d4ed44efe4870fa816c1232647b"},
|
1351 |
+
{file = "websockets-11.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0ee68fe502f9031f19d495dae2c268830df2760c0524cbac5d759921ba8c8e82"},
|
1352 |
+
{file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcacf2c7a6c3a84e720d1bb2b543c675bf6c40e460300b628bab1b1efc7c034c"},
|
1353 |
+
{file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b67c6f5e5a401fc56394f191f00f9b3811fe843ee93f4a70df3c389d1adf857d"},
|
1354 |
+
{file = "websockets-11.0.3-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d5023a4b6a5b183dc838808087033ec5df77580485fc533e7dab2567851b0a4"},
|
1355 |
+
{file = "websockets-11.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ed058398f55163a79bb9f06a90ef9ccc063b204bb346c4de78efc5d15abfe602"},
|
1356 |
+
{file = "websockets-11.0.3-py3-none-any.whl", hash = "sha256:6681ba9e7f8f3b19440921e99efbb40fc89f26cd71bf539e45d8c8a25c976dc6"},
|
1357 |
+
{file = "websockets-11.0.3.tar.gz", hash = "sha256:88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016"},
|
1358 |
+
]
|
pyproject.toml
CHANGED
@@ -1,13 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
[tool.ruff]
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
|
3 |
-
select
|
4 |
-
|
5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
|
7 |
-
|
8 |
-
[tool.isort]
|
9 |
-
profile = "black"
|
10 |
-
line_length = 119
|
11 |
-
|
12 |
-
[tool.black]
|
13 |
-
line-length = 119
|
|
|
1 |
+
[project]
|
2 |
+
name = "Encodechka"
|
3 |
+
version = "0.1.0"
|
4 |
+
description = "Default template for PDM package"
|
5 |
+
authors = [
|
6 |
+
{name = "Roman Solomatin", email = "[email protected]"},
|
7 |
+
]
|
8 |
+
dependencies = [
|
9 |
+
"APScheduler>=3.10.4",
|
10 |
+
# "black",
|
11 |
+
"click>=8.1.7",
|
12 |
+
# "datasets",
|
13 |
+
"gradio>=4.36.1",
|
14 |
+
"gradio-client>=1.0.1",
|
15 |
+
"huggingface-hub>=0.18.0",
|
16 |
+
"matplotlib>=3.9.0",
|
17 |
+
"numpy>=1.26.4",
|
18 |
+
"pandas>=2.2.2",
|
19 |
+
"python-dateutil>=2.9.0.post0",
|
20 |
+
"requests>=2.32.3",
|
21 |
+
"tqdm>=4.66.4",
|
22 |
+
# "transformers",
|
23 |
+
# "tokenizers>=0.15.0",
|
24 |
+
# "lm-eval @ git+https://github.com/EleutherAI/lm-evaluation-harness.git@b281b0921b636bc36ad05c0b0b0763bd6dd43463",
|
25 |
+
# "accelerate",
|
26 |
+
# "sentencepiece",
|
27 |
+
]
|
28 |
+
requires-python = "==3.10.*"
|
29 |
+
readme = "README.md"
|
30 |
+
license = {text = "MIT"}
|
31 |
+
|
32 |
+
[tool.pdm]
|
33 |
+
distribution = false
|
34 |
+
|
35 |
+
[tool.pdm.dev-dependencies]
|
36 |
+
lint = [
|
37 |
+
"ruff>=0.4.8",
|
38 |
+
]
|
39 |
+
|
40 |
+
|
41 |
[tool.ruff]
|
42 |
+
fix = true
|
43 |
+
target-version = "py310"
|
44 |
+
line-length = 120
|
45 |
+
extend-include = ["*.ipynb"]
|
46 |
+
|
47 |
+
[tool.ruff.lint]
|
48 |
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
|
49 |
+
select= [
|
50 |
+
"E", # pycodestyle errors
|
51 |
+
"W", # pycodestyle warnings
|
52 |
+
"F", # pyflakes
|
53 |
+
"I", # isort
|
54 |
+
"B", # flake8-bugbear
|
55 |
+
"UP", # pyupgrade
|
56 |
+
"RUF", # ruff
|
57 |
+
#"D", # pydocstyle
|
58 |
+
]
|
59 |
fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
requirements.txt
CHANGED
@@ -1,18 +1,540 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This file is @generated by PDM.
|
2 |
+
# Please do not edit it manually.
|
3 |
+
|
4 |
+
aiofiles==23.2.1 \
|
5 |
+
--hash=sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107 \
|
6 |
+
--hash=sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a
|
7 |
+
altair==5.3.0 \
|
8 |
+
--hash=sha256:5a268b1a0983b23d8f9129f819f956174aa7aea2719ed55a52eba9979b9f6675 \
|
9 |
+
--hash=sha256:7084a1dab4d83c5e7e5246b92dc1b4451a6c68fd057f3716ee9d315c8980e59a
|
10 |
+
annotated-types==0.7.0 \
|
11 |
+
--hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \
|
12 |
+
--hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89
|
13 |
+
anyio==4.4.0 \
|
14 |
+
--hash=sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94 \
|
15 |
+
--hash=sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7
|
16 |
+
apscheduler==3.10.4 \
|
17 |
+
--hash=sha256:e6df071b27d9be898e486bc7940a7be50b4af2e9da7c08f0744a96d4bd4cef4a \
|
18 |
+
--hash=sha256:fb91e8a768632a4756a585f79ec834e0e27aad5860bac7eaa523d9ccefd87661
|
19 |
+
attrs==23.2.0 \
|
20 |
+
--hash=sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30 \
|
21 |
+
--hash=sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1
|
22 |
+
certifi==2024.6.2 \
|
23 |
+
--hash=sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516 \
|
24 |
+
--hash=sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56
|
25 |
+
charset-normalizer==3.3.2 \
|
26 |
+
--hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \
|
27 |
+
--hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \
|
28 |
+
--hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \
|
29 |
+
--hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \
|
30 |
+
--hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \
|
31 |
+
--hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \
|
32 |
+
--hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \
|
33 |
+
--hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \
|
34 |
+
--hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \
|
35 |
+
--hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \
|
36 |
+
--hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \
|
37 |
+
--hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \
|
38 |
+
--hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \
|
39 |
+
--hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \
|
40 |
+
--hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \
|
41 |
+
--hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \
|
42 |
+
--hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519
|
43 |
+
click==8.1.7 \
|
44 |
+
--hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \
|
45 |
+
--hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de
|
46 |
+
colorama==0.4.6; platform_system == "Windows" or sys_platform == "win32" \
|
47 |
+
--hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \
|
48 |
+
--hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6
|
49 |
+
contourpy==1.2.1 \
|
50 |
+
--hash=sha256:11959f0ce4a6f7b76ec578576a0b61a28bdc0696194b6347ba3f1c53827178b9 \
|
51 |
+
--hash=sha256:39f3ecaf76cd98e802f094e0d4fbc6dc9c45a8d0c4d185f0f6c2234e14e5f75b \
|
52 |
+
--hash=sha256:457499c79fa84593f22454bbd27670227874cd2ff5d6c84e60575c8b50a69619 \
|
53 |
+
--hash=sha256:4c75507d0a55378240f781599c30e7776674dbaf883a46d1c90f37e563453480 \
|
54 |
+
--hash=sha256:4d8908b3bee1c889e547867ca4cdc54e5ab6be6d3e078556814a22457f49423c \
|
55 |
+
--hash=sha256:5b9eb0ca724a241683c9685a484da9d35c872fd42756574a7cfbf58af26677fd \
|
56 |
+
--hash=sha256:94b34f32646ca0414237168d68a9157cb3889f06b096612afdd296003fdd32fd \
|
57 |
+
--hash=sha256:9cffe0f850e89d7c0012a1fb8730f75edd4320a0a731ed0c183904fe6ecfc3a9 \
|
58 |
+
--hash=sha256:a31f94983fecbac95e58388210427d68cd30fe8a36927980fab9c20062645609 \
|
59 |
+
--hash=sha256:ac58bdee53cbeba2ecad824fa8159493f0bf3b8ea4e93feb06c9a465d6c87da8 \
|
60 |
+
--hash=sha256:b33d2bc4f69caedcd0a275329eb2198f560b325605810895627be5d4b876bf7f \
|
61 |
+
--hash=sha256:bd7c23df857d488f418439686d3b10ae2fbf9bc256cd045b37a8c16575ea1040 \
|
62 |
+
--hash=sha256:eb3315a8a236ee19b6df481fc5f997436e8ade24a9f03dfdc6bd490fea20c6da \
|
63 |
+
--hash=sha256:ef2b055471c0eb466033760a521efb9d8a32b99ab907fc8358481a1dd29e3bd3
|
64 |
+
cycler==0.12.1 \
|
65 |
+
--hash=sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30 \
|
66 |
+
--hash=sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c
|
67 |
+
dnspython==2.6.1 \
|
68 |
+
--hash=sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50 \
|
69 |
+
--hash=sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc
|
70 |
+
email-validator==2.1.1 \
|
71 |
+
--hash=sha256:200a70680ba08904be6d1eef729205cc0d687634399a5924d842533efb824b84 \
|
72 |
+
--hash=sha256:97d882d174e2a65732fb43bfce81a3a834cbc1bde8bf419e30ef5ea976370a05
|
73 |
+
exceptiongroup==1.2.1; python_version < "3.11" \
|
74 |
+
--hash=sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad \
|
75 |
+
--hash=sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16
|
76 |
+
fastapi==0.111.0 \
|
77 |
+
--hash=sha256:97ecbf994be0bcbdadedf88c3150252bed7b2087075ac99735403b1b76cc8fc0 \
|
78 |
+
--hash=sha256:b9db9dd147c91cb8b769f7183535773d8741dd46f9dc6676cd82eab510228cd7
|
79 |
+
fastapi-cli==0.0.4 \
|
80 |
+
--hash=sha256:a2552f3a7ae64058cdbb530be6fa6dbfc975dc165e4fa66d224c3d396e25e809 \
|
81 |
+
--hash=sha256:e2e9ffaffc1f7767f488d6da34b6f5a377751c996f397902eb6abb99a67bde32
|
82 |
+
ffmpy==0.3.2 \
|
83 |
+
--hash=sha256:475ebfff1044661b8d969349dbcd2db9bf56d3ee78c0627e324769b49a27a78f
|
84 |
+
filelock==3.15.1 \
|
85 |
+
--hash=sha256:58a2549afdf9e02e10720eaa4d4470f56386d7a6f72edd7d0596337af8ed7ad8 \
|
86 |
+
--hash=sha256:71b3102950e91dfc1bb4209b64be4dc8854f40e5f534428d8684f953ac847fac
|
87 |
+
fonttools==4.53.0 \
|
88 |
+
--hash=sha256:099634631b9dd271d4a835d2b2a9e042ccc94ecdf7e2dd9f7f34f7daf333358d \
|
89 |
+
--hash=sha256:52a6e0a7a0bf611c19bc8ec8f7592bdae79c8296c70eb05917fd831354699b20 \
|
90 |
+
--hash=sha256:6b4f04b1fbc01a3569d63359f2227c89ab294550de277fd09d8fca6185669fa4 \
|
91 |
+
--hash=sha256:715b41c3e231f7334cbe79dfc698213dcb7211520ec7a3bc2ba20c8515e8a3b5 \
|
92 |
+
--hash=sha256:74ae2441731a05b44d5988d3ac2cf784d3ee0a535dbed257cbfff4be8bb49eb9 \
|
93 |
+
--hash=sha256:95db0c6581a54b47c30860d013977b8a14febc206c8b5ff562f9fe32738a8aca \
|
94 |
+
--hash=sha256:9cd7a6beec6495d1dffb1033d50a3f82dfece23e9eb3c20cd3c2444d27514068 \
|
95 |
+
--hash=sha256:c93ed66d32de1559b6fc348838c7572d5c0ac1e4a258e76763a5caddd8944002 \
|
96 |
+
--hash=sha256:daaef7390e632283051e3cf3e16aff2b68b247e99aea916f64e578c0449c9c68 \
|
97 |
+
--hash=sha256:e40013572bfb843d6794a3ce076c29ef4efd15937ab833f520117f8eccc84fd6
|
98 |
+
fsspec==2024.6.0 \
|
99 |
+
--hash=sha256:58d7122eb8a1a46f7f13453187bfea4972d66bf01618d37366521b1998034cee \
|
100 |
+
--hash=sha256:f579960a56e6d8038a9efc8f9c77279ec12e6299aa86b0769a7e9c46b94527c2
|
101 |
+
gradio==4.36.1 \
|
102 |
+
--hash=sha256:31edb504c88c1db06c08daf750dcdaa072087ada59aa4ff83c1a3f4c2075912d \
|
103 |
+
--hash=sha256:72b2d21156d3467123bae6f30f463f002ef06e272766274308f5ed3cac37563b
|
104 |
+
gradio-client==1.0.1 \
|
105 |
+
--hash=sha256:b3fa4d1c626067cc866d6172caa75d373e114bacfba650e49e293646d786646a \
|
106 |
+
--hash=sha256:fe3f527349ac38cbc5deb6d629a15c06fa3b4a68d1e04dc5ca9fbb1896318629
|
107 |
+
h11==0.14.0 \
|
108 |
+
--hash=sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d \
|
109 |
+
--hash=sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761
|
110 |
+
httpcore==1.0.5 \
|
111 |
+
--hash=sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61 \
|
112 |
+
--hash=sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5
|
113 |
+
httptools==0.6.1 \
|
114 |
+
--hash=sha256:00d5d4b68a717765b1fabfd9ca755bd12bf44105eeb806c03d1962acd9b8e563 \
|
115 |
+
--hash=sha256:0ac5a0ae3d9f4fe004318d64b8a854edd85ab76cffbf7ef5e32920faef62f142 \
|
116 |
+
--hash=sha256:1ed99a373e327f0107cb513b61820102ee4f3675656a37a50083eda05dc9541b \
|
117 |
+
--hash=sha256:3f30d3ce413088a98b9db71c60a6ada2001a08945cb42dd65a9a9fe228627658 \
|
118 |
+
--hash=sha256:639dc4f381a870c9ec860ce5c45921db50205a37cc3334e756269736ff0aac58 \
|
119 |
+
--hash=sha256:c6e26c30455600b95d94b1b836085138e82f177351454ee841c148f93a9bad5a \
|
120 |
+
--hash=sha256:d2f6c3c4cb1948d912538217838f6e9960bc4a521d7f9b323b3da579cd14532f \
|
121 |
+
--hash=sha256:e57997ac7fb7ee43140cc03664de5f268813a481dff6245e0075925adc6aa185
|
122 |
+
httpx==0.27.0 \
|
123 |
+
--hash=sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5 \
|
124 |
+
--hash=sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5
|
125 |
+
huggingface-hub==0.23.3 \
|
126 |
+
--hash=sha256:1a1118a0b3dea3bab6c325d71be16f5ffe441d32f3ac7c348d6875911b694b5b \
|
127 |
+
--hash=sha256:22222c41223f1b7c209ae5511d2d82907325a0e3cdbce5f66949d43c598ff3bc
|
128 |
+
idna==3.7 \
|
129 |
+
--hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \
|
130 |
+
--hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0
|
131 |
+
importlib-resources==6.4.0 \
|
132 |
+
--hash=sha256:50d10f043df931902d4194ea07ec57960f66a80449ff867bfe782b4c486ba78c \
|
133 |
+
--hash=sha256:cdb2b453b8046ca4e3798eb1d84f3cce1446a0e8e7b5ef4efb600f19fc398145
|
134 |
+
jinja2==3.1.4 \
|
135 |
+
--hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \
|
136 |
+
--hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d
|
137 |
+
jsonschema==4.22.0 \
|
138 |
+
--hash=sha256:5b22d434a45935119af990552c862e5d6d564e8f6601206b305a61fdf661a2b7 \
|
139 |
+
--hash=sha256:ff4cfd6b1367a40e7bc6411caec72effadd3db0bbe5017de188f2d6108335802
|
140 |
+
jsonschema-specifications==2023.12.1 \
|
141 |
+
--hash=sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc \
|
142 |
+
--hash=sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c
|
143 |
+
kiwisolver==1.4.5 \
|
144 |
+
--hash=sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af \
|
145 |
+
--hash=sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee \
|
146 |
+
--hash=sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3 \
|
147 |
+
--hash=sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b \
|
148 |
+
--hash=sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea \
|
149 |
+
--hash=sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c \
|
150 |
+
--hash=sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d \
|
151 |
+
--hash=sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a \
|
152 |
+
--hash=sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929 \
|
153 |
+
--hash=sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b \
|
154 |
+
--hash=sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920 \
|
155 |
+
--hash=sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544 \
|
156 |
+
--hash=sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390 \
|
157 |
+
--hash=sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4 \
|
158 |
+
--hash=sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770 \
|
159 |
+
--hash=sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525 \
|
160 |
+
--hash=sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad \
|
161 |
+
--hash=sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1 \
|
162 |
+
--hash=sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238 \
|
163 |
+
--hash=sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa \
|
164 |
+
--hash=sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523 \
|
165 |
+
--hash=sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4 \
|
166 |
+
--hash=sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd \
|
167 |
+
--hash=sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276 \
|
168 |
+
--hash=sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126 \
|
169 |
+
--hash=sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09 \
|
170 |
+
--hash=sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0 \
|
171 |
+
--hash=sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec \
|
172 |
+
--hash=sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7 \
|
173 |
+
--hash=sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff \
|
174 |
+
--hash=sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892
|
175 |
+
markdown-it-py==3.0.0 \
|
176 |
+
--hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \
|
177 |
+
--hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb
|
178 |
+
markupsafe==2.1.5 \
|
179 |
+
--hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \
|
180 |
+
--hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \
|
181 |
+
--hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \
|
182 |
+
--hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \
|
183 |
+
--hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \
|
184 |
+
--hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \
|
185 |
+
--hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \
|
186 |
+
--hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \
|
187 |
+
--hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \
|
188 |
+
--hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \
|
189 |
+
--hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd
|
190 |
+
matplotlib==3.9.0 \
|
191 |
+
--hash=sha256:13beb4840317d45ffd4183a778685e215939be7b08616f431c7795276e067463 \
|
192 |
+
--hash=sha256:290d304e59be2b33ef5c2d768d0237f5bd132986bdcc66f80bc9bcc300066a03 \
|
193 |
+
--hash=sha256:2bcee1dffaf60fe7656183ac2190bd630842ff87b3153afb3e384d966b57fe56 \
|
194 |
+
--hash=sha256:2e7f03e5cbbfacdd48c8ea394d365d91ee8f3cae7e6ec611409927b5ed997ee4 \
|
195 |
+
--hash=sha256:3f988bafb0fa39d1074ddd5bacd958c853e11def40800c5824556eb630f94d3b \
|
196 |
+
--hash=sha256:7ff2e239c26be4f24bfa45860c20ffccd118d270c5b5d081fa4ea409b5469fcd \
|
197 |
+
--hash=sha256:af4001b7cae70f7eaacfb063db605280058246de590fa7874f00f62259f2df7e \
|
198 |
+
--hash=sha256:bd4f2831168afac55b881db82a7730992aa41c4f007f1913465fb182d6fb20c0 \
|
199 |
+
--hash=sha256:e6d29ea6c19e34b30fb7d88b7081f869a03014f66fe06d62cc77d5a6ea88ed7a \
|
200 |
+
--hash=sha256:eaf3978060a106fab40c328778b148f590e27f6fa3cd15a19d6892575bce387d \
|
201 |
+
--hash=sha256:fe428e191ea016bb278758c8ee82a8129c51d81d8c4bc0846c09e7e8e9057241
|
202 |
+
mdurl==0.1.2 \
|
203 |
+
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
|
204 |
+
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
|
205 |
+
numpy==1.26.4 \
|
206 |
+
--hash=sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010 \
|
207 |
+
--hash=sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a \
|
208 |
+
--hash=sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a \
|
209 |
+
--hash=sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0 \
|
210 |
+
--hash=sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c \
|
211 |
+
--hash=sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0 \
|
212 |
+
--hash=sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2 \
|
213 |
+
--hash=sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30 \
|
214 |
+
--hash=sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5 \
|
215 |
+
--hash=sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07 \
|
216 |
+
--hash=sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4 \
|
217 |
+
--hash=sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f
|
218 |
+
orjson==3.10.4 \
|
219 |
+
--hash=sha256:02b192eaba048b1039eca9a0cef67863bd5623042f5c441889a9957121d97e14 \
|
220 |
+
--hash=sha256:1538844fb88446c42da3889f8c4ecce95a630b5a5ba18ecdfe5aea596f4dff21 \
|
221 |
+
--hash=sha256:42b112eff36ba7ccc7a9d6b87e17b9d6bde4312d05e3ddf66bf5662481dee846 \
|
222 |
+
--hash=sha256:827c3d0e4fc44242c82bfdb1a773235b8c0575afee99a9fa9a8ce920c14e440f \
|
223 |
+
--hash=sha256:8eaa5d531a8fde11993cbcb27e9acf7d9c457ba301adccb7fa3a021bfecab46c \
|
224 |
+
--hash=sha256:afca963f19ca60c7aedadea9979f769139127288dd58ccf3f7c5e8e6dc62cabf \
|
225 |
+
--hash=sha256:c912ed25b787c73fe994a5decd81c3f3b256599b8a87d410d799d5d52013af2a \
|
226 |
+
--hash=sha256:ca8ec09724f10ec209244caeb1f9f428b6bb03f2eda9ed5e2c4dd7f2b7fabd44 \
|
227 |
+
--hash=sha256:de02811903a2e434127fba5389c3cc90f689542339a6e52e691ab7f693407b5a \
|
228 |
+
--hash=sha256:e112aa7fc4ea67367ec5e86c39a6bb6c5719eddc8f999087b1759e765ddaf2d4
|
229 |
+
packaging==24.1 \
|
230 |
+
--hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \
|
231 |
+
--hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124
|
232 |
+
pandas==2.2.2 \
|
233 |
+
--hash=sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51 \
|
234 |
+
--hash=sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08 \
|
235 |
+
--hash=sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0 \
|
236 |
+
--hash=sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99 \
|
237 |
+
--hash=sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce \
|
238 |
+
--hash=sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54 \
|
239 |
+
--hash=sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238 \
|
240 |
+
--hash=sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772
|
241 |
+
pillow==10.3.0 \
|
242 |
+
--hash=sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2 \
|
243 |
+
--hash=sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3 \
|
244 |
+
--hash=sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a \
|
245 |
+
--hash=sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599 \
|
246 |
+
--hash=sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced \
|
247 |
+
--hash=sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355 \
|
248 |
+
--hash=sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf \
|
249 |
+
--hash=sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f \
|
250 |
+
--hash=sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9 \
|
251 |
+
--hash=sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45 \
|
252 |
+
--hash=sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d \
|
253 |
+
--hash=sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463 \
|
254 |
+
--hash=sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591 \
|
255 |
+
--hash=sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c \
|
256 |
+
--hash=sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32 \
|
257 |
+
--hash=sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf \
|
258 |
+
--hash=sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5 \
|
259 |
+
--hash=sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828 \
|
260 |
+
--hash=sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5 \
|
261 |
+
--hash=sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2 \
|
262 |
+
--hash=sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b \
|
263 |
+
--hash=sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475 \
|
264 |
+
--hash=sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3 \
|
265 |
+
--hash=sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015 \
|
266 |
+
--hash=sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170 \
|
267 |
+
--hash=sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f
|
268 |
+
pydantic==2.7.4 \
|
269 |
+
--hash=sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52 \
|
270 |
+
--hash=sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0
|
271 |
+
pydantic-core==2.18.4 \
|
272 |
+
--hash=sha256:1b4de2e51bbcb61fdebd0ab86ef28062704f62c82bbf4addc4e37fa4b00b7cbc \
|
273 |
+
--hash=sha256:1f4d26ceb5eb9eed4af91bebeae4b06c3fb28966ca3a8fb765208cf6b51102ab \
|
274 |
+
--hash=sha256:293afe532740370aba8c060882f7d26cfd00c94cae32fd2e212a3a6e3b7bc15e \
|
275 |
+
--hash=sha256:2fd41f6eff4c20778d717af1cc50eca52f5afe7805ee530a4fbd0bae284f16e9 \
|
276 |
+
--hash=sha256:43d447dd2ae072a0065389092a231283f62d960030ecd27565672bd40746c507 \
|
277 |
+
--hash=sha256:4701b19f7e3a06ea655513f7938de6f108123bf7c86bbebb1196eb9bd35cf724 \
|
278 |
+
--hash=sha256:4d0dcc59664fcb8974b356fe0a18a672d6d7cf9f54746c05f43275fc48636851 \
|
279 |
+
--hash=sha256:51991a89639a912c17bef4b45c87bd83593aee0437d8102556af4885811d59f5 \
|
280 |
+
--hash=sha256:574d92eac874f7f4db0ca653514d823a0d22e2354359d0759e3f6a406db5d55d \
|
281 |
+
--hash=sha256:578e24f761f3b425834f297b9935e1ce2e30f51400964ce4801002435a1b41ef \
|
282 |
+
--hash=sha256:59ff3e89f4eaf14050c8022011862df275b552caef8082e37b542b066ce1ff26 \
|
283 |
+
--hash=sha256:6891a2ae0e8692679c07728819b6e2b822fb30ca7445f67bbf6509b25a96332c \
|
284 |
+
--hash=sha256:6a750aec7bf431517a9fd78cb93c97b9b0c496090fee84a47a0d23668976b4b0 \
|
285 |
+
--hash=sha256:77450e6d20016ec41f43ca4a6c63e9fdde03f0ae3fe90e7c27bdbeaece8b1ed4 \
|
286 |
+
--hash=sha256:81b5efb2f126454586d0f40c4d834010979cb80785173d1586df845a632e4e6d \
|
287 |
+
--hash=sha256:834b5230b5dfc0c1ec37b2fda433b271cbbc0e507560b5d1588e2cc1148cf1ce \
|
288 |
+
--hash=sha256:8951eee36c57cd128f779e641e21eb40bc5073eb28b2d23f33eb0ef14ffb3f5d \
|
289 |
+
--hash=sha256:90afc12421df2b1b4dcc975f814e21bc1754640d502a2fbcc6d41e77af5ec312 \
|
290 |
+
--hash=sha256:97736815b9cc893b2b7f663628e63f436018b75f44854c8027040e05230eeddb \
|
291 |
+
--hash=sha256:a55b5b16c839df1070bc113c1f7f94a0af4433fcfa1b41799ce7606e5c79ce0a \
|
292 |
+
--hash=sha256:ab86ce7c8f9bea87b9d12c7f0af71102acbf5ecbc66c17796cff45dae54ef9a5 \
|
293 |
+
--hash=sha256:b48ece5bde2e768197a2d0f6e925f9d7e3e826f0ad2271120f8144a9db18d5c8 \
|
294 |
+
--hash=sha256:bc4ff9805858bd54d1a20efff925ccd89c9d2e7cf4986144b30802bf78091c3e \
|
295 |
+
--hash=sha256:d323a01da91851a4f17bf592faf46149c9169d68430b3146dcba2bb5e5719abc \
|
296 |
+
--hash=sha256:e00a3f196329e08e43d99b79b286d60ce46bed10f2280d25a1718399457e06be \
|
297 |
+
--hash=sha256:e858ac0a25074ba4bce653f9b5d0a85b7456eaddadc0ce82d3878c22489fa4ee \
|
298 |
+
--hash=sha256:eae237477a873ab46e8dd748e515c72c0c804fb380fbe6c85533c7de51f23a8f \
|
299 |
+
--hash=sha256:ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864 \
|
300 |
+
--hash=sha256:f76d0ad001edd426b92233d45c746fd08f467d56100fd8f30e9ace4b005266e4
|
301 |
+
pydub==0.25.1 \
|
302 |
+
--hash=sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6 \
|
303 |
+
--hash=sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f
|
304 |
+
pygments==2.18.0 \
|
305 |
+
--hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \
|
306 |
+
--hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a
|
307 |
+
pyparsing==3.1.2 \
|
308 |
+
--hash=sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad \
|
309 |
+
--hash=sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742
|
310 |
+
python-dateutil==2.9.0.post0 \
|
311 |
+
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
|
312 |
+
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
|
313 |
+
python-dotenv==1.0.1 \
|
314 |
+
--hash=sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca \
|
315 |
+
--hash=sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a
|
316 |
+
python-multipart==0.0.9 \
|
317 |
+
--hash=sha256:03f54688c663f1b7977105f021043b0793151e4cb1c1a9d4a11fc13d622c4026 \
|
318 |
+
--hash=sha256:97ca7b8ea7b05f977dc3849c3ba99d51689822fab725c3703af7c866a0c2b215
|
319 |
+
pytz==2024.1 \
|
320 |
+
--hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \
|
321 |
+
--hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319
|
322 |
+
pyyaml==6.0.1 \
|
323 |
+
--hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \
|
324 |
+
--hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \
|
325 |
+
--hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \
|
326 |
+
--hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \
|
327 |
+
--hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \
|
328 |
+
--hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \
|
329 |
+
--hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \
|
330 |
+
--hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \
|
331 |
+
--hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f
|
332 |
+
referencing==0.35.1 \
|
333 |
+
--hash=sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c \
|
334 |
+
--hash=sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de
|
335 |
+
requests==2.32.3 \
|
336 |
+
--hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \
|
337 |
+
--hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
|
338 |
+
rich==13.7.1 \
|
339 |
+
--hash=sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222 \
|
340 |
+
--hash=sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432
|
341 |
+
rpds-py==0.18.1 \
|
342 |
+
--hash=sha256:08d74b184f9ab6289b87b19fe6a6d1a97fbfea84b8a3e745e87a5de3029bf944 \
|
343 |
+
--hash=sha256:17c6d2155e2423f7e79e3bb18151c686d40db42d8645e7977442170c360194d4 \
|
344 |
+
--hash=sha256:1d54f74f40b1f7aaa595a02ff42ef38ca654b1469bef7d52867da474243cc633 \
|
345 |
+
--hash=sha256:27bba383e8c5231cd559affe169ca0b96ec78d39909ffd817f28b166d7ddd4d8 \
|
346 |
+
--hash=sha256:2c3caec4ec5cd1d18e5dd6ae5194d24ed12785212a90b37f5f7f06b8bedd7139 \
|
347 |
+
--hash=sha256:38e14fb4e370885c4ecd734f093a2225ee52dc384b86fa55fe3f74638b2cfb09 \
|
348 |
+
--hash=sha256:48c2faaa8adfacefcbfdb5f2e2e7bdad081e5ace8d182e5f4ade971f128e6bb3 \
|
349 |
+
--hash=sha256:4a98a1f0552b5f227a3d6422dbd61bc6f30db170939bd87ed14f3c339aa6c7c9 \
|
350 |
+
--hash=sha256:51584acc5916212e1bf45edd17f3a6b05fe0cbb40482d25e619f824dccb679de \
|
351 |
+
--hash=sha256:531796fb842b53f2695e94dc338929e9f9dbf473b64710c28af5a160b2a8927d \
|
352 |
+
--hash=sha256:5c45a639e93a0c5d4b788b2613bd637468edd62f8f95ebc6fcc303d58ab3f0a8 \
|
353 |
+
--hash=sha256:6031b25fb1b06327b43d841f33842b383beba399884f8228a6bb3df3088485ff \
|
354 |
+
--hash=sha256:618916f5535784960f3ecf8111581f4ad31d347c3de66d02e728de460a46303c \
|
355 |
+
--hash=sha256:636a15acc588f70fda1661234761f9ed9ad79ebed3f2125d44be0862708b666e \
|
356 |
+
--hash=sha256:6afd80f6c79893cfc0574956f78a0add8c76e3696f2d6a15bca2c66c415cf2d4 \
|
357 |
+
--hash=sha256:6c4c4c3f878df21faf5fac86eda32671c27889e13570645a9eea0a1abdd50922 \
|
358 |
+
--hash=sha256:732672fbc449bab754e0b15356c077cc31566df874964d4801ab14f71951ea80 \
|
359 |
+
--hash=sha256:740884bc62a5e2bbb31e584f5d23b32320fd75d79f916f15a788d527a5e83644 \
|
360 |
+
--hash=sha256:7700936ef9d006b7ef605dc53aa364da2de5a3aa65516a1f3ce73bf82ecfc7ae \
|
361 |
+
--hash=sha256:7732770412bab81c5a9f6d20aeb60ae943a9b36dcd990d876a773526468e7163 \
|
362 |
+
--hash=sha256:7f1944ce16401aad1e3f7d312247b3d5de7981f634dc9dfe90da72b87d37887d \
|
363 |
+
--hash=sha256:81c5196a790032e0fc2464c0b4ab95f8610f96f1f2fa3d4deacce6a79852da60 \
|
364 |
+
--hash=sha256:8352f48d511de5f973e4f2f9412736d7dea76c69faa6d36bcf885b50c758ab9a \
|
365 |
+
--hash=sha256:8d2e182c9ee01135e11e9676e9a62dfad791a7a467738f06726872374a83db49 \
|
366 |
+
--hash=sha256:910e71711d1055b2768181efa0a17537b2622afeb0424116619817007f8a2b10 \
|
367 |
+
--hash=sha256:942695a206a58d2575033ff1e42b12b2aece98d6003c6bc739fbf33d1773b12f \
|
368 |
+
--hash=sha256:998125738de0158f088aef3cb264a34251908dd2e5d9966774fdab7402edfab7 \
|
369 |
+
--hash=sha256:a3d456ff2a6a4d2adcdf3c1c960a36f4fd2fec6e3b4902a42a384d17cf4e7a65 \
|
370 |
+
--hash=sha256:a888e8bdb45916234b99da2d859566f1e8a1d2275a801bb8e4a9644e3c7e7909 \
|
371 |
+
--hash=sha256:b906b5f58892813e5ba5c6056d6a5ad08f358ba49f046d910ad992196ea61397 \
|
372 |
+
--hash=sha256:b9bb1f182a97880f6078283b3505a707057c42bf55d8fca604f70dedfdc0772a \
|
373 |
+
--hash=sha256:bd1105b50ede37461c1d51b9698c4f4be6e13e69a908ab7751e3807985fc0346 \
|
374 |
+
--hash=sha256:c273e795e7a0f1fddd46e1e3cb8be15634c29ae8ff31c196debb620e1edb9333 \
|
375 |
+
--hash=sha256:cbfbea39ba64f5e53ae2915de36f130588bba71245b418060ec3330ebf85678e \
|
376 |
+
--hash=sha256:ce0bb20e3a11bd04461324a6a798af34d503f8d6f1aa3d2aa8901ceaf039176d \
|
377 |
+
--hash=sha256:d0cee71bc618cd93716f3c1bf56653740d2d13ddbd47673efa8bf41435a60daa \
|
378 |
+
--hash=sha256:d21be4770ff4e08698e1e8e0bce06edb6ea0626e7c8f560bc08222880aca6a6f \
|
379 |
+
--hash=sha256:d31dea506d718693b6b2cffc0648a8929bdc51c70a311b2770f09611caa10d53 \
|
380 |
+
--hash=sha256:d44607f98caa2961bab4fa3c4309724b185b464cdc3ba6f3d7340bac3ec97cc1 \
|
381 |
+
--hash=sha256:d70129cef4a8d979caa37e7fe957202e7eee8ea02c5e16455bc9808a59c6b2f0 \
|
382 |
+
--hash=sha256:d85164315bd68c0806768dc6bb0429c6f95c354f87485ee3593c4f6b14def2bd \
|
383 |
+
--hash=sha256:dc48b479d540770c811fbd1eb9ba2bb66951863e448efec2e2c102625328e92f \
|
384 |
+
--hash=sha256:e2be6e9dd4111d5b31ba3b74d17da54a8319d8168890fbaea4b9e5c3de630ae5 \
|
385 |
+
--hash=sha256:f3027be483868c99b4985fda802a57a67fdf30c5d9a50338d9db646d590198da \
|
386 |
+
--hash=sha256:f6f8e3fecca256fefc91bb6765a693d96692459d7d4c644660a9fff32e517843 \
|
387 |
+
--hash=sha256:fa242ac1ff583e4ec7771141606aafc92b361cd90a05c30d93e343a0c2d82a89 \
|
388 |
+
--hash=sha256:fab6ce90574645a0d6c58890e9bcaac8d94dff54fb51c69e5522a7358b80ab64
|
389 |
+
ruff==0.4.8 \
|
390 |
+
--hash=sha256:14019a06dbe29b608f6b7cbcec300e3170a8d86efaddb7b23405cb7f7dcaf780 \
|
391 |
+
--hash=sha256:16d717b1d57b2e2fd68bd0bf80fb43931b79d05a7131aa477d66fc40fbd86268 \
|
392 |
+
--hash=sha256:284c2e3f3396fb05f5f803c9fffb53ebbe09a3ebe7dda2929ed8d73ded736deb \
|
393 |
+
--hash=sha256:384154a1c3f4bf537bac69f33720957ee49ac8d484bfc91720cc94172026ceed \
|
394 |
+
--hash=sha256:6d795d7639212c2dfd01991259460101c22aabf420d9b943f153ab9d9706e6a9 \
|
395 |
+
--hash=sha256:6ea874950daca5697309d976c9afba830d3bf0ed66887481d6bca1673fc5b66a \
|
396 |
+
--hash=sha256:704977a658131651a22b5ebeb28b717ef42ac6ee3b11e91dc87b633b5d83142b \
|
397 |
+
--hash=sha256:72584676164e15a68a15778fd1b17c28a519e7a0622161eb2debdcdabdc71883 \
|
398 |
+
--hash=sha256:7663a6d78f6adb0eab270fa9cf1ff2d28618ca3a652b60f2a234d92b9ec89066 \
|
399 |
+
--hash=sha256:9678d5c9b43315f323af2233a04d747409d1e3aa6789620083a82d1066a35199 \
|
400 |
+
--hash=sha256:a7354f921e3fbe04d2a62d46707e569f9315e1a613307f7311a935743c51a764 \
|
401 |
+
--hash=sha256:aad360893e92486662ef3be0a339c5ca3c1b109e0134fcd37d534d4be9fb8de3 \
|
402 |
+
--hash=sha256:d05f8d6f0c3cce5026cecd83b7a143dcad503045857bc49662f736437380ad45 \
|
403 |
+
--hash=sha256:e14a3a095d07560a9d6769a72f781d73259655919d9b396c650fc98a8157555d \
|
404 |
+
--hash=sha256:e9d5ce97cacc99878aa0d084c626a15cd21e6b3d53fd6f9112b7fc485918e1fa \
|
405 |
+
--hash=sha256:eeceb78da8afb6de0ddada93112869852d04f1cd0f6b80fe464fd4e35c330913 \
|
406 |
+
--hash=sha256:fc95aac2943ddf360376be9aa3107c8cf9640083940a8c5bd824be692d2216dc
|
407 |
+
semantic-version==2.10.0 \
|
408 |
+
--hash=sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c \
|
409 |
+
--hash=sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177
|
410 |
+
shellingham==1.5.4 \
|
411 |
+
--hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \
|
412 |
+
--hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de
|
413 |
+
six==1.16.0 \
|
414 |
+
--hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \
|
415 |
+
--hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254
|
416 |
+
sniffio==1.3.1 \
|
417 |
+
--hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \
|
418 |
+
--hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc
|
419 |
+
starlette==0.37.2 \
|
420 |
+
--hash=sha256:6fe59f29268538e5d0d182f2791a479a0c64638e6935d1c6989e63fb2699c6ee \
|
421 |
+
--hash=sha256:9af890290133b79fc3db55474ade20f6220a364a0402e0b556e7cd5e1e093823
|
422 |
+
tomlkit==0.12.0 \
|
423 |
+
--hash=sha256:01f0477981119c7d8ee0f67ebe0297a7c95b14cf9f4b102b45486deb77018716 \
|
424 |
+
--hash=sha256:926f1f37a1587c7a4f6c7484dae538f1345d96d793d9adab5d3675957b1d0766
|
425 |
+
toolz==0.12.1 \
|
426 |
+
--hash=sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85 \
|
427 |
+
--hash=sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d
|
428 |
+
tqdm==4.66.4 \
|
429 |
+
--hash=sha256:b75ca56b413b030bc3f00af51fd2c1a1a5eac6a0c1cca83cbb37a5c52abce644 \
|
430 |
+
--hash=sha256:e4d936c9de8727928f3be6079590e97d9abfe8d39a590be678eb5919ffc186bb
|
431 |
+
typer==0.12.3 \
|
432 |
+
--hash=sha256:070d7ca53f785acbccba8e7d28b08dcd88f79f1fbda035ade0aecec71ca5c914 \
|
433 |
+
--hash=sha256:49e73131481d804288ef62598d97a1ceef3058905aa536a1134f90891ba35482
|
434 |
+
typing-extensions==4.12.2 \
|
435 |
+
--hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \
|
436 |
+
--hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8
|
437 |
+
tzdata==2024.1 \
|
438 |
+
--hash=sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd \
|
439 |
+
--hash=sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252
|
440 |
+
tzlocal==5.2 \
|
441 |
+
--hash=sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8 \
|
442 |
+
--hash=sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e
|
443 |
+
ujson==5.10.0 \
|
444 |
+
--hash=sha256:0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e \
|
445 |
+
--hash=sha256:22cffecf73391e8abd65ef5f4e4dd523162a3399d5e84faa6aebbf9583df86d6 \
|
446 |
+
--hash=sha256:2601aa9ecdbee1118a1c2065323bda35e2c5a2cf0797ef4522d485f9d3ef65bd \
|
447 |
+
--hash=sha256:26b0e2d2366543c1bb4fbd457446f00b0187a2bddf93148ac2da07a53fe51569 \
|
448 |
+
--hash=sha256:29b443c4c0a113bcbb792c88bea67b675c7ca3ca80c3474784e08bba01c18d51 \
|
449 |
+
--hash=sha256:348898dd702fc1c4f1051bc3aacbf894caa0927fe2c53e68679c073375f732cf \
|
450 |
+
--hash=sha256:5b6fee72fa77dc172a28f21693f64d93166534c263adb3f96c413ccc85ef6e64 \
|
451 |
+
--hash=sha256:61d0af13a9af01d9f26d2331ce49bb5ac1fb9c814964018ac8df605b5422dcb3 \
|
452 |
+
--hash=sha256:7663960f08cd5a2bb152f5ee3992e1af7690a64c0e26d31ba7b3ff5b2ee66337 \
|
453 |
+
--hash=sha256:78778a3aa7aafb11e7ddca4e29f46bc5139131037ad628cc10936764282d6753 \
|
454 |
+
--hash=sha256:7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804 \
|
455 |
+
--hash=sha256:924f7318c31874d6bb44d9ee1900167ca32aa9b69389b98ecbde34c1698a250f \
|
456 |
+
--hash=sha256:94a87f6e151c5f483d7d54ceef83b45d3a9cca7a9cb453dbdbb3f5a6f64033f5 \
|
457 |
+
--hash=sha256:a245d59f2ffe750446292b0094244df163c3dc96b3ce152a2c837a44e7cda9d1 \
|
458 |
+
--hash=sha256:ac56eb983edce27e7f51d05bc8dd820586c6e6be1c5216a6809b0c668bb312b8 \
|
459 |
+
--hash=sha256:b0111b27f2d5c820e7f2dbad7d48e3338c824e7ac4d2a12da3dc6061cc39c8e6 \
|
460 |
+
--hash=sha256:b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1 \
|
461 |
+
--hash=sha256:ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4 \
|
462 |
+
--hash=sha256:baed37ea46d756aca2955e99525cc02d9181de67f25515c468856c38d52b5f3b \
|
463 |
+
--hash=sha256:beeaf1c48e32f07d8820c705ff8e645f8afa690cca1544adba4ebfa067efdc88 \
|
464 |
+
--hash=sha256:c18610b9ccd2874950faf474692deee4223a994251bc0a083c114671b64e6518 \
|
465 |
+
--hash=sha256:c66962ca7565605b355a9ed478292da628b8f18c0f2793021ca4425abf8b01e5 \
|
466 |
+
--hash=sha256:caf270c6dba1be7a41125cd1e4fc7ba384bf564650beef0df2dd21a00b7f5770 \
|
467 |
+
--hash=sha256:d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1 \
|
468 |
+
--hash=sha256:e1402f0564a97d2a52310ae10a64d25bcef94f8dd643fcf5d310219d915484f7 \
|
469 |
+
--hash=sha256:ecb24f0bdd899d368b715c9e6664166cf694d1e57be73f17759573a6986dd95a \
|
470 |
+
--hash=sha256:f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b \
|
471 |
+
--hash=sha256:fbd8fd427f57a03cff3ad6574b5e299131585d9727c8c366da4624a9069ed746
|
472 |
+
urllib3==2.2.1 \
|
473 |
+
--hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \
|
474 |
+
--hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19
|
475 |
+
uvicorn==0.30.1 \
|
476 |
+
--hash=sha256:cd17daa7f3b9d7a24de3617820e634d0933b69eed8e33a516071174427238c81 \
|
477 |
+
--hash=sha256:d46cd8e0fd80240baffbcd9ec1012a712938754afcf81bce56c024c1656aece8
|
478 |
+
uvloop==0.19.0; (sys_platform != "cygwin" and sys_platform != "win32") and platform_python_implementation != "PyPy" \
|
479 |
+
--hash=sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd \
|
480 |
+
--hash=sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428 \
|
481 |
+
--hash=sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849 \
|
482 |
+
--hash=sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd \
|
483 |
+
--hash=sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8 \
|
484 |
+
--hash=sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957 \
|
485 |
+
--hash=sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e
|
486 |
+
watchfiles==0.22.0 \
|
487 |
+
--hash=sha256:00ad0bcd399503a84cc688590cdffbe7a991691314dde5b57b3ed50a41319a31 \
|
488 |
+
--hash=sha256:030bc4e68d14bcad2294ff68c1ed87215fbd9a10d9dea74e7cfe8a17869785ab \
|
489 |
+
--hash=sha256:067dea90c43bf837d41e72e546196e674f68c23702d3ef80e4e816937b0a3ffd \
|
490 |
+
--hash=sha256:0bc3b2f93a140df6806c8467c7f51ed5e55a931b031b5c2d7ff6132292e803d6 \
|
491 |
+
--hash=sha256:0c8e0aa0e8cc2a43561e0184c0513e291ca891db13a269d8d47cb9841ced7c71 \
|
492 |
+
--hash=sha256:1235c11510ea557fe21be5d0e354bae2c655a8ee6519c94617fe63e05bca4171 \
|
493 |
+
--hash=sha256:1d9188979a58a096b6f8090e816ccc3f255f137a009dd4bbec628e27696d67c1 \
|
494 |
+
--hash=sha256:2627a91e8110b8de2406d8b2474427c86f5a62bf7d9ab3654f541f319ef22bcb \
|
495 |
+
--hash=sha256:2bdadf6b90c099ca079d468f976fd50062905d61fae183f769637cb0f68ba59a \
|
496 |
+
--hash=sha256:2f350cbaa4bb812314af5dab0eb8d538481e2e2279472890864547f3fe2281ed \
|
497 |
+
--hash=sha256:4b9f2a128a32a2c273d63eb1fdbf49ad64852fc38d15b34eaa3f7ca2f0d2b797 \
|
498 |
+
--hash=sha256:5834e1f8b71476a26df97d121c0c0ed3549d869124ed2433e02491553cb468c2 \
|
499 |
+
--hash=sha256:61af9efa0733dc4ca462347becb82e8ef4945aba5135b1638bfc20fad64d4f0e \
|
500 |
+
--hash=sha256:72a44e9481afc7a5ee3291b09c419abab93b7e9c306c9ef9108cb76728ca58d2 \
|
501 |
+
--hash=sha256:7a74436c415843af2a769b36bf043b6ccbc0f8d784814ba3d42fc961cdb0a9dc \
|
502 |
+
--hash=sha256:8fdebb655bb1ba0122402352b0a4254812717a017d2dc49372a1d47e24073795 \
|
503 |
+
--hash=sha256:9624a68b96c878c10437199d9a8b7d7e542feddda8d5ecff58fdc8e67b460848 \
|
504 |
+
--hash=sha256:988e981aaab4f3955209e7e28c7794acdb690be1efa7f16f8ea5aba7ffdadacb \
|
505 |
+
--hash=sha256:ace7d060432acde5532e26863e897ee684780337afb775107c0a90ae8dbccfd2 \
|
506 |
+
--hash=sha256:b810a2c7878cbdecca12feae2c2ae8af59bea016a78bc353c184fa1e09f76b68 \
|
507 |
+
--hash=sha256:bbf8a20266136507abf88b0df2328e6a9a7c7309e8daff124dda3803306a9fdb \
|
508 |
+
--hash=sha256:c2444dc7cb9d8cc5ab88ebe792a8d75709d96eeef47f4c8fccb6df7c7bc5be71 \
|
509 |
+
--hash=sha256:c5af2347d17ab0bd59366db8752d9e037982e259cacb2ba06f2c41c08af02c39 \
|
510 |
+
--hash=sha256:da1e0a8caebf17976e2ffd00fa15f258e14749db5e014660f53114b676e68538 \
|
511 |
+
--hash=sha256:f7e1f9c5d1160d03b93fc4b68a0aeb82fe25563e12fbcdc8507f8434ab6f823c
|
512 |
+
websockets==11.0.3 \
|
513 |
+
--hash=sha256:0ac56b661e60edd453585f4bd68eb6a29ae25b5184fd5ba51e97652580458998 \
|
514 |
+
--hash=sha256:0ee68fe502f9031f19d495dae2c268830df2760c0524cbac5d759921ba8c8e82 \
|
515 |
+
--hash=sha256:1d2256283fa4b7f4c7d7d3e84dc2ece74d341bce57d5b9bf385df109c2a1a82f \
|
516 |
+
--hash=sha256:1d5023a4b6a5b183dc838808087033ec5df77580485fc533e7dab2567851b0a4 \
|
517 |
+
--hash=sha256:2d903ad4419f5b472de90cd2d40384573b25da71e33519a67797de17ef849b69 \
|
518 |
+
--hash=sha256:3ccc8a0c387629aec40f2fc9fdcb4b9d5431954f934da3eaf16cdc94f67dbfac \
|
519 |
+
--hash=sha256:41f696ba95cd92dc047e46b41b26dd24518384749ed0d99bea0a941ca87404c4 \
|
520 |
+
--hash=sha256:42cc5452a54a8e46a032521d7365da775823e21bfba2895fb7b77633cce031bb \
|
521 |
+
--hash=sha256:54c6e5b3d3a8936a4ab6870d46bdd6ec500ad62bde9e44462c32d18f1e9a8e54 \
|
522 |
+
--hash=sha256:6681ba9e7f8f3b19440921e99efbb40fc89f26cd71bf539e45d8c8a25c976dc6 \
|
523 |
+
--hash=sha256:7622a89d696fc87af8e8d280d9b421db5133ef5b29d3f7a1ce9f1a7bf7fcfa11 \
|
524 |
+
--hash=sha256:84d27a4832cc1a0ee07cdcf2b0629a8a72db73f4cf6de6f0904f6661227f256f \
|
525 |
+
--hash=sha256:8531fdcad636d82c517b26a448dcfe62f720e1922b33c81ce695d0edb91eb931 \
|
526 |
+
--hash=sha256:86d2a77fd490ae3ff6fae1c6ceaecad063d3cc2320b44377efdde79880e11526 \
|
527 |
+
--hash=sha256:88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016 \
|
528 |
+
--hash=sha256:92b2065d642bf8c0a82d59e59053dd2fdde64d4ed44efe4870fa816c1232647b \
|
529 |
+
--hash=sha256:b67c6f5e5a401fc56394f191f00f9b3811fe843ee93f4a70df3c389d1adf857d \
|
530 |
+
--hash=sha256:bceab846bac555aff6427d060f2fcfff71042dba6f5fca7dc4f75cac815e57ca \
|
531 |
+
--hash=sha256:c114e8da9b475739dde229fd3bc6b05a6537a88a578358bc8eb29b4030fac9c9 \
|
532 |
+
--hash=sha256:d67ac60a307f760c6e65dad586f556dde58e683fab03323221a4e530ead6f74d \
|
533 |
+
--hash=sha256:dcacf2c7a6c3a84e720d1bb2b543c675bf6c40e460300b628bab1b1efc7c034c \
|
534 |
+
--hash=sha256:de36fe9c02995c7e6ae6efe2e205816f5f00c22fd1fbf343d4d18c3d5ceac2f5 \
|
535 |
+
--hash=sha256:e052b8467dd07d4943936009f46ae5ce7b908ddcac3fda581656b1b19c083d9b \
|
536 |
+
--hash=sha256:e063b1865974611313a3849d43f2c3f5368093691349cf3c7c8f8f75ad7cb280 \
|
537 |
+
--hash=sha256:e6316827e3e79b7b8e7d8e3b08f4e331af91a48e794d5d8b099928b6f0b85f20 \
|
538 |
+
--hash=sha256:ed058398f55163a79bb9f06a90ef9ccc063b204bb346c4de78efc5d15abfe602 \
|
539 |
+
--hash=sha256:f2e58f2c36cc52d41f2659e4c0cbf7353e28c8c9e63e30d8c6d3494dc9fdedcf \
|
540 |
+
--hash=sha256:ffd7dcaf744f25f82190856bc26ed81721508fc5cbf2a330751e135ff1283564
|
src/__init__.py
ADDED
File without changes
|
src/encodechka/__init__.py
ADDED
File without changes
|
src/{about.py β encodechka/about.py}
RENAMED
@@ -1,6 +1,7 @@
|
|
1 |
from dataclasses import dataclass
|
2 |
from enum import Enum
|
3 |
|
|
|
4 |
@dataclass
|
5 |
class Task:
|
6 |
benchmark: str
|
@@ -11,13 +12,13 @@ class Task:
|
|
11 |
# Select your tasks here
|
12 |
# ---------------------------------------------------
|
13 |
class Tasks(Enum):
|
14 |
-
# task_key in the json file, metric_key in the json file, name to display in the leaderboard
|
15 |
task0 = Task("anli_r1", "acc", "ANLI")
|
16 |
task1 = Task("logiqa", "acc_norm", "LogiQA")
|
17 |
|
18 |
-
NUM_FEWSHOT = 0 # Change with your few shot
|
19 |
-
# ---------------------------------------------------
|
20 |
|
|
|
|
|
21 |
|
22 |
|
23 |
# Your leaderboard name
|
@@ -29,7 +30,7 @@ Intro text
|
|
29 |
"""
|
30 |
|
31 |
# Which evaluations are you running? how can people reproduce what you have?
|
32 |
-
LLM_BENCHMARKS_TEXT =
|
33 |
## How it works
|
34 |
|
35 |
## Reproducibility
|
@@ -47,13 +48,16 @@ config = AutoConfig.from_pretrained("your model name", revision=revision)
|
|
47 |
model = AutoModel.from_pretrained("your model name", revision=revision)
|
48 |
tokenizer = AutoTokenizer.from_pretrained("your model name", revision=revision)
|
49 |
```
|
50 |
-
If this step fails, follow the error messages to debug your model before submitting it. It's likely your model has been
|
|
|
51 |
|
52 |
Note: make sure your model is public!
|
53 |
-
Note: if your model needs `use_remote_code=True`, we do not support this option yet but we are working on adding it,
|
|
|
54 |
|
55 |
### 2) Convert your model weights to [safetensors](https://huggingface.co/docs/safetensors/index)
|
56 |
-
It's a new format for storing weights which is safer and faster to load and use. It will also allow us to add the number
|
|
|
57 |
|
58 |
### 3) Make sure your model has an open license!
|
59 |
This is a leaderboard for Open LLMs, and we'd love for as many people as possible to know they can use your model π€
|
@@ -64,7 +68,8 @@ When we add extra information about models to the leaderboard, it will be automa
|
|
64 |
## In case of model failure
|
65 |
If your model is displayed in the `FAILED` category, its execution stopped.
|
66 |
Make sure you have followed the above steps first.
|
67 |
-
If everything is done, check you can launch the EleutherAIHarness on your model locally, using the above command without
|
|
|
68 |
"""
|
69 |
|
70 |
CITATION_BUTTON_LABEL = "Copy the following snippet to cite these results"
|
|
|
1 |
from dataclasses import dataclass
|
2 |
from enum import Enum
|
3 |
|
4 |
+
|
5 |
@dataclass
|
6 |
class Task:
|
7 |
benchmark: str
|
|
|
12 |
# Select your tasks here
|
13 |
# ---------------------------------------------------
|
14 |
class Tasks(Enum):
|
15 |
+
# task_key in the json file, metric_key in the json file, name to display in the leaderboard
|
16 |
task0 = Task("anli_r1", "acc", "ANLI")
|
17 |
task1 = Task("logiqa", "acc_norm", "LogiQA")
|
18 |
|
|
|
|
|
19 |
|
20 |
+
NUM_FEWSHOT = 0 # Change with your few shot
|
21 |
+
# ---------------------------------------------------
|
22 |
|
23 |
|
24 |
# Your leaderboard name
|
|
|
30 |
"""
|
31 |
|
32 |
# Which evaluations are you running? how can people reproduce what you have?
|
33 |
+
LLM_BENCHMARKS_TEXT = """
|
34 |
## How it works
|
35 |
|
36 |
## Reproducibility
|
|
|
48 |
model = AutoModel.from_pretrained("your model name", revision=revision)
|
49 |
tokenizer = AutoTokenizer.from_pretrained("your model name", revision=revision)
|
50 |
```
|
51 |
+
If this step fails, follow the error messages to debug your model before submitting it. It's likely your model has been
|
52 |
+
improperly uploaded.
|
53 |
|
54 |
Note: make sure your model is public!
|
55 |
+
Note: if your model needs `use_remote_code=True`, we do not support this option yet but we are working on adding it,
|
56 |
+
stay posted!
|
57 |
|
58 |
### 2) Convert your model weights to [safetensors](https://huggingface.co/docs/safetensors/index)
|
59 |
+
It's a new format for storing weights which is safer and faster to load and use. It will also allow us to add the number
|
60 |
+
of parameters of your model to the `Extended Viewer`!
|
61 |
|
62 |
### 3) Make sure your model has an open license!
|
63 |
This is a leaderboard for Open LLMs, and we'd love for as many people as possible to know they can use your model π€
|
|
|
68 |
## In case of model failure
|
69 |
If your model is displayed in the `FAILED` category, its execution stopped.
|
70 |
Make sure you have followed the above steps first.
|
71 |
+
If everything is done, check you can launch the EleutherAIHarness on your model locally, using the above command without
|
72 |
+
modifications (you can add `--limit` to limit the number of examples per task).
|
73 |
"""
|
74 |
|
75 |
CITATION_BUTTON_LABEL = "Copy the following snippet to cite these results"
|
app.py β src/encodechka/app.py
RENAMED
@@ -1,10 +1,6 @@
|
|
1 |
-
import subprocess
|
2 |
import gradio as gr
|
3 |
import pandas as pd
|
4 |
-
from
|
5 |
-
from huggingface_hub import snapshot_download
|
6 |
-
|
7 |
-
from src.about import (
|
8 |
CITATION_BUTTON_LABEL,
|
9 |
CITATION_BUTTON_TEXT,
|
10 |
EVALUATION_QUEUE_TEXT,
|
@@ -12,8 +8,9 @@ from src.about import (
|
|
12 |
LLM_BENCHMARKS_TEXT,
|
13 |
TITLE,
|
14 |
)
|
15 |
-
from
|
16 |
-
from
|
|
|
17 |
BENCHMARK_COLS,
|
18 |
COLS,
|
19 |
EVAL_COLS,
|
@@ -22,29 +19,50 @@ from src.display.utils import (
|
|
22 |
TYPES,
|
23 |
AutoEvalColumn,
|
24 |
ModelType,
|
25 |
-
|
26 |
WeightType,
|
27 |
-
|
28 |
)
|
29 |
-
from
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
|
34 |
def restart_space():
|
35 |
API.restart_space(repo_id=REPO_ID)
|
36 |
|
|
|
37 |
try:
|
38 |
print(EVAL_REQUESTS_PATH)
|
39 |
snapshot_download(
|
40 |
-
repo_id=QUEUE_REPO,
|
|
|
|
|
|
|
|
|
|
|
41 |
)
|
42 |
except Exception:
|
43 |
restart_space()
|
44 |
try:
|
45 |
print(EVAL_RESULTS_PATH)
|
46 |
snapshot_download(
|
47 |
-
repo_id=RESULTS_REPO,
|
|
|
|
|
|
|
|
|
|
|
48 |
)
|
49 |
except Exception:
|
50 |
restart_space()
|
@@ -86,9 +104,7 @@ def select_columns(df: pd.DataFrame, columns: list) -> pd.DataFrame:
|
|
86 |
AutoEvalColumn.model.name,
|
87 |
]
|
88 |
# We use COLS to maintain sorting
|
89 |
-
filtered_df = df[
|
90 |
-
always_here_cols + [c for c in COLS if c in df.columns and c in columns]
|
91 |
-
]
|
92 |
return filtered_df
|
93 |
|
94 |
|
@@ -105,24 +121,32 @@ def filter_queries(query: str, filtered_df: pd.DataFrame) -> pd.DataFrame:
|
|
105 |
if len(final_df) > 0:
|
106 |
filtered_df = pd.concat(final_df)
|
107 |
filtered_df = filtered_df.drop_duplicates(
|
108 |
-
subset=[
|
|
|
|
|
|
|
|
|
109 |
)
|
110 |
|
111 |
return filtered_df
|
112 |
|
113 |
|
114 |
def filter_models(
|
115 |
-
df: pd.DataFrame,
|
|
|
|
|
|
|
|
|
116 |
) -> pd.DataFrame:
|
117 |
# Show all models
|
118 |
if show_deleted:
|
119 |
filtered_df = df
|
120 |
else: # Show only still on the hub models
|
121 |
-
filtered_df = df[df[AutoEvalColumn.still_on_hub.name]
|
122 |
|
123 |
type_emoji = [t[0] for t in type_query]
|
124 |
filtered_df = filtered_df.loc[df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
|
125 |
-
filtered_df = filtered_df.loc[df[AutoEvalColumn.precision.name].isin(precision_query
|
126 |
|
127 |
numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
|
128 |
params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors="coerce")
|
@@ -149,11 +173,7 @@ with demo:
|
|
149 |
)
|
150 |
with gr.Row():
|
151 |
shown_columns = gr.CheckboxGroup(
|
152 |
-
choices=[
|
153 |
-
c.name
|
154 |
-
for c in fields(AutoEvalColumn)
|
155 |
-
if not c.hidden and not c.never_hidden
|
156 |
-
],
|
157 |
value=[
|
158 |
c.name
|
159 |
for c in fields(AutoEvalColumn)
|
@@ -165,10 +185,12 @@ with demo:
|
|
165 |
)
|
166 |
with gr.Row():
|
167 |
deleted_models_visibility = gr.Checkbox(
|
168 |
-
value=False,
|
|
|
|
|
169 |
)
|
170 |
with gr.Column(min_width=320):
|
171 |
-
#with gr.Box(elem_id="box-filter"):
|
172 |
filter_columns_type = gr.CheckboxGroup(
|
173 |
label="Model types",
|
174 |
choices=[t.to_str() for t in ModelType],
|
@@ -192,10 +214,7 @@ with demo:
|
|
192 |
)
|
193 |
|
194 |
leaderboard_table = gr.components.Dataframe(
|
195 |
-
value=leaderboard_df[
|
196 |
-
[c.name for c in fields(AutoEvalColumn) if c.never_hidden]
|
197 |
-
+ shown_columns.value
|
198 |
-
],
|
199 |
headers=[c.name for c in fields(AutoEvalColumn) if c.never_hidden] + shown_columns.value,
|
200 |
datatype=TYPES,
|
201 |
elem_id="leaderboard-table",
|
@@ -223,7 +242,13 @@ with demo:
|
|
223 |
],
|
224 |
leaderboard_table,
|
225 |
)
|
226 |
-
for selector in [
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
selector.change(
|
228 |
update_table,
|
229 |
[
|
@@ -314,20 +339,20 @@ with demo:
|
|
314 |
)
|
315 |
base_model_name_textbox = gr.Textbox(label="Base model (for delta or adapter weights)")
|
316 |
|
317 |
-
submit_button = gr.Button("Submit Eval")
|
318 |
-
submission_result = gr.Markdown()
|
319 |
-
submit_button.click(
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
)
|
331 |
|
332 |
with gr.Row():
|
333 |
with gr.Accordion("π Citation", open=False):
|
@@ -342,4 +367,4 @@ with demo:
|
|
342 |
scheduler = BackgroundScheduler()
|
343 |
scheduler.add_job(restart_space, "interval", seconds=1800)
|
344 |
scheduler.start()
|
345 |
-
demo.queue(default_concurrency_limit=40).launch()
|
|
|
|
|
1 |
import gradio as gr
|
2 |
import pandas as pd
|
3 |
+
from about import (
|
|
|
|
|
|
|
4 |
CITATION_BUTTON_LABEL,
|
5 |
CITATION_BUTTON_TEXT,
|
6 |
EVALUATION_QUEUE_TEXT,
|
|
|
8 |
LLM_BENCHMARKS_TEXT,
|
9 |
TITLE,
|
10 |
)
|
11 |
+
from apscheduler.schedulers.background import BackgroundScheduler
|
12 |
+
from display.css_html_js import custom_css
|
13 |
+
from display.utils import (
|
14 |
BENCHMARK_COLS,
|
15 |
COLS,
|
16 |
EVAL_COLS,
|
|
|
19 |
TYPES,
|
20 |
AutoEvalColumn,
|
21 |
ModelType,
|
22 |
+
Precision,
|
23 |
WeightType,
|
24 |
+
fields,
|
25 |
)
|
26 |
+
from envs import (
|
27 |
+
API,
|
28 |
+
EVAL_REQUESTS_PATH,
|
29 |
+
EVAL_RESULTS_PATH,
|
30 |
+
QUEUE_REPO,
|
31 |
+
REPO_ID,
|
32 |
+
RESULTS_REPO,
|
33 |
+
TOKEN,
|
34 |
+
)
|
35 |
+
from huggingface_hub import snapshot_download
|
36 |
+
from populate import get_evaluation_queue_df, get_leaderboard_df
|
37 |
+
|
38 |
+
# from submission.submit import add_new_eval
|
39 |
|
40 |
|
41 |
def restart_space():
|
42 |
API.restart_space(repo_id=REPO_ID)
|
43 |
|
44 |
+
|
45 |
try:
|
46 |
print(EVAL_REQUESTS_PATH)
|
47 |
snapshot_download(
|
48 |
+
repo_id=QUEUE_REPO,
|
49 |
+
local_dir=EVAL_REQUESTS_PATH,
|
50 |
+
repo_type="dataset",
|
51 |
+
tqdm_class=None,
|
52 |
+
etag_timeout=30,
|
53 |
+
token=TOKEN,
|
54 |
)
|
55 |
except Exception:
|
56 |
restart_space()
|
57 |
try:
|
58 |
print(EVAL_RESULTS_PATH)
|
59 |
snapshot_download(
|
60 |
+
repo_id=RESULTS_REPO,
|
61 |
+
local_dir=EVAL_RESULTS_PATH,
|
62 |
+
repo_type="dataset",
|
63 |
+
tqdm_class=None,
|
64 |
+
etag_timeout=30,
|
65 |
+
token=TOKEN,
|
66 |
)
|
67 |
except Exception:
|
68 |
restart_space()
|
|
|
104 |
AutoEvalColumn.model.name,
|
105 |
]
|
106 |
# We use COLS to maintain sorting
|
107 |
+
filtered_df = df[always_here_cols + [c for c in COLS if c in df.columns and c in columns]]
|
|
|
|
|
108 |
return filtered_df
|
109 |
|
110 |
|
|
|
121 |
if len(final_df) > 0:
|
122 |
filtered_df = pd.concat(final_df)
|
123 |
filtered_df = filtered_df.drop_duplicates(
|
124 |
+
subset=[
|
125 |
+
AutoEvalColumn.model.name,
|
126 |
+
AutoEvalColumn.precision.name,
|
127 |
+
AutoEvalColumn.revision.name,
|
128 |
+
]
|
129 |
)
|
130 |
|
131 |
return filtered_df
|
132 |
|
133 |
|
134 |
def filter_models(
|
135 |
+
df: pd.DataFrame,
|
136 |
+
type_query: list,
|
137 |
+
size_query: list,
|
138 |
+
precision_query: list,
|
139 |
+
show_deleted: bool,
|
140 |
) -> pd.DataFrame:
|
141 |
# Show all models
|
142 |
if show_deleted:
|
143 |
filtered_df = df
|
144 |
else: # Show only still on the hub models
|
145 |
+
filtered_df = df[df[AutoEvalColumn.still_on_hub.name] is True]
|
146 |
|
147 |
type_emoji = [t[0] for t in type_query]
|
148 |
filtered_df = filtered_df.loc[df[AutoEvalColumn.model_type_symbol.name].isin(type_emoji)]
|
149 |
+
filtered_df = filtered_df.loc[df[AutoEvalColumn.precision.name].isin([*precision_query, "None"])]
|
150 |
|
151 |
numeric_interval = pd.IntervalIndex(sorted([NUMERIC_INTERVALS[s] for s in size_query]))
|
152 |
params_column = pd.to_numeric(df[AutoEvalColumn.params.name], errors="coerce")
|
|
|
173 |
)
|
174 |
with gr.Row():
|
175 |
shown_columns = gr.CheckboxGroup(
|
176 |
+
choices=[c.name for c in fields(AutoEvalColumn) if not c.hidden and not c.never_hidden],
|
|
|
|
|
|
|
|
|
177 |
value=[
|
178 |
c.name
|
179 |
for c in fields(AutoEvalColumn)
|
|
|
185 |
)
|
186 |
with gr.Row():
|
187 |
deleted_models_visibility = gr.Checkbox(
|
188 |
+
value=False,
|
189 |
+
label="Show gated/private/deleted models",
|
190 |
+
interactive=True,
|
191 |
)
|
192 |
with gr.Column(min_width=320):
|
193 |
+
# with gr.Box(elem_id="box-filter"):
|
194 |
filter_columns_type = gr.CheckboxGroup(
|
195 |
label="Model types",
|
196 |
choices=[t.to_str() for t in ModelType],
|
|
|
214 |
)
|
215 |
|
216 |
leaderboard_table = gr.components.Dataframe(
|
217 |
+
value=leaderboard_df[[c.name for c in fields(AutoEvalColumn) if c.never_hidden] + shown_columns.value],
|
|
|
|
|
|
|
218 |
headers=[c.name for c in fields(AutoEvalColumn) if c.never_hidden] + shown_columns.value,
|
219 |
datatype=TYPES,
|
220 |
elem_id="leaderboard-table",
|
|
|
242 |
],
|
243 |
leaderboard_table,
|
244 |
)
|
245 |
+
for selector in [
|
246 |
+
shown_columns,
|
247 |
+
filter_columns_type,
|
248 |
+
filter_columns_precision,
|
249 |
+
filter_columns_size,
|
250 |
+
deleted_models_visibility,
|
251 |
+
]:
|
252 |
selector.change(
|
253 |
update_table,
|
254 |
[
|
|
|
339 |
)
|
340 |
base_model_name_textbox = gr.Textbox(label="Base model (for delta or adapter weights)")
|
341 |
|
342 |
+
# submit_button = gr.Button("Submit Eval")
|
343 |
+
# submission_result = gr.Markdown()
|
344 |
+
# submit_button.click(
|
345 |
+
# add_new_eval,
|
346 |
+
# [
|
347 |
+
# model_name_textbox,
|
348 |
+
# base_model_name_textbox,
|
349 |
+
# revision_name_textbox,
|
350 |
+
# precision,
|
351 |
+
# weight_type,
|
352 |
+
# model_type,
|
353 |
+
# ],
|
354 |
+
# submission_result,
|
355 |
+
# )
|
356 |
|
357 |
with gr.Row():
|
358 |
with gr.Accordion("π Citation", open=False):
|
|
|
367 |
scheduler = BackgroundScheduler()
|
368 |
scheduler.add_job(restart_space, "interval", seconds=1800)
|
369 |
scheduler.start()
|
370 |
+
demo.queue(default_concurrency_limit=40).launch()
|
src/encodechka/display/__init__.py
ADDED
File without changes
|
src/{display β encodechka/display}/css_html_js.py
RENAMED
@@ -33,7 +33,7 @@ custom_css = """
|
|
33 |
background: none;
|
34 |
border: none;
|
35 |
}
|
36 |
-
|
37 |
#search-bar {
|
38 |
padding: 0px;
|
39 |
}
|
@@ -77,7 +77,7 @@ table th:first-child {
|
|
77 |
#filter_type label > .wrap{
|
78 |
width: 103px;
|
79 |
}
|
80 |
-
#filter_type label > .wrap .wrap-inner{
|
81 |
padding: 2px;
|
82 |
}
|
83 |
#filter_type label > .wrap .wrap-inner input{
|
|
|
33 |
background: none;
|
34 |
border: none;
|
35 |
}
|
36 |
+
|
37 |
#search-bar {
|
38 |
padding: 0px;
|
39 |
}
|
|
|
77 |
#filter_type label > .wrap{
|
78 |
width: 103px;
|
79 |
}
|
80 |
+
#filter_type label > .wrap .wrap-inner{
|
81 |
padding: 2px;
|
82 |
}
|
83 |
#filter_type label > .wrap .wrap-inner input{
|
src/{display β encodechka/display}/formatting.py
RENAMED
File without changes
|
src/{display β encodechka/display}/utils.py
RENAMED
@@ -3,7 +3,8 @@ from enum import Enum
|
|
3 |
|
4 |
import pandas as pd
|
5 |
|
6 |
-
from
|
|
|
7 |
|
8 |
def fields(raw_class):
|
9 |
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
|
@@ -20,12 +21,25 @@ class ColumnContent:
|
|
20 |
hidden: bool = False
|
21 |
never_hidden: bool = False
|
22 |
|
|
|
23 |
## Leaderboard columns
|
24 |
auto_eval_column_dict = []
|
25 |
# Init
|
26 |
-
auto_eval_column_dict.append(
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
auto_eval_column_dict.append(["average", ColumnContent, ColumnContent("Average β¬οΈ", "number", True)])
|
30 |
for task in Tasks:
|
31 |
auto_eval_column_dict.append([task.name, ColumnContent, ColumnContent(task.value.col_name, "number", True)])
|
@@ -37,12 +51,19 @@ auto_eval_column_dict.append(["precision", ColumnContent, ColumnContent("Precisi
|
|
37 |
auto_eval_column_dict.append(["license", ColumnContent, ColumnContent("Hub License", "str", False)])
|
38 |
auto_eval_column_dict.append(["params", ColumnContent, ColumnContent("#Params (B)", "number", False)])
|
39 |
auto_eval_column_dict.append(["likes", ColumnContent, ColumnContent("Hub β€οΈ", "number", False)])
|
40 |
-
auto_eval_column_dict.append(
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
auto_eval_column_dict.append(["revision", ColumnContent, ColumnContent("Model sha", "str", False, False)])
|
42 |
|
43 |
# We use make dataclass to dynamically fill the scores from Tasks
|
44 |
AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict, frozen=True)
|
45 |
|
|
|
46 |
## For the queue columns in the submission tab
|
47 |
@dataclass(frozen=True)
|
48 |
class EvalQueueColumn: # Queue column
|
@@ -53,12 +74,13 @@ class EvalQueueColumn: # Queue column
|
|
53 |
weight_type = ColumnContent("weight_type", "str", "Original")
|
54 |
status = ColumnContent("status", "str", True)
|
55 |
|
|
|
56 |
## All the model information that we might need
|
57 |
@dataclass
|
58 |
class ModelDetails:
|
59 |
name: str
|
60 |
display_name: str = ""
|
61 |
-
symbol: str = ""
|
62 |
|
63 |
|
64 |
class ModelType(Enum):
|
@@ -83,18 +105,20 @@ class ModelType(Enum):
|
|
83 |
return ModelType.IFT
|
84 |
return ModelType.Unknown
|
85 |
|
|
|
86 |
class WeightType(Enum):
|
87 |
Adapter = ModelDetails("Adapter")
|
88 |
Original = ModelDetails("Original")
|
89 |
Delta = ModelDetails("Delta")
|
90 |
|
|
|
91 |
class Precision(Enum):
|
92 |
float16 = ModelDetails("float16")
|
93 |
bfloat16 = ModelDetails("bfloat16")
|
94 |
float32 = ModelDetails("float32")
|
95 |
-
#qt_8bit = ModelDetails("8bit")
|
96 |
-
#qt_4bit = ModelDetails("4bit")
|
97 |
-
#qt_GPTQ = ModelDetails("GPTQ")
|
98 |
Unknown = ModelDetails("?")
|
99 |
|
100 |
def from_str(precision):
|
@@ -104,14 +128,15 @@ class Precision(Enum):
|
|
104 |
return Precision.bfloat16
|
105 |
if precision in ["float32"]:
|
106 |
return Precision.float32
|
107 |
-
#if precision in ["8bit"]:
|
108 |
# return Precision.qt_8bit
|
109 |
-
#if precision in ["4bit"]:
|
110 |
# return Precision.qt_4bit
|
111 |
-
#if precision in ["GPTQ", "None"]:
|
112 |
# return Precision.qt_GPTQ
|
113 |
return Precision.Unknown
|
114 |
|
|
|
115 |
# Column selection
|
116 |
COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden]
|
117 |
TYPES = [c.type for c in fields(AutoEvalColumn) if not c.hidden]
|
|
|
3 |
|
4 |
import pandas as pd
|
5 |
|
6 |
+
from ..about import Tasks
|
7 |
+
|
8 |
|
9 |
def fields(raw_class):
|
10 |
return [v for k, v in raw_class.__dict__.items() if k[:2] != "__" and k[-2:] != "__"]
|
|
|
21 |
hidden: bool = False
|
22 |
never_hidden: bool = False
|
23 |
|
24 |
+
|
25 |
## Leaderboard columns
|
26 |
auto_eval_column_dict = []
|
27 |
# Init
|
28 |
+
auto_eval_column_dict.append(
|
29 |
+
[
|
30 |
+
"model_type_symbol",
|
31 |
+
ColumnContent,
|
32 |
+
ColumnContent("T", "str", True, never_hidden=True),
|
33 |
+
]
|
34 |
+
)
|
35 |
+
auto_eval_column_dict.append(
|
36 |
+
[
|
37 |
+
"model",
|
38 |
+
ColumnContent,
|
39 |
+
ColumnContent("Model", "markdown", True, never_hidden=True),
|
40 |
+
]
|
41 |
+
)
|
42 |
+
# Scores
|
43 |
auto_eval_column_dict.append(["average", ColumnContent, ColumnContent("Average β¬οΈ", "number", True)])
|
44 |
for task in Tasks:
|
45 |
auto_eval_column_dict.append([task.name, ColumnContent, ColumnContent(task.value.col_name, "number", True)])
|
|
|
51 |
auto_eval_column_dict.append(["license", ColumnContent, ColumnContent("Hub License", "str", False)])
|
52 |
auto_eval_column_dict.append(["params", ColumnContent, ColumnContent("#Params (B)", "number", False)])
|
53 |
auto_eval_column_dict.append(["likes", ColumnContent, ColumnContent("Hub β€οΈ", "number", False)])
|
54 |
+
auto_eval_column_dict.append(
|
55 |
+
[
|
56 |
+
"still_on_hub",
|
57 |
+
ColumnContent,
|
58 |
+
ColumnContent("Available on the hub", "bool", False),
|
59 |
+
]
|
60 |
+
)
|
61 |
auto_eval_column_dict.append(["revision", ColumnContent, ColumnContent("Model sha", "str", False, False)])
|
62 |
|
63 |
# We use make dataclass to dynamically fill the scores from Tasks
|
64 |
AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict, frozen=True)
|
65 |
|
66 |
+
|
67 |
## For the queue columns in the submission tab
|
68 |
@dataclass(frozen=True)
|
69 |
class EvalQueueColumn: # Queue column
|
|
|
74 |
weight_type = ColumnContent("weight_type", "str", "Original")
|
75 |
status = ColumnContent("status", "str", True)
|
76 |
|
77 |
+
|
78 |
## All the model information that we might need
|
79 |
@dataclass
|
80 |
class ModelDetails:
|
81 |
name: str
|
82 |
display_name: str = ""
|
83 |
+
symbol: str = "" # emoji
|
84 |
|
85 |
|
86 |
class ModelType(Enum):
|
|
|
105 |
return ModelType.IFT
|
106 |
return ModelType.Unknown
|
107 |
|
108 |
+
|
109 |
class WeightType(Enum):
|
110 |
Adapter = ModelDetails("Adapter")
|
111 |
Original = ModelDetails("Original")
|
112 |
Delta = ModelDetails("Delta")
|
113 |
|
114 |
+
|
115 |
class Precision(Enum):
|
116 |
float16 = ModelDetails("float16")
|
117 |
bfloat16 = ModelDetails("bfloat16")
|
118 |
float32 = ModelDetails("float32")
|
119 |
+
# qt_8bit = ModelDetails("8bit")
|
120 |
+
# qt_4bit = ModelDetails("4bit")
|
121 |
+
# qt_GPTQ = ModelDetails("GPTQ")
|
122 |
Unknown = ModelDetails("?")
|
123 |
|
124 |
def from_str(precision):
|
|
|
128 |
return Precision.bfloat16
|
129 |
if precision in ["float32"]:
|
130 |
return Precision.float32
|
131 |
+
# if precision in ["8bit"]:
|
132 |
# return Precision.qt_8bit
|
133 |
+
# if precision in ["4bit"]:
|
134 |
# return Precision.qt_4bit
|
135 |
+
# if precision in ["GPTQ", "None"]:
|
136 |
# return Precision.qt_GPTQ
|
137 |
return Precision.Unknown
|
138 |
|
139 |
+
|
140 |
# Column selection
|
141 |
COLS = [c.name for c in fields(AutoEvalColumn) if not c.hidden]
|
142 |
TYPES = [c.type for c in fields(AutoEvalColumn) if not c.hidden]
|
src/{envs.py β encodechka/envs.py}
RENAMED
@@ -4,9 +4,9 @@ from huggingface_hub import HfApi
|
|
4 |
|
5 |
# Info to change for your repository
|
6 |
# ----------------------------------
|
7 |
-
TOKEN = os.environ.get("TOKEN")
|
8 |
|
9 |
-
OWNER = "demo-leaderboard-backend"
|
10 |
# ----------------------------------
|
11 |
|
12 |
REPO_ID = f"{OWNER}/leaderboard"
|
@@ -14,7 +14,7 @@ QUEUE_REPO = f"{OWNER}/requests"
|
|
14 |
RESULTS_REPO = f"{OWNER}/results"
|
15 |
|
16 |
# If you setup a cache later, just change HF_HOME
|
17 |
-
CACHE_PATH=os.getenv("HF_HOME", ".")
|
18 |
|
19 |
# Local caches
|
20 |
EVAL_REQUESTS_PATH = os.path.join(CACHE_PATH, "eval-queue")
|
|
|
4 |
|
5 |
# Info to change for your repository
|
6 |
# ----------------------------------
|
7 |
+
TOKEN = os.environ.get("TOKEN") # A read/write token for your org
|
8 |
|
9 |
+
OWNER = "demo-leaderboard-backend" # Change to your org - don't forget to create a results and request dataset, with the correct format!
|
10 |
# ----------------------------------
|
11 |
|
12 |
REPO_ID = f"{OWNER}/leaderboard"
|
|
|
14 |
RESULTS_REPO = f"{OWNER}/results"
|
15 |
|
16 |
# If you setup a cache later, just change HF_HOME
|
17 |
+
CACHE_PATH = os.getenv("HF_HOME", ".")
|
18 |
|
19 |
# Local caches
|
20 |
EVAL_REQUESTS_PATH = os.path.join(CACHE_PATH, "eval-queue")
|
src/encodechka/leaderboard/__init__.py
ADDED
File without changes
|
src/{leaderboard β encodechka/leaderboard}/read_evals.py
RENAMED
@@ -1,35 +1,34 @@
|
|
1 |
import glob
|
2 |
import json
|
3 |
-
import math
|
4 |
import os
|
5 |
from dataclasses import dataclass
|
6 |
|
7 |
import dateutil
|
8 |
import numpy as np
|
9 |
|
10 |
-
from
|
11 |
-
from
|
12 |
-
from
|
13 |
|
14 |
|
15 |
@dataclass
|
16 |
class EvalResult:
|
17 |
-
"""Represents one full evaluation. Built from a combination of the result and request file for a given run.
|
18 |
-
|
19 |
-
eval_name: str
|
20 |
-
full_model: str
|
21 |
-
org: str
|
22 |
model: str
|
23 |
-
revision: str
|
24 |
results: dict
|
25 |
precision: Precision = Precision.Unknown
|
26 |
-
model_type: ModelType = ModelType.Unknown
|
27 |
-
weight_type: WeightType = WeightType.Original
|
28 |
-
architecture: str = "Unknown"
|
29 |
license: str = "?"
|
30 |
likes: int = 0
|
31 |
num_params: int = 0
|
32 |
-
date: str = ""
|
33 |
still_on_hub: bool = False
|
34 |
|
35 |
@classmethod
|
@@ -58,7 +57,10 @@ class EvalResult:
|
|
58 |
full_model = "/".join(org_and_model)
|
59 |
|
60 |
still_on_hub, _, model_config = is_model_on_hub(
|
61 |
-
full_model,
|
|
|
|
|
|
|
62 |
)
|
63 |
architecture = "?"
|
64 |
if model_config is not None:
|
@@ -85,10 +87,10 @@ class EvalResult:
|
|
85 |
org=org,
|
86 |
model=model,
|
87 |
results=results,
|
88 |
-
precision=precision,
|
89 |
-
revision=
|
90 |
still_on_hub=still_on_hub,
|
91 |
-
architecture=architecture
|
92 |
)
|
93 |
|
94 |
def update_with_request_file(self, requests_path):
|
@@ -96,7 +98,7 @@ class EvalResult:
|
|
96 |
request_file = get_request_file_for_model(requests_path, self.full_model, self.precision.value.name)
|
97 |
|
98 |
try:
|
99 |
-
with open(request_file
|
100 |
request = json.load(f)
|
101 |
self.model_type = ModelType.from_str(request.get("model_type", ""))
|
102 |
self.weight_type = WeightType[request.get("weight_type", "Original")]
|
@@ -144,12 +146,9 @@ def get_request_file_for_model(requests_path, model_name, precision):
|
|
144 |
request_file = ""
|
145 |
request_files = sorted(request_files, reverse=True)
|
146 |
for tmp_request_file in request_files:
|
147 |
-
with open(tmp_request_file
|
148 |
req_content = json.load(f)
|
149 |
-
if (
|
150 |
-
req_content["status"] in ["FINISHED"]
|
151 |
-
and req_content["precision"] == precision.split(".")[-1]
|
152 |
-
):
|
153 |
request_file = tmp_request_file
|
154 |
return request_file
|
155 |
|
@@ -188,7 +187,7 @@ def get_raw_eval_results(results_path: str, requests_path: str) -> list[EvalResu
|
|
188 |
results = []
|
189 |
for v in eval_results.values():
|
190 |
try:
|
191 |
-
v.to_dict()
|
192 |
results.append(v)
|
193 |
except KeyError: # not all eval values present
|
194 |
continue
|
|
|
1 |
import glob
|
2 |
import json
|
|
|
3 |
import os
|
4 |
from dataclasses import dataclass
|
5 |
|
6 |
import dateutil
|
7 |
import numpy as np
|
8 |
|
9 |
+
from ..display.formatting import make_clickable_model
|
10 |
+
from ..display.utils import AutoEvalColumn, ModelType, Precision, Tasks, WeightType
|
11 |
+
from ..submission.check_validity import is_model_on_hub
|
12 |
|
13 |
|
14 |
@dataclass
|
15 |
class EvalResult:
|
16 |
+
"""Represents one full evaluation. Built from a combination of the result and request file for a given run."""
|
17 |
+
|
18 |
+
eval_name: str # org_model_precision (uid)
|
19 |
+
full_model: str # org/model (path on hub)
|
20 |
+
org: str
|
21 |
model: str
|
22 |
+
revision: str # commit hash, "" if main
|
23 |
results: dict
|
24 |
precision: Precision = Precision.Unknown
|
25 |
+
model_type: ModelType = ModelType.Unknown # Pretrained, fine tuned, ...
|
26 |
+
weight_type: WeightType = WeightType.Original # Original or Adapter
|
27 |
+
architecture: str = "Unknown"
|
28 |
license: str = "?"
|
29 |
likes: int = 0
|
30 |
num_params: int = 0
|
31 |
+
date: str = "" # submission date of request file
|
32 |
still_on_hub: bool = False
|
33 |
|
34 |
@classmethod
|
|
|
57 |
full_model = "/".join(org_and_model)
|
58 |
|
59 |
still_on_hub, _, model_config = is_model_on_hub(
|
60 |
+
full_model,
|
61 |
+
config.get("model_sha", "main"),
|
62 |
+
trust_remote_code=True,
|
63 |
+
test_tokenizer=False,
|
64 |
)
|
65 |
architecture = "?"
|
66 |
if model_config is not None:
|
|
|
87 |
org=org,
|
88 |
model=model,
|
89 |
results=results,
|
90 |
+
precision=precision,
|
91 |
+
revision=config.get("model_sha", ""),
|
92 |
still_on_hub=still_on_hub,
|
93 |
+
architecture=architecture,
|
94 |
)
|
95 |
|
96 |
def update_with_request_file(self, requests_path):
|
|
|
98 |
request_file = get_request_file_for_model(requests_path, self.full_model, self.precision.value.name)
|
99 |
|
100 |
try:
|
101 |
+
with open(request_file) as f:
|
102 |
request = json.load(f)
|
103 |
self.model_type = ModelType.from_str(request.get("model_type", ""))
|
104 |
self.weight_type = WeightType[request.get("weight_type", "Original")]
|
|
|
146 |
request_file = ""
|
147 |
request_files = sorted(request_files, reverse=True)
|
148 |
for tmp_request_file in request_files:
|
149 |
+
with open(tmp_request_file) as f:
|
150 |
req_content = json.load(f)
|
151 |
+
if req_content["status"] in ["FINISHED"] and req_content["precision"] == precision.split(".")[-1]:
|
|
|
|
|
|
|
152 |
request_file = tmp_request_file
|
153 |
return request_file
|
154 |
|
|
|
187 |
results = []
|
188 |
for v in eval_results.values():
|
189 |
try:
|
190 |
+
v.to_dict() # we test if the dict version is complete
|
191 |
results.append(v)
|
192 |
except KeyError: # not all eval values present
|
193 |
continue
|
src/{populate.py β encodechka/populate.py}
RENAMED
@@ -2,10 +2,9 @@ import json
|
|
2 |
import os
|
3 |
|
4 |
import pandas as pd
|
5 |
-
|
6 |
-
from
|
7 |
-
from
|
8 |
-
from src.leaderboard.read_evals import get_raw_eval_results
|
9 |
|
10 |
|
11 |
def get_leaderboard_df(results_path: str, requests_path: str, cols: list, benchmark_cols: list) -> pd.DataFrame:
|
|
|
2 |
import os
|
3 |
|
4 |
import pandas as pd
|
5 |
+
from display.formatting import has_no_nan_values, make_clickable_model
|
6 |
+
from display.utils import AutoEvalColumn, EvalQueueColumn
|
7 |
+
from leaderboard.read_evals import get_raw_eval_results
|
|
|
8 |
|
9 |
|
10 |
def get_leaderboard_df(results_path: str, requests_path: str, cols: list, benchmark_cols: list) -> pd.DataFrame:
|
src/encodechka/submission/__init__.py
ADDED
File without changes
|
src/encodechka/submission/check_validity.py
ADDED
@@ -0,0 +1,124 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# import json
|
2 |
+
# import os
|
3 |
+
# from collections import defaultdict
|
4 |
+
#
|
5 |
+
# import huggingface_hub
|
6 |
+
# from huggingface_hub import ModelCard
|
7 |
+
# from huggingface_hub.hf_api import ModelInfo
|
8 |
+
# from transformers import AutoConfig
|
9 |
+
# from transformers.models.auto.tokenization_auto import AutoTokenizer
|
10 |
+
#
|
11 |
+
#
|
12 |
+
# def check_model_card(repo_id: str) -> tuple[bool, str]:
|
13 |
+
# """Checks if the model card and license exist and have been filled"""
|
14 |
+
# try:
|
15 |
+
# card = ModelCard.load(repo_id)
|
16 |
+
# except huggingface_hub.utils.EntryNotFoundError:
|
17 |
+
# return (
|
18 |
+
# False,
|
19 |
+
# "Please add a model card to your model to explain how you trained/fine-tuned it.",
|
20 |
+
# )
|
21 |
+
#
|
22 |
+
# # Enforce license metadata
|
23 |
+
# if card.data.license is None:
|
24 |
+
# if not ("license_name" in card.data and "license_link" in card.data):
|
25 |
+
# return False, (
|
26 |
+
# "License not found. Please add a license to your model card using the `license` metadata or a"
|
27 |
+
# " `license_name`/`license_link` pair."
|
28 |
+
# )
|
29 |
+
#
|
30 |
+
# # Enforce card content
|
31 |
+
# if len(card.text) < 200:
|
32 |
+
# return False, "Please add a description to your model card, it is too short."
|
33 |
+
#
|
34 |
+
# return True, ""
|
35 |
+
#
|
36 |
+
#
|
37 |
+
# def is_model_on_hub(
|
38 |
+
# model_name: str,
|
39 |
+
# revision: str,
|
40 |
+
# token: str | None = None,
|
41 |
+
# trust_remote_code=False,
|
42 |
+
# test_tokenizer=False,
|
43 |
+
# ) -> tuple[bool, str]:
|
44 |
+
# """Checks if the model model_name is on the hub, and whether it (and its tokenizer) can be loaded with AutoClasses."""
|
45 |
+
# try:
|
46 |
+
# config = AutoConfig.from_pretrained(
|
47 |
+
# model_name,
|
48 |
+
# revision=revision,
|
49 |
+
# trust_remote_code=trust_remote_code,
|
50 |
+
# token=token,
|
51 |
+
# )
|
52 |
+
# if test_tokenizer:
|
53 |
+
# try:
|
54 |
+
# tk = AutoTokenizer.from_pretrained(
|
55 |
+
# model_name,
|
56 |
+
# revision=revision,
|
57 |
+
# trust_remote_code=trust_remote_code,
|
58 |
+
# token=token,
|
59 |
+
# )
|
60 |
+
# except ValueError as e:
|
61 |
+
# return (
|
62 |
+
# False,
|
63 |
+
# f"uses a tokenizer which is not in a transformers release: {e}",
|
64 |
+
# None,
|
65 |
+
# )
|
66 |
+
# except Exception:
|
67 |
+
# return (
|
68 |
+
# False,
|
69 |
+
# "'s tokenizer cannot be loaded. Is your tokenizer class in a stable transformers release, and correctly configured?",
|
70 |
+
# None,
|
71 |
+
# )
|
72 |
+
# return True, None, config
|
73 |
+
#
|
74 |
+
# except ValueError:
|
75 |
+
# return (
|
76 |
+
# False,
|
77 |
+
# "needs to be launched with `trust_remote_code=True`. For safety reason, we do not allow these models to be automatically submitted to the leaderboard.",
|
78 |
+
# None,
|
79 |
+
# )
|
80 |
+
#
|
81 |
+
# except Exception:
|
82 |
+
# return False, "was not found on hub!", None
|
83 |
+
#
|
84 |
+
#
|
85 |
+
# def get_model_size(model_info: ModelInfo, precision: str):
|
86 |
+
# """Gets the model size from the configuration, or the model name if the configuration does not contain the information."""
|
87 |
+
# try:
|
88 |
+
# model_size = round(model_info.safetensors["total"] / 1e9, 3)
|
89 |
+
# except (AttributeError, TypeError):
|
90 |
+
# return 0 # Unknown model sizes are indicated as 0, see NUMERIC_INTERVALS in app.py
|
91 |
+
#
|
92 |
+
# size_factor = 8 if (precision == "GPTQ" or "gptq" in model_info.modelId.lower()) else 1
|
93 |
+
# model_size = size_factor * model_size
|
94 |
+
# return model_size
|
95 |
+
#
|
96 |
+
#
|
97 |
+
# def get_model_arch(model_info: ModelInfo):
|
98 |
+
# """Gets the model architecture from the configuration"""
|
99 |
+
# return model_info.config.get("architectures", "Unknown")
|
100 |
+
#
|
101 |
+
#
|
102 |
+
# def already_submitted_models(requested_models_dir: str) -> set[str]:
|
103 |
+
# """Gather a list of already submitted models to avoid duplicates"""
|
104 |
+
# depth = 1
|
105 |
+
# file_names = []
|
106 |
+
# users_to_submission_dates = defaultdict(list)
|
107 |
+
#
|
108 |
+
# for root, _, files in os.walk(requested_models_dir):
|
109 |
+
# current_depth = root.count(os.sep) - requested_models_dir.count(os.sep)
|
110 |
+
# if current_depth == depth:
|
111 |
+
# for file in files:
|
112 |
+
# if not file.endswith(".json"):
|
113 |
+
# continue
|
114 |
+
# with open(os.path.join(root, file)) as f:
|
115 |
+
# info = json.load(f)
|
116 |
+
# file_names.append(f"{info['model']}_{info['revision']}_{info['precision']}")
|
117 |
+
#
|
118 |
+
# # Select organisation
|
119 |
+
# if info["model"].count("/") == 0 or "submitted_time" not in info:
|
120 |
+
# continue
|
121 |
+
# organisation, _ = info["model"].split("/")
|
122 |
+
# users_to_submission_dates[organisation].append(info["submitted_time"])
|
123 |
+
#
|
124 |
+
# return set(file_names), users_to_submission_dates
|
src/encodechka/submission/submit.py
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# import json
|
2 |
+
# import os
|
3 |
+
# from datetime import datetime, timezone
|
4 |
+
#
|
5 |
+
# from ..display.formatting import styled_error, styled_message, styled_warning
|
6 |
+
# from ..envs import API, EVAL_REQUESTS_PATH, QUEUE_REPO, TOKEN
|
7 |
+
# from .check_validity import (
|
8 |
+
# already_submitted_models,
|
9 |
+
# check_model_card,
|
10 |
+
# get_model_size,
|
11 |
+
# is_model_on_hub,
|
12 |
+
# )
|
13 |
+
#
|
14 |
+
# REQUESTED_MODELS = None
|
15 |
+
# USERS_TO_SUBMISSION_DATES = None
|
16 |
+
#
|
17 |
+
#
|
18 |
+
# def add_new_eval(
|
19 |
+
# model: str,
|
20 |
+
# base_model: str,
|
21 |
+
# revision: str,
|
22 |
+
# precision: str,
|
23 |
+
# weight_type: str,
|
24 |
+
# model_type: str,
|
25 |
+
# ):
|
26 |
+
# global REQUESTED_MODELS
|
27 |
+
# global USERS_TO_SUBMISSION_DATES
|
28 |
+
# if not REQUESTED_MODELS:
|
29 |
+
# REQUESTED_MODELS, USERS_TO_SUBMISSION_DATES = already_submitted_models(EVAL_REQUESTS_PATH)
|
30 |
+
#
|
31 |
+
# user_name = ""
|
32 |
+
# model_path = model
|
33 |
+
# if "/" in model:
|
34 |
+
# user_name = model.split("/")[0]
|
35 |
+
# model_path = model.split("/")[1]
|
36 |
+
#
|
37 |
+
# precision = precision.split(" ")[0]
|
38 |
+
# current_time = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
39 |
+
#
|
40 |
+
# if model_type is None or model_type == "":
|
41 |
+
# return styled_error("Please select a model type.")
|
42 |
+
#
|
43 |
+
# # Does the model actually exist?
|
44 |
+
# if revision == "":
|
45 |
+
# revision = "main"
|
46 |
+
#
|
47 |
+
# # Is the model on the hub?
|
48 |
+
# if weight_type in ["Delta", "Adapter"]:
|
49 |
+
# base_model_on_hub, error, _ = is_model_on_hub(
|
50 |
+
# model_name=base_model, revision=revision, token=TOKEN, test_tokenizer=True
|
51 |
+
# )
|
52 |
+
# if not base_model_on_hub:
|
53 |
+
# return styled_error(f'Base model "{base_model}" {error}')
|
54 |
+
#
|
55 |
+
# if not weight_type == "Adapter":
|
56 |
+
# model_on_hub, error, _ = is_model_on_hub(model_name=model, revision=revision, token=TOKEN, test_tokenizer=True)
|
57 |
+
# if not model_on_hub:
|
58 |
+
# return styled_error(f'Model "{model}" {error}')
|
59 |
+
#
|
60 |
+
# # Is the model info correctly filled?
|
61 |
+
# try:
|
62 |
+
# model_info = API.model_info(repo_id=model, revision=revision)
|
63 |
+
# except Exception:
|
64 |
+
# return styled_error("Could not get your model information. Please fill it up properly.")
|
65 |
+
#
|
66 |
+
# model_size = get_model_size(model_info=model_info, precision=precision)
|
67 |
+
#
|
68 |
+
# # Were the model card and license filled?
|
69 |
+
# try:
|
70 |
+
# license = model_info.cardData["license"]
|
71 |
+
# except Exception:
|
72 |
+
# return styled_error("Please select a license for your model")
|
73 |
+
#
|
74 |
+
# modelcard_OK, error_msg = check_model_card(model)
|
75 |
+
# if not modelcard_OK:
|
76 |
+
# return styled_error(error_msg)
|
77 |
+
#
|
78 |
+
# # Seems good, creating the eval
|
79 |
+
# print("Adding new eval")
|
80 |
+
#
|
81 |
+
# eval_entry = {
|
82 |
+
# "model": model,
|
83 |
+
# "base_model": base_model,
|
84 |
+
# "revision": revision,
|
85 |
+
# "precision": precision,
|
86 |
+
# "weight_type": weight_type,
|
87 |
+
# "status": "PENDING",
|
88 |
+
# "submitted_time": current_time,
|
89 |
+
# "model_type": model_type,
|
90 |
+
# "likes": model_info.likes,
|
91 |
+
# "params": model_size,
|
92 |
+
# "license": license,
|
93 |
+
# "private": False,
|
94 |
+
# }
|
95 |
+
#
|
96 |
+
# # Check for duplicate submission
|
97 |
+
# if f"{model}_{revision}_{precision}" in REQUESTED_MODELS:
|
98 |
+
# return styled_warning("This model has been already submitted.")
|
99 |
+
#
|
100 |
+
# print("Creating eval file")
|
101 |
+
# OUT_DIR = f"{EVAL_REQUESTS_PATH}/{user_name}"
|
102 |
+
# os.makedirs(OUT_DIR, exist_ok=True)
|
103 |
+
# out_path = f"{OUT_DIR}/{model_path}_eval_request_False_{precision}_{weight_type}.json"
|
104 |
+
#
|
105 |
+
# with open(out_path, "w") as f:
|
106 |
+
# f.write(json.dumps(eval_entry))
|
107 |
+
#
|
108 |
+
# print("Uploading eval file")
|
109 |
+
# API.upload_file(
|
110 |
+
# path_or_fileobj=out_path,
|
111 |
+
# path_in_repo=out_path.split("eval-queue/")[1],
|
112 |
+
# repo_id=QUEUE_REPO,
|
113 |
+
# repo_type="dataset",
|
114 |
+
# commit_message=f"Add {model} to eval queue",
|
115 |
+
# )
|
116 |
+
#
|
117 |
+
# # Remove the local file
|
118 |
+
# os.remove(out_path)
|
119 |
+
#
|
120 |
+
# return styled_message(
|
121 |
+
# "Your request has been submitted to the evaluation queue!\nPlease wait for up to an hour for the model to show in the PENDING list."
|
122 |
+
# )
|
src/submission/check_validity.py
DELETED
@@ -1,99 +0,0 @@
|
|
1 |
-
import json
|
2 |
-
import os
|
3 |
-
import re
|
4 |
-
from collections import defaultdict
|
5 |
-
from datetime import datetime, timedelta, timezone
|
6 |
-
|
7 |
-
import huggingface_hub
|
8 |
-
from huggingface_hub import ModelCard
|
9 |
-
from huggingface_hub.hf_api import ModelInfo
|
10 |
-
from transformers import AutoConfig
|
11 |
-
from transformers.models.auto.tokenization_auto import AutoTokenizer
|
12 |
-
|
13 |
-
def check_model_card(repo_id: str) -> tuple[bool, str]:
|
14 |
-
"""Checks if the model card and license exist and have been filled"""
|
15 |
-
try:
|
16 |
-
card = ModelCard.load(repo_id)
|
17 |
-
except huggingface_hub.utils.EntryNotFoundError:
|
18 |
-
return False, "Please add a model card to your model to explain how you trained/fine-tuned it."
|
19 |
-
|
20 |
-
# Enforce license metadata
|
21 |
-
if card.data.license is None:
|
22 |
-
if not ("license_name" in card.data and "license_link" in card.data):
|
23 |
-
return False, (
|
24 |
-
"License not found. Please add a license to your model card using the `license` metadata or a"
|
25 |
-
" `license_name`/`license_link` pair."
|
26 |
-
)
|
27 |
-
|
28 |
-
# Enforce card content
|
29 |
-
if len(card.text) < 200:
|
30 |
-
return False, "Please add a description to your model card, it is too short."
|
31 |
-
|
32 |
-
return True, ""
|
33 |
-
|
34 |
-
def is_model_on_hub(model_name: str, revision: str, token: str = None, trust_remote_code=False, test_tokenizer=False) -> tuple[bool, str]:
|
35 |
-
"""Checks if the model model_name is on the hub, and whether it (and its tokenizer) can be loaded with AutoClasses."""
|
36 |
-
try:
|
37 |
-
config = AutoConfig.from_pretrained(model_name, revision=revision, trust_remote_code=trust_remote_code, token=token)
|
38 |
-
if test_tokenizer:
|
39 |
-
try:
|
40 |
-
tk = AutoTokenizer.from_pretrained(model_name, revision=revision, trust_remote_code=trust_remote_code, token=token)
|
41 |
-
except ValueError as e:
|
42 |
-
return (
|
43 |
-
False,
|
44 |
-
f"uses a tokenizer which is not in a transformers release: {e}",
|
45 |
-
None
|
46 |
-
)
|
47 |
-
except Exception as e:
|
48 |
-
return (False, "'s tokenizer cannot be loaded. Is your tokenizer class in a stable transformers release, and correctly configured?", None)
|
49 |
-
return True, None, config
|
50 |
-
|
51 |
-
except ValueError:
|
52 |
-
return (
|
53 |
-
False,
|
54 |
-
"needs to be launched with `trust_remote_code=True`. For safety reason, we do not allow these models to be automatically submitted to the leaderboard.",
|
55 |
-
None
|
56 |
-
)
|
57 |
-
|
58 |
-
except Exception as e:
|
59 |
-
return False, "was not found on hub!", None
|
60 |
-
|
61 |
-
|
62 |
-
def get_model_size(model_info: ModelInfo, precision: str):
|
63 |
-
"""Gets the model size from the configuration, or the model name if the configuration does not contain the information."""
|
64 |
-
try:
|
65 |
-
model_size = round(model_info.safetensors["total"] / 1e9, 3)
|
66 |
-
except (AttributeError, TypeError):
|
67 |
-
return 0 # Unknown model sizes are indicated as 0, see NUMERIC_INTERVALS in app.py
|
68 |
-
|
69 |
-
size_factor = 8 if (precision == "GPTQ" or "gptq" in model_info.modelId.lower()) else 1
|
70 |
-
model_size = size_factor * model_size
|
71 |
-
return model_size
|
72 |
-
|
73 |
-
def get_model_arch(model_info: ModelInfo):
|
74 |
-
"""Gets the model architecture from the configuration"""
|
75 |
-
return model_info.config.get("architectures", "Unknown")
|
76 |
-
|
77 |
-
def already_submitted_models(requested_models_dir: str) -> set[str]:
|
78 |
-
"""Gather a list of already submitted models to avoid duplicates"""
|
79 |
-
depth = 1
|
80 |
-
file_names = []
|
81 |
-
users_to_submission_dates = defaultdict(list)
|
82 |
-
|
83 |
-
for root, _, files in os.walk(requested_models_dir):
|
84 |
-
current_depth = root.count(os.sep) - requested_models_dir.count(os.sep)
|
85 |
-
if current_depth == depth:
|
86 |
-
for file in files:
|
87 |
-
if not file.endswith(".json"):
|
88 |
-
continue
|
89 |
-
with open(os.path.join(root, file), "r") as f:
|
90 |
-
info = json.load(f)
|
91 |
-
file_names.append(f"{info['model']}_{info['revision']}_{info['precision']}")
|
92 |
-
|
93 |
-
# Select organisation
|
94 |
-
if info["model"].count("/") == 0 or "submitted_time" not in info:
|
95 |
-
continue
|
96 |
-
organisation, _ = info["model"].split("/")
|
97 |
-
users_to_submission_dates[organisation].append(info["submitted_time"])
|
98 |
-
|
99 |
-
return set(file_names), users_to_submission_dates
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/submission/submit.py
DELETED
@@ -1,119 +0,0 @@
|
|
1 |
-
import json
|
2 |
-
import os
|
3 |
-
from datetime import datetime, timezone
|
4 |
-
|
5 |
-
from src.display.formatting import styled_error, styled_message, styled_warning
|
6 |
-
from src.envs import API, EVAL_REQUESTS_PATH, TOKEN, QUEUE_REPO
|
7 |
-
from src.submission.check_validity import (
|
8 |
-
already_submitted_models,
|
9 |
-
check_model_card,
|
10 |
-
get_model_size,
|
11 |
-
is_model_on_hub,
|
12 |
-
)
|
13 |
-
|
14 |
-
REQUESTED_MODELS = None
|
15 |
-
USERS_TO_SUBMISSION_DATES = None
|
16 |
-
|
17 |
-
def add_new_eval(
|
18 |
-
model: str,
|
19 |
-
base_model: str,
|
20 |
-
revision: str,
|
21 |
-
precision: str,
|
22 |
-
weight_type: str,
|
23 |
-
model_type: str,
|
24 |
-
):
|
25 |
-
global REQUESTED_MODELS
|
26 |
-
global USERS_TO_SUBMISSION_DATES
|
27 |
-
if not REQUESTED_MODELS:
|
28 |
-
REQUESTED_MODELS, USERS_TO_SUBMISSION_DATES = already_submitted_models(EVAL_REQUESTS_PATH)
|
29 |
-
|
30 |
-
user_name = ""
|
31 |
-
model_path = model
|
32 |
-
if "/" in model:
|
33 |
-
user_name = model.split("/")[0]
|
34 |
-
model_path = model.split("/")[1]
|
35 |
-
|
36 |
-
precision = precision.split(" ")[0]
|
37 |
-
current_time = datetime.now(timezone.utc).strftime("%Y-%m-%dT%H:%M:%SZ")
|
38 |
-
|
39 |
-
if model_type is None or model_type == "":
|
40 |
-
return styled_error("Please select a model type.")
|
41 |
-
|
42 |
-
# Does the model actually exist?
|
43 |
-
if revision == "":
|
44 |
-
revision = "main"
|
45 |
-
|
46 |
-
# Is the model on the hub?
|
47 |
-
if weight_type in ["Delta", "Adapter"]:
|
48 |
-
base_model_on_hub, error, _ = is_model_on_hub(model_name=base_model, revision=revision, token=TOKEN, test_tokenizer=True)
|
49 |
-
if not base_model_on_hub:
|
50 |
-
return styled_error(f'Base model "{base_model}" {error}')
|
51 |
-
|
52 |
-
if not weight_type == "Adapter":
|
53 |
-
model_on_hub, error, _ = is_model_on_hub(model_name=model, revision=revision, token=TOKEN, test_tokenizer=True)
|
54 |
-
if not model_on_hub:
|
55 |
-
return styled_error(f'Model "{model}" {error}')
|
56 |
-
|
57 |
-
# Is the model info correctly filled?
|
58 |
-
try:
|
59 |
-
model_info = API.model_info(repo_id=model, revision=revision)
|
60 |
-
except Exception:
|
61 |
-
return styled_error("Could not get your model information. Please fill it up properly.")
|
62 |
-
|
63 |
-
model_size = get_model_size(model_info=model_info, precision=precision)
|
64 |
-
|
65 |
-
# Were the model card and license filled?
|
66 |
-
try:
|
67 |
-
license = model_info.cardData["license"]
|
68 |
-
except Exception:
|
69 |
-
return styled_error("Please select a license for your model")
|
70 |
-
|
71 |
-
modelcard_OK, error_msg = check_model_card(model)
|
72 |
-
if not modelcard_OK:
|
73 |
-
return styled_error(error_msg)
|
74 |
-
|
75 |
-
# Seems good, creating the eval
|
76 |
-
print("Adding new eval")
|
77 |
-
|
78 |
-
eval_entry = {
|
79 |
-
"model": model,
|
80 |
-
"base_model": base_model,
|
81 |
-
"revision": revision,
|
82 |
-
"precision": precision,
|
83 |
-
"weight_type": weight_type,
|
84 |
-
"status": "PENDING",
|
85 |
-
"submitted_time": current_time,
|
86 |
-
"model_type": model_type,
|
87 |
-
"likes": model_info.likes,
|
88 |
-
"params": model_size,
|
89 |
-
"license": license,
|
90 |
-
"private": False,
|
91 |
-
}
|
92 |
-
|
93 |
-
# Check for duplicate submission
|
94 |
-
if f"{model}_{revision}_{precision}" in REQUESTED_MODELS:
|
95 |
-
return styled_warning("This model has been already submitted.")
|
96 |
-
|
97 |
-
print("Creating eval file")
|
98 |
-
OUT_DIR = f"{EVAL_REQUESTS_PATH}/{user_name}"
|
99 |
-
os.makedirs(OUT_DIR, exist_ok=True)
|
100 |
-
out_path = f"{OUT_DIR}/{model_path}_eval_request_False_{precision}_{weight_type}.json"
|
101 |
-
|
102 |
-
with open(out_path, "w") as f:
|
103 |
-
f.write(json.dumps(eval_entry))
|
104 |
-
|
105 |
-
print("Uploading eval file")
|
106 |
-
API.upload_file(
|
107 |
-
path_or_fileobj=out_path,
|
108 |
-
path_in_repo=out_path.split("eval-queue/")[1],
|
109 |
-
repo_id=QUEUE_REPO,
|
110 |
-
repo_type="dataset",
|
111 |
-
commit_message=f"Add {model} to eval queue",
|
112 |
-
)
|
113 |
-
|
114 |
-
# Remove the local file
|
115 |
-
os.remove(out_path)
|
116 |
-
|
117 |
-
return styled_message(
|
118 |
-
"Your request has been submitted to the evaluation queue!\nPlease wait for up to an hour for the model to show in the PENDING list."
|
119 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/__init__.py
ADDED
File without changes
|