David Pomerenke
commited on
Commit
Β·
63202a2
1
Parent(s):
af1752f
Basic Gradio setup
Browse files- CNAME +0 -1
- README.md +16 -3
- app.py +76 -0
- {src/data β data}/data.txt +0 -0
- {src/data β data}/languages.rq +0 -0
- {src/data β data}/languages.tsv +0 -0
- src/data/languagebench.json.py β evals.py +25 -30
- src/components/language-chart.js β language-chart.js +0 -0
- observablehq.config.js +0 -34
- package-lock.json +0 -0
- package.json +0 -22
- pyproject.toml +8 -3
- requirements.txt +156 -0
- results.json +78 -0
- src/.gitignore +0 -1
- src/compare-ai-models.md +0 -65
- src/compare-languages.md +0 -20
- src/index.md +0 -53
- src/methodology.md +0 -12
- upload.py +0 -21
- uv.lock +506 -82
CNAME
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
languagebench.bmz.dev
|
|
|
|
README.md
CHANGED
@@ -3,13 +3,26 @@ title: AI Language Monitor
|
|
3 |
emoji: π
|
4 |
colorFrom: purple
|
5 |
colorTo: pink
|
6 |
-
sdk:
|
7 |
-
pinned: false
|
8 |
license: mit
|
9 |
short_description: Evaluating LLM performance across all human languages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
---
|
11 |
|
12 |
-
<!--
|
|
|
|
|
|
|
|
|
13 |
|
14 |
# AI Language Monitor π
|
15 |
|
|
|
3 |
emoji: π
|
4 |
colorFrom: purple
|
5 |
colorTo: pink
|
6 |
+
sdk: gradio
|
|
|
7 |
license: mit
|
8 |
short_description: Evaluating LLM performance across all human languages.
|
9 |
+
tags:
|
10 |
+
- leaderboard
|
11 |
+
- submission:manual
|
12 |
+
- test:public
|
13 |
+
- judge:auto
|
14 |
+
- modality:text
|
15 |
+
- modality:artefacts
|
16 |
+
- eval:generation
|
17 |
+
- language:English
|
18 |
+
- language:German
|
19 |
---
|
20 |
|
21 |
+
<!--
|
22 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
23 |
+
For tag meaning, see https://huggingface.co/spaces/leaderboards/LeaderboardsExplorer
|
24 |
+
-->
|
25 |
+
|
26 |
|
27 |
# AI Language Monitor π
|
28 |
|
app.py
ADDED
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import gradio as gr
|
2 |
+
import json
|
3 |
+
import pandas as pd
|
4 |
+
import plotly.graph_objects as go
|
5 |
+
|
6 |
+
# Load and process results
|
7 |
+
with open("results.json") as f:
|
8 |
+
results = json.load(f)
|
9 |
+
|
10 |
+
def create_model_comparison_plot(results):
|
11 |
+
# Extract all unique models
|
12 |
+
models = set()
|
13 |
+
for lang in results:
|
14 |
+
for score in lang["scores"]:
|
15 |
+
models.add(score["model"])
|
16 |
+
models = list(models)
|
17 |
+
|
18 |
+
# Create traces for each model
|
19 |
+
traces = []
|
20 |
+
for model in models:
|
21 |
+
x_vals = [] # languages
|
22 |
+
y_vals = [] # BLEU scores
|
23 |
+
|
24 |
+
for lang in results:
|
25 |
+
model_score = next((s["bleu"] for s in lang["scores"] if s["model"] == model), None)
|
26 |
+
if model_score is not None:
|
27 |
+
x_vals.append(lang["language_name"])
|
28 |
+
y_vals.append(model_score)
|
29 |
+
|
30 |
+
traces.append(go.Bar(
|
31 |
+
name=model.split('/')[-1],
|
32 |
+
x=x_vals,
|
33 |
+
y=y_vals,
|
34 |
+
))
|
35 |
+
|
36 |
+
fig = go.Figure(data=traces)
|
37 |
+
fig.update_layout(
|
38 |
+
title="BLEU Scores by Model and Language",
|
39 |
+
xaxis_title="Language",
|
40 |
+
yaxis_title="BLEU Score",
|
41 |
+
barmode='group',
|
42 |
+
height=500
|
43 |
+
)
|
44 |
+
return fig
|
45 |
+
|
46 |
+
def create_results_df(results):
|
47 |
+
# Create a list to store flattened data
|
48 |
+
flat_data = []
|
49 |
+
|
50 |
+
for lang in results:
|
51 |
+
row = {
|
52 |
+
"Language": lang["language_name"],
|
53 |
+
"Speakers (M)": round(lang["speakers"] / 1_000_000, 1),
|
54 |
+
"Average BLEU": round(lang["bleu"], 3),
|
55 |
+
}
|
56 |
+
# Add individual model scores
|
57 |
+
for score in lang["scores"]:
|
58 |
+
model_name = score["model"].split('/')[-1]
|
59 |
+
row[f"{model_name} BLEU"] = round(score["bleu"], 3)
|
60 |
+
|
61 |
+
flat_data.append(row)
|
62 |
+
|
63 |
+
return pd.DataFrame(flat_data)
|
64 |
+
|
65 |
+
# Create the visualization components
|
66 |
+
with gr.Blocks(title="AI Language Translation Benchmark") as demo:
|
67 |
+
gr.Markdown("# AI Language Translation Benchmark")
|
68 |
+
gr.Markdown("Comparing translation performance across different AI models and languages")
|
69 |
+
|
70 |
+
df = create_results_df(results)
|
71 |
+
plot = create_model_comparison_plot(results)
|
72 |
+
|
73 |
+
gr.DataFrame(value=df, label="Translation Results")
|
74 |
+
gr.Plot(value=plot, label="Model Comparison")
|
75 |
+
|
76 |
+
demo.launch()
|
{src/data β data}/data.txt
RENAMED
File without changes
|
{src/data β data}/languages.rq
RENAMED
File without changes
|
{src/data β data}/languages.tsv
RENAMED
File without changes
|
src/data/languagebench.json.py β evals.py
RENAMED
@@ -1,9 +1,7 @@
|
|
1 |
import asyncio
|
2 |
import json
|
3 |
import os
|
4 |
-
import sys
|
5 |
from os import getenv
|
6 |
-
from pathlib import Path
|
7 |
|
8 |
import evaluate
|
9 |
import pandas as pd
|
@@ -21,7 +19,7 @@ models = [
|
|
21 |
"anthropic/claude-3.5-haiku",
|
22 |
# "meta-llama/llama-3.1-405b-instruct", # lots of slow repetitions for LRLs
|
23 |
# "mistralai/mistral-large",
|
24 |
-
|
25 |
# "qwen/qwen-2.5-72b-instruct", # somewhat slow
|
26 |
]
|
27 |
fast_model = "anthropic/claude-3.5-haiku"
|
@@ -46,8 +44,7 @@ def reorder(language_name):
|
|
46 |
return language_name
|
47 |
|
48 |
# load benchmark languages and scripts
|
49 |
-
|
50 |
-
benchmark_dir = data / "floresp-v2.0-rc.3/dev"
|
51 |
benchmark_languages = pd.DataFrame(
|
52 |
[f.split(".")[1].split("_", 1) for f in os.listdir(benchmark_dir)],
|
53 |
columns=["language_code", "script_code"],
|
@@ -58,7 +55,7 @@ benchmark_languages["in_benchmark"] = True
|
|
58 |
|
59 |
# load Ethnologue language names
|
60 |
language_names = (
|
61 |
-
pd.read_csv(data
|
62 |
.rename(columns={"LangID": "language_code", "Name": "language_name"})[
|
63 |
["language_code", "language_name"]
|
64 |
]
|
@@ -67,7 +64,7 @@ language_names = (
|
|
67 |
|
68 |
# load Wikidata speaker stats
|
69 |
language_stats = (
|
70 |
-
pd.read_csv(data
|
71 |
.rename(columns={"iso639_3": "language_code", "maxSpeakers": "speakers"})[
|
72 |
["language_code", "speakers"]
|
73 |
]
|
@@ -86,7 +83,7 @@ language_stats = language_stats[
|
|
86 |
]
|
87 |
|
88 |
# load unicode script names
|
89 |
-
script_names = pd.read_csv(data
|
90 |
columns={"Code": "script_code", "English Name": "script_name"}
|
91 |
)[["script_code", "script_name"]]
|
92 |
|
@@ -96,15 +93,15 @@ languages = pd.merge(benchmark_languages, languages, on="language_code", how="ou
|
|
96 |
languages = pd.merge(languages, script_names, on="script_code", how="left")
|
97 |
languages["in_benchmark"] = languages["in_benchmark"].fillna(False)
|
98 |
languages = languages.sort_values(by="speakers", ascending=False)
|
|
|
99 |
|
100 |
-
# sample languages to translate
|
101 |
-
|
102 |
-
|
103 |
-
n=n_sentences * 2, weights="speakers", replace=True, random_state=42
|
104 |
)
|
105 |
# sample languages to analyze with all models
|
106 |
-
|
107 |
-
n=
|
108 |
)
|
109 |
|
110 |
|
@@ -162,42 +159,39 @@ def load_sentences(language):
|
|
162 |
# evaluation!
|
163 |
async def main():
|
164 |
results = []
|
165 |
-
for language in list(languages.itertuples())
|
166 |
name = (
|
167 |
language.language_name
|
168 |
if not pd.isna(language.language_name)
|
169 |
else language.language_code
|
170 |
)
|
171 |
-
print(name
|
172 |
scores = []
|
173 |
if language.in_benchmark:
|
174 |
-
|
175 |
for model in models:
|
176 |
if (
|
177 |
model != fast_model
|
178 |
and language.language_code
|
179 |
-
not in
|
180 |
):
|
181 |
continue
|
182 |
-
|
183 |
-
|
184 |
-
original_languages.language_code != language.language_code
|
185 |
-
].iloc[:n_sentences]
|
186 |
-
original_sentences = [
|
187 |
-
load_sentences(lang)[i]
|
188 |
-
for i, lang in enumerate(_original_languages.itertuples())
|
189 |
-
]
|
190 |
-
print(model, file=sys.stderr)
|
191 |
predictions = [
|
192 |
translate(
|
193 |
model, language.language_name, language.script_name, sentence
|
194 |
)
|
195 |
-
for sentence in
|
196 |
]
|
197 |
predictions = await tqdm_asyncio.gather(*predictions, miniters=1)
|
|
|
|
|
|
|
|
|
198 |
metrics_bleu = bleu.compute(
|
199 |
predictions=predictions,
|
200 |
-
references=
|
201 |
tokenizer=tokenizer.tokenize,
|
202 |
)
|
203 |
# metrics_bert = bertscore.compute(
|
@@ -222,7 +216,8 @@ async def main():
|
|
222 |
# "bert_score": mean([s["bert_score"] for s in scores]),
|
223 |
}
|
224 |
)
|
225 |
-
|
|
|
226 |
|
227 |
|
228 |
if __name__ == "__main__":
|
|
|
1 |
import asyncio
|
2 |
import json
|
3 |
import os
|
|
|
4 |
from os import getenv
|
|
|
5 |
|
6 |
import evaluate
|
7 |
import pandas as pd
|
|
|
19 |
"anthropic/claude-3.5-haiku",
|
20 |
# "meta-llama/llama-3.1-405b-instruct", # lots of slow repetitions for LRLs
|
21 |
# "mistralai/mistral-large",
|
22 |
+
"google/gemini-flash-1.5", # very fast
|
23 |
# "qwen/qwen-2.5-72b-instruct", # somewhat slow
|
24 |
]
|
25 |
fast_model = "anthropic/claude-3.5-haiku"
|
|
|
44 |
return language_name
|
45 |
|
46 |
# load benchmark languages and scripts
|
47 |
+
benchmark_dir = "data/floresp-v2.0-rc.3/dev"
|
|
|
48 |
benchmark_languages = pd.DataFrame(
|
49 |
[f.split(".")[1].split("_", 1) for f in os.listdir(benchmark_dir)],
|
50 |
columns=["language_code", "script_code"],
|
|
|
55 |
|
56 |
# load Ethnologue language names
|
57 |
language_names = (
|
58 |
+
pd.read_csv("data/LanguageCodes.tab", sep="\t")
|
59 |
.rename(columns={"LangID": "language_code", "Name": "language_name"})[
|
60 |
["language_code", "language_name"]
|
61 |
]
|
|
|
64 |
|
65 |
# load Wikidata speaker stats
|
66 |
language_stats = (
|
67 |
+
pd.read_csv("data/languages.tsv", sep="\t")
|
68 |
.rename(columns={"iso639_3": "language_code", "maxSpeakers": "speakers"})[
|
69 |
["language_code", "speakers"]
|
70 |
]
|
|
|
83 |
]
|
84 |
|
85 |
# load unicode script names
|
86 |
+
script_names = pd.read_csv("data/ScriptCodes.csv").rename(
|
87 |
columns={"Code": "script_code", "English Name": "script_name"}
|
88 |
)[["script_code", "script_name"]]
|
89 |
|
|
|
93 |
languages = pd.merge(languages, script_names, on="script_code", how="left")
|
94 |
languages["in_benchmark"] = languages["in_benchmark"].fillna(False)
|
95 |
languages = languages.sort_values(by="speakers", ascending=False)
|
96 |
+
languages = languages.iloc[:5]
|
97 |
|
98 |
+
# sample languages to translate to
|
99 |
+
target_languages_NEW = languages[languages["in_benchmark"]].sample(
|
100 |
+
n=n_sentences, weights="speakers", replace=True, random_state=42
|
|
|
101 |
)
|
102 |
# sample languages to analyze with all models
|
103 |
+
detailed_languages = languages[languages["in_benchmark"]].sample(
|
104 |
+
n=2, random_state=42
|
105 |
)
|
106 |
|
107 |
|
|
|
159 |
# evaluation!
|
160 |
async def main():
|
161 |
results = []
|
162 |
+
for language in list(languages.itertuples()):
|
163 |
name = (
|
164 |
language.language_name
|
165 |
if not pd.isna(language.language_name)
|
166 |
else language.language_code
|
167 |
)
|
168 |
+
print(name)
|
169 |
scores = []
|
170 |
if language.in_benchmark:
|
171 |
+
original_sentences_NEW = load_sentences(language)[:n_sentences]
|
172 |
for model in models:
|
173 |
if (
|
174 |
model != fast_model
|
175 |
and language.language_code
|
176 |
+
not in detailed_languages.language_code.values
|
177 |
):
|
178 |
continue
|
179 |
+
|
180 |
+
print(model)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
predictions = [
|
182 |
translate(
|
183 |
model, language.language_name, language.script_name, sentence
|
184 |
)
|
185 |
+
for sentence, language in zip(original_sentences_NEW, target_languages_NEW.itertuples())
|
186 |
]
|
187 |
predictions = await tqdm_asyncio.gather(*predictions, miniters=1)
|
188 |
+
target_sentences_NEW = [
|
189 |
+
load_sentences(lang)[i]
|
190 |
+
for i, lang in enumerate(target_languages_NEW.itertuples())
|
191 |
+
]
|
192 |
metrics_bleu = bleu.compute(
|
193 |
predictions=predictions,
|
194 |
+
references=target_sentences_NEW,
|
195 |
tokenizer=tokenizer.tokenize,
|
196 |
)
|
197 |
# metrics_bert = bertscore.compute(
|
|
|
216 |
# "bert_score": mean([s["bert_score"] for s in scores]),
|
217 |
}
|
218 |
)
|
219 |
+
with open("results.json", "w") as f:
|
220 |
+
json.dump(results, f, indent=2, ensure_ascii=False)
|
221 |
|
222 |
|
223 |
if __name__ == "__main__":
|
src/components/language-chart.js β language-chart.js
RENAMED
File without changes
|
observablehq.config.js
DELETED
@@ -1,34 +0,0 @@
|
|
1 |
-
// See https://observablehq.com/framework/config for documentation.
|
2 |
-
export default {
|
3 |
-
// The appβs title; used in the sidebar and webpage titles.
|
4 |
-
title: "AI Language Monitor",
|
5 |
-
|
6 |
-
// The pages and sections in the sidebar. If you donβt specify this option,
|
7 |
-
// all pages will be listed in alphabetical order. Listing pages explicitly
|
8 |
-
// lets you organize them into sections and have unlisted pages.
|
9 |
-
pages: [
|
10 |
-
{ name: "Compare Languages", path: "/compare-languages" },
|
11 |
-
{ name: "Compare AI Models", path: "/compare-ai-models" },
|
12 |
-
{ name: "Methodology", path: "/methodology" },
|
13 |
-
],
|
14 |
-
|
15 |
-
// Content to add to the head of the page, e.g. for a favicon:
|
16 |
-
head: '<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22 fill=%22black%22>π</text></svg>">',
|
17 |
-
|
18 |
-
// The path to the source root.
|
19 |
-
root: "src",
|
20 |
-
|
21 |
-
// Some additional configuration options and their defaults:
|
22 |
-
// theme: "default", // try "light", "dark", "slate", etc.
|
23 |
-
// header: "", // what to show in the header (HTML)
|
24 |
-
// footer: "Built with Observable.", // what to show in the footer (HTML)
|
25 |
-
// sidebar: true, // whether to show the sidebar
|
26 |
-
// toc: true, // whether to show the table of contents
|
27 |
-
// pager: true, // whether to show previous & next links in the footer
|
28 |
-
// output: "dist", // path to the output root for build
|
29 |
-
// search: true, // activate search
|
30 |
-
// linkify: true, // convert URLs in Markdown to links
|
31 |
-
// typographer: false, // smart quotes and other typographic improvements
|
32 |
-
// preserveExtension: false, // drop .html from URLs
|
33 |
-
// preserveIndex: false, // drop /index from URLs
|
34 |
-
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package-lock.json
DELETED
The diff for this file is too large to render.
See raw diff
|
|
package.json
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"type": "module",
|
3 |
-
"private": true,
|
4 |
-
"scripts": {
|
5 |
-
"clean": "rimraf src/.observablehq/cache",
|
6 |
-
"build": "observable build",
|
7 |
-
"dev": "observable preview",
|
8 |
-
"deploy": "observable deploy",
|
9 |
-
"observable": "observable"
|
10 |
-
},
|
11 |
-
"dependencies": {
|
12 |
-
"@observablehq/framework": "^1.13.2",
|
13 |
-
"d3-dsv": "^3.0.1",
|
14 |
-
"d3-time-format": "^4.1.0"
|
15 |
-
},
|
16 |
-
"devDependencies": {
|
17 |
-
"rimraf": "^5.0.5"
|
18 |
-
},
|
19 |
-
"engines": {
|
20 |
-
"node": ">=18"
|
21 |
-
}
|
22 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pyproject.toml
CHANGED
@@ -5,13 +5,18 @@ description = "Add your description here"
|
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.10"
|
7 |
dependencies = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
"aiolimiter>=1.1.0",
|
9 |
"bert-score>=0.3.13",
|
10 |
-
"evaluate
|
11 |
"joblib>=1.4.2",
|
12 |
-
"nltk>=3.9.1",
|
13 |
"openai>=1.52.2",
|
14 |
-
"pandas>=2.2.3",
|
15 |
"protobuf>=5.28.3",
|
16 |
"python-dotenv>=1.0.1",
|
17 |
"sacrebleu>=2.4.3",
|
|
|
5 |
readme = "README.md"
|
6 |
requires-python = ">=3.10"
|
7 |
dependencies = [
|
8 |
+
"gradio>=5.16.2",
|
9 |
+
"pandas>=2.2.3",
|
10 |
+
"plotly>=6.0.0",
|
11 |
+
]
|
12 |
+
|
13 |
+
[tool.uv]
|
14 |
+
dev-dependencies = [
|
15 |
"aiolimiter>=1.1.0",
|
16 |
"bert-score>=0.3.13",
|
17 |
+
"evaluate==0.4.0",
|
18 |
"joblib>=1.4.2",
|
|
|
19 |
"openai>=1.52.2",
|
|
|
20 |
"protobuf>=5.28.3",
|
21 |
"python-dotenv>=1.0.1",
|
22 |
"sacrebleu>=2.4.3",
|
requirements.txt
ADDED
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# This file was autogenerated by uv via the following command:
|
2 |
+
# uv pip compile pyproject.toml -o requirements.txt
|
3 |
+
aiofiles==23.2.1
|
4 |
+
# via gradio
|
5 |
+
annotated-types==0.7.0
|
6 |
+
# via pydantic
|
7 |
+
anyio==4.8.0
|
8 |
+
# via
|
9 |
+
# gradio
|
10 |
+
# httpx
|
11 |
+
# starlette
|
12 |
+
certifi==2025.1.31
|
13 |
+
# via
|
14 |
+
# httpcore
|
15 |
+
# httpx
|
16 |
+
# requests
|
17 |
+
charset-normalizer==3.4.1
|
18 |
+
# via requests
|
19 |
+
click==8.1.8
|
20 |
+
# via
|
21 |
+
# typer
|
22 |
+
# uvicorn
|
23 |
+
exceptiongroup==1.2.2
|
24 |
+
# via anyio
|
25 |
+
fastapi==0.115.8
|
26 |
+
# via gradio
|
27 |
+
ffmpy==0.5.0
|
28 |
+
# via gradio
|
29 |
+
filelock==3.17.0
|
30 |
+
# via huggingface-hub
|
31 |
+
fsspec==2025.2.0
|
32 |
+
# via
|
33 |
+
# gradio-client
|
34 |
+
# huggingface-hub
|
35 |
+
gradio==5.16.2
|
36 |
+
# via languagebench (pyproject.toml)
|
37 |
+
gradio-client==1.7.1
|
38 |
+
# via gradio
|
39 |
+
h11==0.14.0
|
40 |
+
# via
|
41 |
+
# httpcore
|
42 |
+
# uvicorn
|
43 |
+
httpcore==1.0.7
|
44 |
+
# via httpx
|
45 |
+
httpx==0.28.1
|
46 |
+
# via
|
47 |
+
# gradio
|
48 |
+
# gradio-client
|
49 |
+
# safehttpx
|
50 |
+
huggingface-hub==0.29.1
|
51 |
+
# via
|
52 |
+
# gradio
|
53 |
+
# gradio-client
|
54 |
+
idna==3.10
|
55 |
+
# via
|
56 |
+
# anyio
|
57 |
+
# httpx
|
58 |
+
# requests
|
59 |
+
jinja2==3.1.5
|
60 |
+
# via gradio
|
61 |
+
markdown-it-py==3.0.0
|
62 |
+
# via rich
|
63 |
+
markupsafe==2.1.5
|
64 |
+
# via
|
65 |
+
# gradio
|
66 |
+
# jinja2
|
67 |
+
mdurl==0.1.2
|
68 |
+
# via markdown-it-py
|
69 |
+
narwhals==1.27.1
|
70 |
+
# via plotly
|
71 |
+
numpy==2.2.3
|
72 |
+
# via
|
73 |
+
# gradio
|
74 |
+
# pandas
|
75 |
+
orjson==3.10.15
|
76 |
+
# via gradio
|
77 |
+
packaging==24.2
|
78 |
+
# via
|
79 |
+
# gradio
|
80 |
+
# gradio-client
|
81 |
+
# huggingface-hub
|
82 |
+
# plotly
|
83 |
+
pandas==2.2.3
|
84 |
+
# via
|
85 |
+
# languagebench (pyproject.toml)
|
86 |
+
# gradio
|
87 |
+
pillow==11.1.0
|
88 |
+
# via gradio
|
89 |
+
plotly==6.0.0
|
90 |
+
# via languagebench (pyproject.toml)
|
91 |
+
pydantic==2.10.6
|
92 |
+
# via
|
93 |
+
# fastapi
|
94 |
+
# gradio
|
95 |
+
pydantic-core==2.27.2
|
96 |
+
# via pydantic
|
97 |
+
pydub==0.25.1
|
98 |
+
# via gradio
|
99 |
+
pygments==2.19.1
|
100 |
+
# via rich
|
101 |
+
python-dateutil==2.9.0.post0
|
102 |
+
# via pandas
|
103 |
+
python-multipart==0.0.20
|
104 |
+
# via gradio
|
105 |
+
pytz==2025.1
|
106 |
+
# via pandas
|
107 |
+
pyyaml==6.0.2
|
108 |
+
# via
|
109 |
+
# gradio
|
110 |
+
# huggingface-hub
|
111 |
+
requests==2.32.3
|
112 |
+
# via huggingface-hub
|
113 |
+
rich==13.9.4
|
114 |
+
# via typer
|
115 |
+
ruff==0.9.7
|
116 |
+
# via gradio
|
117 |
+
safehttpx==0.1.6
|
118 |
+
# via gradio
|
119 |
+
semantic-version==2.10.0
|
120 |
+
# via gradio
|
121 |
+
shellingham==1.5.4
|
122 |
+
# via typer
|
123 |
+
six==1.17.0
|
124 |
+
# via python-dateutil
|
125 |
+
sniffio==1.3.1
|
126 |
+
# via anyio
|
127 |
+
starlette==0.45.3
|
128 |
+
# via
|
129 |
+
# fastapi
|
130 |
+
# gradio
|
131 |
+
tomlkit==0.13.2
|
132 |
+
# via gradio
|
133 |
+
tqdm==4.67.1
|
134 |
+
# via huggingface-hub
|
135 |
+
typer==0.15.1
|
136 |
+
# via gradio
|
137 |
+
typing-extensions==4.12.2
|
138 |
+
# via
|
139 |
+
# anyio
|
140 |
+
# fastapi
|
141 |
+
# gradio
|
142 |
+
# gradio-client
|
143 |
+
# huggingface-hub
|
144 |
+
# pydantic
|
145 |
+
# pydantic-core
|
146 |
+
# rich
|
147 |
+
# typer
|
148 |
+
# uvicorn
|
149 |
+
tzdata==2025.1
|
150 |
+
# via pandas
|
151 |
+
urllib3==2.3.0
|
152 |
+
# via requests
|
153 |
+
uvicorn==0.34.0
|
154 |
+
# via gradio
|
155 |
+
websockets==14.2
|
156 |
+
# via gradio-client
|
results.json
ADDED
@@ -0,0 +1,78 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"language_name": "English",
|
4 |
+
"language_code": "eng",
|
5 |
+
"speakers": 1132366680.0,
|
6 |
+
"scores": [
|
7 |
+
{
|
8 |
+
"model": "anthropic/claude-3.5-haiku",
|
9 |
+
"bleu": 0.5911781645744415
|
10 |
+
}
|
11 |
+
],
|
12 |
+
"bleu": 0.5911781645744415
|
13 |
+
},
|
14 |
+
{
|
15 |
+
"language_name": "Mandarin Chinese",
|
16 |
+
"language_code": "cmn",
|
17 |
+
"speakers": 1074000000.0,
|
18 |
+
"scores": [
|
19 |
+
{
|
20 |
+
"model": "openai/gpt-4o-mini",
|
21 |
+
"bleu": 0.5423652619241204
|
22 |
+
},
|
23 |
+
{
|
24 |
+
"model": "anthropic/claude-3.5-haiku",
|
25 |
+
"bleu": 0.4734856962747124
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"model": "google/gemini-flash-1.5",
|
29 |
+
"bleu": 0.430570062499388
|
30 |
+
}
|
31 |
+
],
|
32 |
+
"bleu": 0.4821403402327402
|
33 |
+
},
|
34 |
+
{
|
35 |
+
"language_name": "Spanish",
|
36 |
+
"language_code": "spa",
|
37 |
+
"speakers": 485000000.0,
|
38 |
+
"scores": [
|
39 |
+
{
|
40 |
+
"model": "anthropic/claude-3.5-haiku",
|
41 |
+
"bleu": 0.4131404308980914
|
42 |
+
}
|
43 |
+
],
|
44 |
+
"bleu": 0.4131404308980914
|
45 |
+
},
|
46 |
+
{
|
47 |
+
"language_name": "Hindi",
|
48 |
+
"language_code": "hin",
|
49 |
+
"speakers": 341000000.0,
|
50 |
+
"scores": [
|
51 |
+
{
|
52 |
+
"model": "anthropic/claude-3.5-haiku",
|
53 |
+
"bleu": 0.3710125447937959
|
54 |
+
}
|
55 |
+
],
|
56 |
+
"bleu": 0.3710125447937959
|
57 |
+
},
|
58 |
+
{
|
59 |
+
"language_name": "Bengali",
|
60 |
+
"language_code": "ben",
|
61 |
+
"speakers": 300000000.0,
|
62 |
+
"scores": [
|
63 |
+
{
|
64 |
+
"model": "openai/gpt-4o-mini",
|
65 |
+
"bleu": 0.40080430939726097
|
66 |
+
},
|
67 |
+
{
|
68 |
+
"model": "anthropic/claude-3.5-haiku",
|
69 |
+
"bleu": 0.3733558186182232
|
70 |
+
},
|
71 |
+
{
|
72 |
+
"model": "google/gemini-flash-1.5",
|
73 |
+
"bleu": 0.4337794805645439
|
74 |
+
}
|
75 |
+
],
|
76 |
+
"bleu": 0.4026465361933427
|
77 |
+
}
|
78 |
+
]
|
src/.gitignore
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
/.observablehq/cache/
|
|
|
|
src/compare-ai-models.md
DELETED
@@ -1,65 +0,0 @@
|
|
1 |
-
---
|
2 |
-
theme: dashboard
|
3 |
-
title: Compare AI models
|
4 |
-
---
|
5 |
-
|
6 |
-
# Compare AI models
|
7 |
-
|
8 |
-
```js
|
9 |
-
const data = FileAttachment("data/languagebench.json").json();
|
10 |
-
```
|
11 |
-
|
12 |
-
```js
|
13 |
-
const scoreKey = "bleu"
|
14 |
-
const scoreName = "BLEU Score"
|
15 |
-
|
16 |
-
// Get unique languages with their speaker counts
|
17 |
-
const languageMap = new Map();
|
18 |
-
data.forEach(r => {
|
19 |
-
if (!languageMap.has(r.language_name)) {
|
20 |
-
languageMap.set(r.language_name, r.speakers);
|
21 |
-
}
|
22 |
-
});
|
23 |
-
|
24 |
-
// Sort languages by speaker count (descending)
|
25 |
-
const languages = [...languageMap.entries()]
|
26 |
-
.sort((a, b) => b[1] - a[1])
|
27 |
-
.map(([lang]) => lang);
|
28 |
-
|
29 |
-
// Section for each language
|
30 |
-
languages.forEach(language => {
|
31 |
-
display(html`<h2 class="language-header">${language}</h2>`)
|
32 |
-
|
33 |
-
const speakerCount = (languageMap.get(language) / 1_000_000).toFixed(1);
|
34 |
-
display(html`${speakerCount}M speakers`);
|
35 |
-
|
36 |
-
const languageData = data.filter(r => r.language_name === language)[0]["scores"];
|
37 |
-
console.log(languageData)
|
38 |
-
|
39 |
-
const descriptor = code => {
|
40 |
-
let [org, model] = code.split("/")
|
41 |
-
return model.split("-")[0]
|
42 |
-
}
|
43 |
-
|
44 |
-
// Plot for how well the models perform on this language
|
45 |
-
if (languageData && languageData.length >= 1) {
|
46 |
-
console.log("yes")
|
47 |
-
const chart = Plot.plot({
|
48 |
-
width: 400,
|
49 |
-
height: 200,
|
50 |
-
margin: 30,
|
51 |
-
y: {
|
52 |
-
domain: [0, 1],
|
53 |
-
label: scoreName
|
54 |
-
},
|
55 |
-
marks: [
|
56 |
-
Plot.barY(languageData, {
|
57 |
-
x: d => descriptor(d.model),
|
58 |
-
y: scoreKey
|
59 |
-
})
|
60 |
-
]
|
61 |
-
});
|
62 |
-
display(chart)
|
63 |
-
}
|
64 |
-
});
|
65 |
-
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/compare-languages.md
DELETED
@@ -1,20 +0,0 @@
|
|
1 |
-
---
|
2 |
-
theme: dashboard
|
3 |
-
title: Compare languages
|
4 |
-
---
|
5 |
-
|
6 |
-
# Compare languages
|
7 |
-
|
8 |
-
```js
|
9 |
-
import { languageChart } from "./components/language-chart.js";
|
10 |
-
|
11 |
-
const data = FileAttachment("data/languagebench.json").json();
|
12 |
-
```
|
13 |
-
|
14 |
-
```js
|
15 |
-
const scoreKey = "bleu"
|
16 |
-
const scoreName = "BLEU Score"
|
17 |
-
|
18 |
-
// Create summary plot
|
19 |
-
display(languageChart(data, {width: 1000, height: 400, scoreKey: scoreKey, scoreName: scoreName}))
|
20 |
-
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/index.md
DELETED
@@ -1,53 +0,0 @@
|
|
1 |
-
---
|
2 |
-
toc: false
|
3 |
-
---
|
4 |
-
|
5 |
-
<div class="hero">
|
6 |
-
<h1>AI Language Monitor</h1>
|
7 |
-
<h2>Benchmarking all big AI models on all benchmarkable languages.</h2>
|
8 |
-
</div>
|
9 |
-
|
10 |
-
```js
|
11 |
-
import { languageChart } from "./components/language-chart.js";
|
12 |
-
|
13 |
-
const data = FileAttachment("data/languagebench.json").json();
|
14 |
-
```
|
15 |
-
|
16 |
-
|
17 |
-
<div class="grid grid-cols-2" style="grid-auto-rows: 504px;">
|
18 |
-
<div class="card">
|
19 |
-
<h2 class="hero">Compare languages</h2>
|
20 |
-
${resize((width) => languageChart(data, {width: 1000, height: 400, scoreKey: "bleu", scoreName: "BLEU Score"}))}
|
21 |
-
</div>
|
22 |
-
<div class="card">
|
23 |
-
<h2 class="hero">Compare AI models</h2>
|
24 |
-
...
|
25 |
-
</div>
|
26 |
-
</div>
|
27 |
-
|
28 |
-
<style>
|
29 |
-
|
30 |
-
.hero {
|
31 |
-
display: flex;
|
32 |
-
flex-direction: column;
|
33 |
-
align-items: center;
|
34 |
-
font-family: var(--sans-serif);
|
35 |
-
margin: 4rem 0 8rem;
|
36 |
-
text-wrap: balance;
|
37 |
-
text-align: center;
|
38 |
-
}
|
39 |
-
|
40 |
-
.hero h1 {
|
41 |
-
margin: 1rem 0;
|
42 |
-
padding: 1rem 0;
|
43 |
-
max-width: none;
|
44 |
-
font-size: 90px;
|
45 |
-
font-weight: 900;
|
46 |
-
line-height: 1;
|
47 |
-
background: linear-gradient(30deg, var(--theme-foreground-focus), currentColor);
|
48 |
-
-webkit-background-clip: text;
|
49 |
-
-webkit-text-fill-color: transparent;
|
50 |
-
background-clip: text;
|
51 |
-
}
|
52 |
-
|
53 |
-
</style>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/methodology.md
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
---
|
2 |
-
title: Methodology
|
3 |
-
---
|
4 |
-
|
5 |
-
# Methodology
|
6 |
-
|
7 |
-
Sources:
|
8 |
-
|
9 |
-
1. For AI models: [OpenRouter](https://openrouter.ai/)
|
10 |
-
2. For language benchmarks: [FLORES+](https://github.com/openlanguagedata/flores)
|
11 |
-
3. For language statistics: [Wikidata](https://gist.github.com/unhammer/3e8f2e0f79972bf5008a4c970081502d), [Ethnologue](https://www.ethnologue.com/browse/names/)
|
12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
upload.py
DELETED
@@ -1,21 +0,0 @@
|
|
1 |
-
from huggingface_hub import upload_file, upload_folder
|
2 |
-
import os
|
3 |
-
from dotenv import load_dotenv
|
4 |
-
|
5 |
-
load_dotenv()
|
6 |
-
|
7 |
-
args = dict(
|
8 |
-
repo_id="datenlabor-bmz/ai-language-monitor",
|
9 |
-
repo_type="space",
|
10 |
-
token=os.getenv("HUGGINGFACE_ACCESS_TOKEN"),
|
11 |
-
)
|
12 |
-
upload_folder(
|
13 |
-
folder_path="dist",
|
14 |
-
path_in_repo="/",
|
15 |
-
**args,
|
16 |
-
)
|
17 |
-
upload_file(
|
18 |
-
path_or_fileobj="README.md",
|
19 |
-
path_in_repo="README.md",
|
20 |
-
**args,
|
21 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uv.lock
CHANGED
@@ -7,6 +7,15 @@ resolution-markers = [
|
|
7 |
"python_full_version >= '3.13'",
|
8 |
]
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
[[package]]
|
11 |
name = "aiohappyeyeballs"
|
12 |
version = "2.4.3"
|
@@ -156,6 +165,46 @@ wheels = [
|
|
156 |
{ url = "https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2", size = 63001 },
|
157 |
]
|
158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
[[package]]
|
160 |
name = "bert-score"
|
161 |
version = "0.3.13"
|
@@ -255,14 +304,14 @@ wheels = [
|
|
255 |
|
256 |
[[package]]
|
257 |
name = "click"
|
258 |
-
version = "8.1.
|
259 |
source = { registry = "https://pypi.org/simple" }
|
260 |
dependencies = [
|
261 |
{ name = "colorama", marker = "platform_system == 'Windows'" },
|
262 |
]
|
263 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
264 |
wheels = [
|
265 |
-
{ url = "https://files.pythonhosted.org/packages/
|
266 |
]
|
267 |
|
268 |
[[package]]
|
@@ -390,7 +439,7 @@ wheels = [
|
|
390 |
|
391 |
[[package]]
|
392 |
name = "evaluate"
|
393 |
-
version = "0.4.
|
394 |
source = { registry = "https://pypi.org/simple" }
|
395 |
dependencies = [
|
396 |
{ name = "datasets" },
|
@@ -402,12 +451,13 @@ dependencies = [
|
|
402 |
{ name = "packaging" },
|
403 |
{ name = "pandas" },
|
404 |
{ name = "requests" },
|
|
|
405 |
{ name = "tqdm" },
|
406 |
{ name = "xxhash" },
|
407 |
]
|
408 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
409 |
wheels = [
|
410 |
-
{ url = "https://files.pythonhosted.org/packages/
|
411 |
]
|
412 |
|
413 |
[[package]]
|
@@ -419,6 +469,29 @@ wheels = [
|
|
419 |
{ url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 },
|
420 |
]
|
421 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
[[package]]
|
423 |
name = "filelock"
|
424 |
version = "3.16.1"
|
@@ -550,6 +623,61 @@ http = [
|
|
550 |
{ name = "aiohttp" },
|
551 |
]
|
552 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
553 |
[[package]]
|
554 |
name = "h11"
|
555 |
version = "0.14.0"
|
@@ -590,7 +718,7 @@ wheels = [
|
|
590 |
|
591 |
[[package]]
|
592 |
name = "huggingface-hub"
|
593 |
-
version = "0.
|
594 |
source = { registry = "https://pypi.org/simple" }
|
595 |
dependencies = [
|
596 |
{ name = "filelock" },
|
@@ -601,9 +729,9 @@ dependencies = [
|
|
601 |
{ name = "tqdm" },
|
602 |
{ name = "typing-extensions" },
|
603 |
]
|
604 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
605 |
wheels = [
|
606 |
-
{ url = "https://files.pythonhosted.org/packages/
|
607 |
]
|
608 |
|
609 |
[[package]]
|
@@ -775,13 +903,18 @@ name = "languagebench"
|
|
775 |
version = "0.1.0"
|
776 |
source = { virtual = "." }
|
777 |
dependencies = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
778 |
{ name = "aiolimiter" },
|
779 |
{ name = "bert-score" },
|
780 |
{ name = "evaluate" },
|
781 |
{ name = "joblib" },
|
782 |
-
{ name = "nltk" },
|
783 |
{ name = "openai" },
|
784 |
-
{ name = "pandas" },
|
785 |
{ name = "protobuf" },
|
786 |
{ name = "python-dotenv" },
|
787 |
{ name = "sacrebleu" },
|
@@ -793,13 +926,18 @@ dependencies = [
|
|
793 |
|
794 |
[package.metadata]
|
795 |
requires-dist = [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
796 |
{ name = "aiolimiter", specifier = ">=1.1.0" },
|
797 |
{ name = "bert-score", specifier = ">=0.3.13" },
|
798 |
-
{ name = "evaluate", specifier = "
|
799 |
{ name = "joblib", specifier = ">=1.4.2" },
|
800 |
-
{ name = "nltk", specifier = ">=3.9.1" },
|
801 |
{ name = "openai", specifier = ">=1.52.2" },
|
802 |
-
{ name = "pandas", specifier = ">=2.2.3" },
|
803 |
{ name = "protobuf", specifier = ">=5.28.3" },
|
804 |
{ name = "python-dotenv", specifier = ">=1.0.1" },
|
805 |
{ name = "sacrebleu", specifier = ">=2.4.3" },
|
@@ -892,61 +1030,53 @@ wheels = [
|
|
892 |
]
|
893 |
|
894 |
[[package]]
|
895 |
-
name = "
|
896 |
-
version = "3.0.
|
897 |
source = { registry = "https://pypi.org/simple" }
|
898 |
-
|
899 |
-
|
900 |
-
|
901 |
-
|
902 |
-
|
903 |
-
{ url = "https://files.pythonhosted.org/packages/
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
|
911 |
-
|
912 |
-
{ url = "https://files.pythonhosted.org/packages/
|
913 |
-
{ url = "https://files.pythonhosted.org/packages/
|
914 |
-
{ url = "https://files.pythonhosted.org/packages/
|
915 |
-
{ url = "https://files.pythonhosted.org/packages/
|
916 |
-
{ url = "https://files.pythonhosted.org/packages/
|
917 |
-
{ url = "https://files.pythonhosted.org/packages/
|
918 |
-
{ url = "https://files.pythonhosted.org/packages/
|
919 |
-
{ url = "https://files.pythonhosted.org/packages/
|
920 |
-
{ url = "https://files.pythonhosted.org/packages/
|
921 |
-
{ url = "https://files.pythonhosted.org/packages/
|
922 |
-
{ url = "https://files.pythonhosted.org/packages/
|
923 |
-
{ url = "https://files.pythonhosted.org/packages/
|
924 |
-
{ url = "https://files.pythonhosted.org/packages/
|
925 |
-
{ url = "https://files.pythonhosted.org/packages/
|
926 |
-
{ url = "https://files.pythonhosted.org/packages/
|
927 |
-
{ url = "https://files.pythonhosted.org/packages/
|
928 |
-
{ url = "https://files.pythonhosted.org/packages/
|
929 |
-
{ url = "https://files.pythonhosted.org/packages/
|
930 |
-
{ url = "https://files.pythonhosted.org/packages/
|
931 |
-
{ url = "https://files.pythonhosted.org/packages/
|
932 |
-
{ url = "https://files.pythonhosted.org/packages/
|
933 |
-
{ url = "https://files.pythonhosted.org/packages/
|
934 |
-
{ url = "https://files.pythonhosted.org/packages/
|
935 |
-
{ url = "https://files.pythonhosted.org/packages/
|
936 |
-
{ url = "https://files.pythonhosted.org/packages/
|
937 |
-
{ url = "https://files.pythonhosted.org/packages/
|
938 |
-
{ url = "https://files.pythonhosted.org/packages/
|
939 |
-
{ url = "https://files.pythonhosted.org/packages/
|
940 |
-
{ url = "https://files.pythonhosted.org/packages/
|
941 |
-
{ url = "https://files.pythonhosted.org/packages/
|
942 |
-
{ url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 },
|
943 |
-
{ url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 },
|
944 |
-
{ url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 },
|
945 |
-
{ url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 },
|
946 |
-
{ url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 },
|
947 |
-
{ url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
|
948 |
-
{ url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
|
949 |
-
{ url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
|
950 |
]
|
951 |
|
952 |
[[package]]
|
@@ -997,6 +1127,15 @@ wheels = [
|
|
997 |
{ url = "https://files.pythonhosted.org/packages/01/8a/760f7fce66b39f447ad160800619d0bd5d0936d2b4633587116534a4afe0/matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e", size = 9093770 },
|
998 |
]
|
999 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1000 |
[[package]]
|
1001 |
name = "mpmath"
|
1002 |
version = "1.3.0"
|
@@ -1097,27 +1236,21 @@ wheels = [
|
|
1097 |
]
|
1098 |
|
1099 |
[[package]]
|
1100 |
-
name = "
|
1101 |
-
version = "
|
1102 |
source = { registry = "https://pypi.org/simple" }
|
1103 |
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1104 |
wheels = [
|
1105 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1106 |
]
|
1107 |
|
1108 |
[[package]]
|
1109 |
-
name = "
|
1110 |
-
version = "3.
|
1111 |
source = { registry = "https://pypi.org/simple" }
|
1112 |
-
|
1113 |
-
{ name = "click" },
|
1114 |
-
{ name = "joblib" },
|
1115 |
-
{ name = "regex" },
|
1116 |
-
{ name = "tqdm" },
|
1117 |
-
]
|
1118 |
-
sdist = { url = "https://files.pythonhosted.org/packages/3c/87/db8be88ad32c2d042420b6fd9ffd4a149f9a0d7f0e86b3f543be2eeeedd2/nltk-3.9.1.tar.gz", hash = "sha256:87d127bd3de4bd89a4f81265e5fa59cb1b199b27440175370f7417d2bc7ae868", size = 2904691 }
|
1119 |
wheels = [
|
1120 |
-
{ url = "https://files.pythonhosted.org/packages/
|
1121 |
]
|
1122 |
|
1123 |
[[package]]
|
@@ -1319,6 +1452,66 @@ wheels = [
|
|
1319 |
{ url = "https://files.pythonhosted.org/packages/55/4c/906b5b32c4c01402ac3b4c3fc28f601443ac5c6f13c84a95dd178c8d545d/openai-1.52.2-py3-none-any.whl", hash = "sha256:57e9e37bc407f39bb6ec3a27d7e8fb9728b2779936daa1fcf95df17d3edfaccc", size = 386947 },
|
1320 |
]
|
1321 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1322 |
[[package]]
|
1323 |
name = "packaging"
|
1324 |
version = "24.1"
|
@@ -1443,6 +1636,19 @@ wheels = [
|
|
1443 |
{ url = "https://files.pythonhosted.org/packages/ec/3d/c32a51d848401bd94cabb8767a39621496491ee7cd5199856b77da9b18ad/pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316", size = 2567508 },
|
1444 |
]
|
1445 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1446 |
[[package]]
|
1447 |
name = "portalocker"
|
1448 |
version = "2.10.1"
|
@@ -1665,6 +1871,24 @@ wheels = [
|
|
1665 |
{ url = "https://files.pythonhosted.org/packages/a9/f9/b6bcaf874f410564a78908739c80861a171788ef4d4f76f5009656672dfe/pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753", size = 1920344 },
|
1666 |
]
|
1667 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1668 |
[[package]]
|
1669 |
name = "pyparsing"
|
1670 |
version = "3.2.0"
|
@@ -1695,6 +1919,15 @@ wheels = [
|
|
1695 |
{ url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
|
1696 |
]
|
1697 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1698 |
[[package]]
|
1699 |
name = "pytz"
|
1700 |
version = "2024.2"
|
@@ -1851,6 +2084,58 @@ wheels = [
|
|
1851 |
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
|
1852 |
]
|
1853 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1854 |
[[package]]
|
1855 |
name = "sacrebleu"
|
1856 |
version = "2.4.3"
|
@@ -1868,6 +2153,18 @@ wheels = [
|
|
1868 |
{ url = "https://files.pythonhosted.org/packages/15/d8/e51d35bc863caa19ddeae48dfb890581a19326973ad1c9fa5dcfc63310f7/sacrebleu-2.4.3-py3-none-any.whl", hash = "sha256:a976fd6998d8ced267a722120ec7fc47083c8e9745d8808ccee6424464a0aa31", size = 103964 },
|
1869 |
]
|
1870 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1871 |
[[package]]
|
1872 |
name = "safetensors"
|
1873 |
version = "0.4.5"
|
@@ -1929,6 +2226,15 @@ wheels = [
|
|
1929 |
{ url = "https://files.pythonhosted.org/packages/19/46/5d11dc300feaad285c2f1bd784ff3f689f5e0ab6be49aaf568f3a77019eb/safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:21742b391b859e67b26c0b2ac37f52c9c0944a879a25ad2f9f9f3cd61e7fda8f", size = 606660 },
|
1930 |
]
|
1931 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1932 |
[[package]]
|
1933 |
name = "sentencepiece"
|
1934 |
version = "0.2.0"
|
@@ -1970,6 +2276,15 @@ wheels = [
|
|
1970 |
{ url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 },
|
1971 |
]
|
1972 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1973 |
[[package]]
|
1974 |
name = "six"
|
1975 |
version = "1.16.0"
|
@@ -1988,6 +2303,18 @@ wheels = [
|
|
1988 |
{ url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
|
1989 |
]
|
1990 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1991 |
[[package]]
|
1992 |
name = "sympy"
|
1993 |
version = "1.13.1"
|
@@ -2099,6 +2426,15 @@ wheels = [
|
|
2099 |
{ url = "https://files.pythonhosted.org/packages/d4/f2/ea998aaf69966a87f92e31db7cba887125994bb9cd9a4dfcc83ac202d446/tokenizers-0.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f40df5e0294a95131cc5f0e0eb91fe86d88837abfbee46b9b3610b09860195a7", size = 9300207 },
|
2100 |
]
|
2101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2102 |
[[package]]
|
2103 |
name = "torch"
|
2104 |
version = "2.5.1"
|
@@ -2187,6 +2523,21 @@ wheels = [
|
|
2187 |
{ url = "https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc", size = 209551444 },
|
2188 |
]
|
2189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2190 |
[[package]]
|
2191 |
name = "typing-extensions"
|
2192 |
version = "4.12.2"
|
@@ -2214,6 +2565,79 @@ wheels = [
|
|
2214 |
{ url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 },
|
2215 |
]
|
2216 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2217 |
[[package]]
|
2218 |
name = "xxhash"
|
2219 |
version = "3.5.0"
|
|
|
7 |
"python_full_version >= '3.13'",
|
8 |
]
|
9 |
|
10 |
+
[[package]]
|
11 |
+
name = "aiofiles"
|
12 |
+
version = "23.2.1"
|
13 |
+
source = { registry = "https://pypi.org/simple" }
|
14 |
+
sdist = { url = "https://files.pythonhosted.org/packages/af/41/cfed10bc64d774f497a86e5ede9248e1d062db675504b41c320954d99641/aiofiles-23.2.1.tar.gz", hash = "sha256:84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a", size = 32072 }
|
15 |
+
wheels = [
|
16 |
+
{ url = "https://files.pythonhosted.org/packages/c5/19/5af6804c4cc0fed83f47bff6e413a98a36618e7d40185cd36e69737f3b0e/aiofiles-23.2.1-py3-none-any.whl", hash = "sha256:19297512c647d4b27a2cf7c34caa7e405c0d60b5560618a29a9fe027b18b0107", size = 15727 },
|
17 |
+
]
|
18 |
+
|
19 |
[[package]]
|
20 |
name = "aiohappyeyeballs"
|
21 |
version = "2.4.3"
|
|
|
165 |
{ url = "https://files.pythonhosted.org/packages/6a/21/5b6702a7f963e95456c0de2d495f67bf5fd62840ac655dc451586d23d39a/attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2", size = 63001 },
|
166 |
]
|
167 |
|
168 |
+
[[package]]
|
169 |
+
name = "audioop-lts"
|
170 |
+
version = "0.2.1"
|
171 |
+
source = { registry = "https://pypi.org/simple" }
|
172 |
+
sdist = { url = "https://files.pythonhosted.org/packages/dd/3b/69ff8a885e4c1c42014c2765275c4bd91fe7bc9847e9d8543dbcbb09f820/audioop_lts-0.2.1.tar.gz", hash = "sha256:e81268da0baa880431b68b1308ab7257eb33f356e57a5f9b1f915dfb13dd1387", size = 30204 }
|
173 |
+
wheels = [
|
174 |
+
{ url = "https://files.pythonhosted.org/packages/01/91/a219253cc6e92db2ebeaf5cf8197f71d995df6f6b16091d1f3ce62cb169d/audioop_lts-0.2.1-cp313-abi3-macosx_10_13_universal2.whl", hash = "sha256:fd1345ae99e17e6910f47ce7d52673c6a1a70820d78b67de1b7abb3af29c426a", size = 46252 },
|
175 |
+
{ url = "https://files.pythonhosted.org/packages/ec/f6/3cb21e0accd9e112d27cee3b1477cd04dafe88675c54ad8b0d56226c1e0b/audioop_lts-0.2.1-cp313-abi3-macosx_10_13_x86_64.whl", hash = "sha256:e175350da05d2087e12cea8e72a70a1a8b14a17e92ed2022952a4419689ede5e", size = 27183 },
|
176 |
+
{ url = "https://files.pythonhosted.org/packages/ea/7e/f94c8a6a8b2571694375b4cf94d3e5e0f529e8e6ba280fad4d8c70621f27/audioop_lts-0.2.1-cp313-abi3-macosx_11_0_arm64.whl", hash = "sha256:4a8dd6a81770f6ecf019c4b6d659e000dc26571b273953cef7cd1d5ce2ff3ae6", size = 26726 },
|
177 |
+
{ url = "https://files.pythonhosted.org/packages/ef/f8/a0e8e7a033b03fae2b16bc5aa48100b461c4f3a8a38af56d5ad579924a3a/audioop_lts-0.2.1-cp313-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cd3c0b6f2ca25c7d2b1c3adeecbe23e65689839ba73331ebc7d893fcda7ffe", size = 80718 },
|
178 |
+
{ url = "https://files.pythonhosted.org/packages/8f/ea/a98ebd4ed631c93b8b8f2368862cd8084d75c77a697248c24437c36a6f7e/audioop_lts-0.2.1-cp313-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ff3f97b3372c97782e9c6d3d7fdbe83bce8f70de719605bd7ee1839cd1ab360a", size = 88326 },
|
179 |
+
{ url = "https://files.pythonhosted.org/packages/33/79/e97a9f9daac0982aa92db1199339bd393594d9a4196ad95ae088635a105f/audioop_lts-0.2.1-cp313-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a351af79edefc2a1bd2234bfd8b339935f389209943043913a919df4b0f13300", size = 80539 },
|
180 |
+
{ url = "https://files.pythonhosted.org/packages/b2/d3/1051d80e6f2d6f4773f90c07e73743a1e19fcd31af58ff4e8ef0375d3a80/audioop_lts-0.2.1-cp313-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aeb6f96f7f6da80354330470b9134d81b4cf544cdd1c549f2f45fe964d28059", size = 78577 },
|
181 |
+
{ url = "https://files.pythonhosted.org/packages/7a/1d/54f4c58bae8dc8c64a75071c7e98e105ddaca35449376fcb0180f6e3c9df/audioop_lts-0.2.1-cp313-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c589f06407e8340e81962575fcffbba1e92671879a221186c3d4662de9fe804e", size = 82074 },
|
182 |
+
{ url = "https://files.pythonhosted.org/packages/36/89/2e78daa7cebbea57e72c0e1927413be4db675548a537cfba6a19040d52fa/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fbae5d6925d7c26e712f0beda5ed69ebb40e14212c185d129b8dfbfcc335eb48", size = 84210 },
|
183 |
+
{ url = "https://files.pythonhosted.org/packages/a5/57/3ff8a74df2ec2fa6d2ae06ac86e4a27d6412dbb7d0e0d41024222744c7e0/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_i686.whl", hash = "sha256:d2d5434717f33117f29b5691fbdf142d36573d751716249a288fbb96ba26a281", size = 85664 },
|
184 |
+
{ url = "https://files.pythonhosted.org/packages/16/01/21cc4e5878f6edbc8e54be4c108d7cb9cb6202313cfe98e4ece6064580dd/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:f626a01c0a186b08f7ff61431c01c055961ee28769591efa8800beadd27a2959", size = 93255 },
|
185 |
+
{ url = "https://files.pythonhosted.org/packages/3e/28/7f7418c362a899ac3b0bf13b1fde2d4ffccfdeb6a859abd26f2d142a1d58/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_s390x.whl", hash = "sha256:05da64e73837f88ee5c6217d732d2584cf638003ac72df124740460531e95e47", size = 87760 },
|
186 |
+
{ url = "https://files.pythonhosted.org/packages/6d/d8/577a8be87dc7dd2ba568895045cee7d32e81d85a7e44a29000fe02c4d9d4/audioop_lts-0.2.1-cp313-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:56b7a0a4dba8e353436f31a932f3045d108a67b5943b30f85a5563f4d8488d77", size = 84992 },
|
187 |
+
{ url = "https://files.pythonhosted.org/packages/ef/9a/4699b0c4fcf89936d2bfb5425f55f1a8b86dff4237cfcc104946c9cd9858/audioop_lts-0.2.1-cp313-abi3-win32.whl", hash = "sha256:6e899eb8874dc2413b11926b5fb3857ec0ab55222840e38016a6ba2ea9b7d5e3", size = 26059 },
|
188 |
+
{ url = "https://files.pythonhosted.org/packages/3a/1c/1f88e9c5dd4785a547ce5fd1eb83fff832c00cc0e15c04c1119b02582d06/audioop_lts-0.2.1-cp313-abi3-win_amd64.whl", hash = "sha256:64562c5c771fb0a8b6262829b9b4f37a7b886c01b4d3ecdbae1d629717db08b4", size = 30412 },
|
189 |
+
{ url = "https://files.pythonhosted.org/packages/c4/e9/c123fd29d89a6402ad261516f848437472ccc602abb59bba522af45e281b/audioop_lts-0.2.1-cp313-abi3-win_arm64.whl", hash = "sha256:c45317debeb64002e980077642afbd977773a25fa3dfd7ed0c84dccfc1fafcb0", size = 23578 },
|
190 |
+
{ url = "https://files.pythonhosted.org/packages/7a/99/bb664a99561fd4266687e5cb8965e6ec31ba4ff7002c3fce3dc5ef2709db/audioop_lts-0.2.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3827e3fce6fee4d69d96a3d00cd2ab07f3c0d844cb1e44e26f719b34a5b15455", size = 46827 },
|
191 |
+
{ url = "https://files.pythonhosted.org/packages/c4/e3/f664171e867e0768ab982715e744430cf323f1282eb2e11ebfb6ee4c4551/audioop_lts-0.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:161249db9343b3c9780ca92c0be0d1ccbfecdbccac6844f3d0d44b9c4a00a17f", size = 27479 },
|
192 |
+
{ url = "https://files.pythonhosted.org/packages/a6/0d/2a79231ff54eb20e83b47e7610462ad6a2bea4e113fae5aa91c6547e7764/audioop_lts-0.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5b7b4ff9de7a44e0ad2618afdc2ac920b91f4a6d3509520ee65339d4acde5abf", size = 27056 },
|
193 |
+
{ url = "https://files.pythonhosted.org/packages/86/46/342471398283bb0634f5a6df947806a423ba74b2e29e250c7ec0e3720e4f/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e37f416adb43b0ced93419de0122b42753ee74e87070777b53c5d2241e7fab", size = 87802 },
|
194 |
+
{ url = "https://files.pythonhosted.org/packages/56/44/7a85b08d4ed55517634ff19ddfbd0af05bf8bfd39a204e4445cd0e6f0cc9/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:534ce808e6bab6adb65548723c8cbe189a3379245db89b9d555c4210b4aaa9b6", size = 95016 },
|
195 |
+
{ url = "https://files.pythonhosted.org/packages/a8/2a/45edbca97ea9ee9e6bbbdb8d25613a36e16a4d1e14ae01557392f15cc8d3/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2de9b6fb8b1cf9f03990b299a9112bfdf8b86b6987003ca9e8a6c4f56d39543", size = 87394 },
|
196 |
+
{ url = "https://files.pythonhosted.org/packages/14/ae/832bcbbef2c510629593bf46739374174606e25ac7d106b08d396b74c964/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f24865991b5ed4b038add5edbf424639d1358144f4e2a3e7a84bc6ba23e35074", size = 84874 },
|
197 |
+
{ url = "https://files.pythonhosted.org/packages/26/1c/8023c3490798ed2f90dfe58ec3b26d7520a243ae9c0fc751ed3c9d8dbb69/audioop_lts-0.2.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bdb3b7912ccd57ea53197943f1bbc67262dcf29802c4a6df79ec1c715d45a78", size = 88698 },
|
198 |
+
{ url = "https://files.pythonhosted.org/packages/2c/db/5379d953d4918278b1f04a5a64b2c112bd7aae8f81021009da0dcb77173c/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:120678b208cca1158f0a12d667af592e067f7a50df9adc4dc8f6ad8d065a93fb", size = 90401 },
|
199 |
+
{ url = "https://files.pythonhosted.org/packages/99/6e/3c45d316705ab1aec2e69543a5b5e458d0d112a93d08994347fafef03d50/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:54cd4520fc830b23c7d223693ed3e1b4d464997dd3abc7c15dce9a1f9bd76ab2", size = 91864 },
|
200 |
+
{ url = "https://files.pythonhosted.org/packages/08/58/6a371d8fed4f34debdb532c0b00942a84ebf3e7ad368e5edc26931d0e251/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:d6bd20c7a10abcb0fb3d8aaa7508c0bf3d40dfad7515c572014da4b979d3310a", size = 98796 },
|
201 |
+
{ url = "https://files.pythonhosted.org/packages/ee/77/d637aa35497e0034ff846fd3330d1db26bc6fd9dd79c406e1341188b06a2/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:f0ed1ad9bd862539ea875fb339ecb18fcc4148f8d9908f4502df28f94d23491a", size = 94116 },
|
202 |
+
{ url = "https://files.pythonhosted.org/packages/1a/60/7afc2abf46bbcf525a6ebc0305d85ab08dc2d1e2da72c48dbb35eee5b62c/audioop_lts-0.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e1af3ff32b8c38a7d900382646e91f2fc515fd19dea37e9392275a5cbfdbff63", size = 91520 },
|
203 |
+
{ url = "https://files.pythonhosted.org/packages/65/6d/42d40da100be1afb661fd77c2b1c0dfab08af1540df57533621aea3db52a/audioop_lts-0.2.1-cp313-cp313t-win32.whl", hash = "sha256:f51bb55122a89f7a0817d7ac2319744b4640b5b446c4c3efcea5764ea99ae509", size = 26482 },
|
204 |
+
{ url = "https://files.pythonhosted.org/packages/01/09/f08494dca79f65212f5b273aecc5a2f96691bf3307cac29acfcf84300c01/audioop_lts-0.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f0f2f336aa2aee2bce0b0dcc32bbba9178995454c7b979cf6ce086a8801e14c7", size = 30780 },
|
205 |
+
{ url = "https://files.pythonhosted.org/packages/5d/35/be73b6015511aa0173ec595fc579133b797ad532996f2998fd6b8d1bbe6b/audioop_lts-0.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:78bfb3703388c780edf900be66e07de5a3d4105ca8e8720c5c4d67927e0b15d0", size = 23918 },
|
206 |
+
]
|
207 |
+
|
208 |
[[package]]
|
209 |
name = "bert-score"
|
210 |
version = "0.3.13"
|
|
|
304 |
|
305 |
[[package]]
|
306 |
name = "click"
|
307 |
+
version = "8.1.8"
|
308 |
source = { registry = "https://pypi.org/simple" }
|
309 |
dependencies = [
|
310 |
{ name = "colorama", marker = "platform_system == 'Windows'" },
|
311 |
]
|
312 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
|
313 |
wheels = [
|
314 |
+
{ url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 },
|
315 |
]
|
316 |
|
317 |
[[package]]
|
|
|
439 |
|
440 |
[[package]]
|
441 |
name = "evaluate"
|
442 |
+
version = "0.4.0"
|
443 |
source = { registry = "https://pypi.org/simple" }
|
444 |
dependencies = [
|
445 |
{ name = "datasets" },
|
|
|
451 |
{ name = "packaging" },
|
452 |
{ name = "pandas" },
|
453 |
{ name = "requests" },
|
454 |
+
{ name = "responses" },
|
455 |
{ name = "tqdm" },
|
456 |
{ name = "xxhash" },
|
457 |
]
|
458 |
+
sdist = { url = "https://files.pythonhosted.org/packages/d8/16/63110013b278a3368363d5013ac88a37fa6fe1e24eb5c0fd7836fc9554bf/evaluate-0.4.0.tar.gz", hash = "sha256:bd6a59879be9ae13b681684e56ae3e6ea657073c4413b30335e9efa9856e4f44", size = 65375 }
|
459 |
wheels = [
|
460 |
+
{ url = "https://files.pythonhosted.org/packages/0f/33/969f10bc16e294747a964662f0067c226b08664e963c12db21beb0fd5df3/evaluate-0.4.0-py3-none-any.whl", hash = "sha256:4b528de0f270cdfb077ca4877035dc17584d2c4b1cbc3fdd46afc3942ed557fd", size = 81432 },
|
461 |
]
|
462 |
|
463 |
[[package]]
|
|
|
469 |
{ url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 },
|
470 |
]
|
471 |
|
472 |
+
[[package]]
|
473 |
+
name = "fastapi"
|
474 |
+
version = "0.115.8"
|
475 |
+
source = { registry = "https://pypi.org/simple" }
|
476 |
+
dependencies = [
|
477 |
+
{ name = "pydantic" },
|
478 |
+
{ name = "starlette" },
|
479 |
+
{ name = "typing-extensions" },
|
480 |
+
]
|
481 |
+
sdist = { url = "https://files.pythonhosted.org/packages/a2/b2/5a5dc4affdb6661dea100324e19a7721d5dc524b464fe8e366c093fd7d87/fastapi-0.115.8.tar.gz", hash = "sha256:0ce9111231720190473e222cdf0f07f7206ad7e53ea02beb1d2dc36e2f0741e9", size = 295403 }
|
482 |
+
wheels = [
|
483 |
+
{ url = "https://files.pythonhosted.org/packages/8f/7d/2d6ce181d7a5f51dedb8c06206cbf0ec026a99bf145edd309f9e17c3282f/fastapi-0.115.8-py3-none-any.whl", hash = "sha256:753a96dd7e036b34eeef8babdfcfe3f28ff79648f86551eb36bfc1b0bf4a8cbf", size = 94814 },
|
484 |
+
]
|
485 |
+
|
486 |
+
[[package]]
|
487 |
+
name = "ffmpy"
|
488 |
+
version = "0.5.0"
|
489 |
+
source = { registry = "https://pypi.org/simple" }
|
490 |
+
sdist = { url = "https://files.pythonhosted.org/packages/4d/66/5697a7421c418ccbfae87b7e6503b480070f7cb16c25c77201afc6246348/ffmpy-0.5.0.tar.gz", hash = "sha256:277e131f246d18e9dcfee9bb514c50749031c43582ce5ef82c57b51e3d3955c3", size = 5523 }
|
491 |
+
wheels = [
|
492 |
+
{ url = "https://files.pythonhosted.org/packages/53/5d/65f40bd333463b3230b3a72d93873caaf49b0cbb5228598fafb75fcc5357/ffmpy-0.5.0-py3-none-any.whl", hash = "sha256:df3799cf5816daa56d4959a023630ee53c6768b66009dae6d131519ba4b80233", size = 6008 },
|
493 |
+
]
|
494 |
+
|
495 |
[[package]]
|
496 |
name = "filelock"
|
497 |
version = "3.16.1"
|
|
|
623 |
{ name = "aiohttp" },
|
624 |
]
|
625 |
|
626 |
+
[[package]]
|
627 |
+
name = "gradio"
|
628 |
+
version = "5.16.2"
|
629 |
+
source = { registry = "https://pypi.org/simple" }
|
630 |
+
dependencies = [
|
631 |
+
{ name = "aiofiles" },
|
632 |
+
{ name = "anyio" },
|
633 |
+
{ name = "audioop-lts", marker = "python_full_version >= '3.13'" },
|
634 |
+
{ name = "fastapi" },
|
635 |
+
{ name = "ffmpy" },
|
636 |
+
{ name = "gradio-client" },
|
637 |
+
{ name = "httpx" },
|
638 |
+
{ name = "huggingface-hub" },
|
639 |
+
{ name = "jinja2" },
|
640 |
+
{ name = "markupsafe" },
|
641 |
+
{ name = "numpy" },
|
642 |
+
{ name = "orjson" },
|
643 |
+
{ name = "packaging" },
|
644 |
+
{ name = "pandas" },
|
645 |
+
{ name = "pillow" },
|
646 |
+
{ name = "pydantic" },
|
647 |
+
{ name = "pydub" },
|
648 |
+
{ name = "python-multipart" },
|
649 |
+
{ name = "pyyaml" },
|
650 |
+
{ name = "ruff", marker = "sys_platform != 'emscripten'" },
|
651 |
+
{ name = "safehttpx" },
|
652 |
+
{ name = "semantic-version" },
|
653 |
+
{ name = "starlette", marker = "sys_platform != 'emscripten'" },
|
654 |
+
{ name = "tomlkit" },
|
655 |
+
{ name = "typer", marker = "sys_platform != 'emscripten'" },
|
656 |
+
{ name = "typing-extensions" },
|
657 |
+
{ name = "urllib3", marker = "sys_platform == 'emscripten'" },
|
658 |
+
{ name = "uvicorn", marker = "sys_platform != 'emscripten'" },
|
659 |
+
]
|
660 |
+
wheels = [
|
661 |
+
{ url = "https://files.pythonhosted.org/packages/3a/1b/bd78e5d128589f28dfe76ddd587702489fabb58bdd3fbc6d09b16e5d948a/gradio-5.16.2-py3-none-any.whl", hash = "sha256:b13180c9a0a7370bdda6a326d85f659768ba97a822a7d5790b52ae4c6bccc343", size = 62206160 },
|
662 |
+
]
|
663 |
+
|
664 |
+
[[package]]
|
665 |
+
name = "gradio-client"
|
666 |
+
version = "1.7.1"
|
667 |
+
source = { registry = "https://pypi.org/simple" }
|
668 |
+
dependencies = [
|
669 |
+
{ name = "fsspec" },
|
670 |
+
{ name = "httpx" },
|
671 |
+
{ name = "huggingface-hub" },
|
672 |
+
{ name = "packaging" },
|
673 |
+
{ name = "typing-extensions" },
|
674 |
+
{ name = "websockets" },
|
675 |
+
]
|
676 |
+
sdist = { url = "https://files.pythonhosted.org/packages/f2/98/434f4eff6eabf625e71ac69a5909864984b53b2f2c9e3a9c772bebbfae84/gradio_client-1.7.1.tar.gz", hash = "sha256:6ecd3a537c6c076cb1b351c2d7ce5906070d2e1b3181163609bfa4a4c4f3040e", size = 320142 }
|
677 |
+
wheels = [
|
678 |
+
{ url = "https://files.pythonhosted.org/packages/16/52/4fe9dfc2239e7b748ad8dc3b80ad8755f5c9378432715193586c3ab74bf9/gradio_client-1.7.1-py3-none-any.whl", hash = "sha256:d7737bc473a2093549c06004379c42f0a3510a98095cf7cea9033837e252149f", size = 321994 },
|
679 |
+
]
|
680 |
+
|
681 |
[[package]]
|
682 |
name = "h11"
|
683 |
version = "0.14.0"
|
|
|
718 |
|
719 |
[[package]]
|
720 |
name = "huggingface-hub"
|
721 |
+
version = "0.29.1"
|
722 |
source = { registry = "https://pypi.org/simple" }
|
723 |
dependencies = [
|
724 |
{ name = "filelock" },
|
|
|
729 |
{ name = "tqdm" },
|
730 |
{ name = "typing-extensions" },
|
731 |
]
|
732 |
+
sdist = { url = "https://files.pythonhosted.org/packages/22/37/797d6476f13e5ef6af5fc48a5d641d32b39c37e166ccf40c3714c5854a85/huggingface_hub-0.29.1.tar.gz", hash = "sha256:9524eae42077b8ff4fc459ceb7a514eca1c1232b775276b009709fe2a084f250", size = 389776 }
|
733 |
wheels = [
|
734 |
+
{ url = "https://files.pythonhosted.org/packages/ae/05/75b90de9093de0aadafc868bb2fa7c57651fd8f45384adf39bd77f63980d/huggingface_hub-0.29.1-py3-none-any.whl", hash = "sha256:352f69caf16566c7b6de84b54a822f6238e17ddd8ae3da4f8f2272aea5b198d5", size = 468049 },
|
735 |
]
|
736 |
|
737 |
[[package]]
|
|
|
903 |
version = "0.1.0"
|
904 |
source = { virtual = "." }
|
905 |
dependencies = [
|
906 |
+
{ name = "gradio" },
|
907 |
+
{ name = "pandas" },
|
908 |
+
{ name = "plotly" },
|
909 |
+
]
|
910 |
+
|
911 |
+
[package.dev-dependencies]
|
912 |
+
dev = [
|
913 |
{ name = "aiolimiter" },
|
914 |
{ name = "bert-score" },
|
915 |
{ name = "evaluate" },
|
916 |
{ name = "joblib" },
|
|
|
917 |
{ name = "openai" },
|
|
|
918 |
{ name = "protobuf" },
|
919 |
{ name = "python-dotenv" },
|
920 |
{ name = "sacrebleu" },
|
|
|
926 |
|
927 |
[package.metadata]
|
928 |
requires-dist = [
|
929 |
+
{ name = "gradio", specifier = ">=5.16.2" },
|
930 |
+
{ name = "pandas", specifier = ">=2.2.3" },
|
931 |
+
{ name = "plotly", specifier = ">=6.0.0" },
|
932 |
+
]
|
933 |
+
|
934 |
+
[package.metadata.requires-dev]
|
935 |
+
dev = [
|
936 |
{ name = "aiolimiter", specifier = ">=1.1.0" },
|
937 |
{ name = "bert-score", specifier = ">=0.3.13" },
|
938 |
+
{ name = "evaluate", specifier = "==0.4.0" },
|
939 |
{ name = "joblib", specifier = ">=1.4.2" },
|
|
|
940 |
{ name = "openai", specifier = ">=1.52.2" },
|
|
|
941 |
{ name = "protobuf", specifier = ">=5.28.3" },
|
942 |
{ name = "python-dotenv", specifier = ">=1.0.1" },
|
943 |
{ name = "sacrebleu", specifier = ">=2.4.3" },
|
|
|
1030 |
]
|
1031 |
|
1032 |
[[package]]
|
1033 |
+
name = "markdown-it-py"
|
1034 |
+
version = "3.0.0"
|
1035 |
source = { registry = "https://pypi.org/simple" }
|
1036 |
+
dependencies = [
|
1037 |
+
{ name = "mdurl" },
|
1038 |
+
]
|
1039 |
+
sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 }
|
1040 |
+
wheels = [
|
1041 |
+
{ url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 },
|
1042 |
+
]
|
1043 |
+
|
1044 |
+
[[package]]
|
1045 |
+
name = "markupsafe"
|
1046 |
+
version = "2.1.5"
|
1047 |
+
source = { registry = "https://pypi.org/simple" }
|
1048 |
+
sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384 }
|
1049 |
+
wheels = [
|
1050 |
+
{ url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206 },
|
1051 |
+
{ url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079 },
|
1052 |
+
{ url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620 },
|
1053 |
+
{ url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818 },
|
1054 |
+
{ url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493 },
|
1055 |
+
{ url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630 },
|
1056 |
+
{ url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745 },
|
1057 |
+
{ url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021 },
|
1058 |
+
{ url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659 },
|
1059 |
+
{ url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213 },
|
1060 |
+
{ url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219 },
|
1061 |
+
{ url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098 },
|
1062 |
+
{ url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014 },
|
1063 |
+
{ url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220 },
|
1064 |
+
{ url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756 },
|
1065 |
+
{ url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988 },
|
1066 |
+
{ url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718 },
|
1067 |
+
{ url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317 },
|
1068 |
+
{ url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670 },
|
1069 |
+
{ url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224 },
|
1070 |
+
{ url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215 },
|
1071 |
+
{ url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069 },
|
1072 |
+
{ url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452 },
|
1073 |
+
{ url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462 },
|
1074 |
+
{ url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869 },
|
1075 |
+
{ url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906 },
|
1076 |
+
{ url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296 },
|
1077 |
+
{ url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038 },
|
1078 |
+
{ url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572 },
|
1079 |
+
{ url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127 },
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1080 |
]
|
1081 |
|
1082 |
[[package]]
|
|
|
1127 |
{ url = "https://files.pythonhosted.org/packages/01/8a/760f7fce66b39f447ad160800619d0bd5d0936d2b4633587116534a4afe0/matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e", size = 9093770 },
|
1128 |
]
|
1129 |
|
1130 |
+
[[package]]
|
1131 |
+
name = "mdurl"
|
1132 |
+
version = "0.1.2"
|
1133 |
+
source = { registry = "https://pypi.org/simple" }
|
1134 |
+
sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 }
|
1135 |
+
wheels = [
|
1136 |
+
{ url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 },
|
1137 |
+
]
|
1138 |
+
|
1139 |
[[package]]
|
1140 |
name = "mpmath"
|
1141 |
version = "1.3.0"
|
|
|
1236 |
]
|
1237 |
|
1238 |
[[package]]
|
1239 |
+
name = "narwhals"
|
1240 |
+
version = "1.27.1"
|
1241 |
source = { registry = "https://pypi.org/simple" }
|
1242 |
+
sdist = { url = "https://files.pythonhosted.org/packages/5a/d6/1dadff863b95e4ec74eaba7979278e446699532136c74183a398778b1949/narwhals-1.27.1.tar.gz", hash = "sha256:68505d0cee1e6c00382ac8b65e922f8b694a11cbe482a057fa63139de8d0ea03", size = 251670 }
|
1243 |
wheels = [
|
1244 |
+
{ url = "https://files.pythonhosted.org/packages/ed/ea/dc14822a0a75e027562f081eb638417b1b7845e1e01dd85c5b6573ebf1b2/narwhals-1.27.1-py3-none-any.whl", hash = "sha256:71e4a126007886e3dd9d71d0d5921ebd2e8c1f9be9c405fe11850ece2b066c59", size = 308837 },
|
1245 |
]
|
1246 |
|
1247 |
[[package]]
|
1248 |
+
name = "networkx"
|
1249 |
+
version = "3.4.2"
|
1250 |
source = { registry = "https://pypi.org/simple" }
|
1251 |
+
sdist = { url = "https://files.pythonhosted.org/packages/fd/1d/06475e1cd5264c0b870ea2cc6fdb3e37177c1e565c43f56ff17a10e3937f/networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1", size = 2151368 }
|
|
|
|
|
|
|
|
|
|
|
|
|
1252 |
wheels = [
|
1253 |
+
{ url = "https://files.pythonhosted.org/packages/b9/54/dd730b32ea14ea797530a4479b2ed46a6fb250f682a9cfb997e968bf0261/networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f", size = 1723263 },
|
1254 |
]
|
1255 |
|
1256 |
[[package]]
|
|
|
1452 |
{ url = "https://files.pythonhosted.org/packages/55/4c/906b5b32c4c01402ac3b4c3fc28f601443ac5c6f13c84a95dd178c8d545d/openai-1.52.2-py3-none-any.whl", hash = "sha256:57e9e37bc407f39bb6ec3a27d7e8fb9728b2779936daa1fcf95df17d3edfaccc", size = 386947 },
|
1453 |
]
|
1454 |
|
1455 |
+
[[package]]
|
1456 |
+
name = "orjson"
|
1457 |
+
version = "3.10.15"
|
1458 |
+
source = { registry = "https://pypi.org/simple" }
|
1459 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ae/f9/5dea21763eeff8c1590076918a446ea3d6140743e0e36f58f369928ed0f4/orjson-3.10.15.tar.gz", hash = "sha256:05ca7fe452a2e9d8d9d706a2984c95b9c2ebc5db417ce0b7a49b91d50642a23e", size = 5282482 }
|
1460 |
+
wheels = [
|
1461 |
+
{ url = "https://files.pythonhosted.org/packages/52/09/e5ff18ad009e6f97eb7edc5f67ef98b3ce0c189da9c3eaca1f9587cd4c61/orjson-3.10.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:552c883d03ad185f720d0c09583ebde257e41b9521b74ff40e08b7dec4559c04", size = 249532 },
|
1462 |
+
{ url = "https://files.pythonhosted.org/packages/bd/b8/a75883301fe332bd433d9b0ded7d2bb706ccac679602c3516984f8814fb5/orjson-3.10.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:616e3e8d438d02e4854f70bfdc03a6bcdb697358dbaa6bcd19cbe24d24ece1f8", size = 125229 },
|
1463 |
+
{ url = "https://files.pythonhosted.org/packages/83/4b/22f053e7a364cc9c685be203b1e40fc5f2b3f164a9b2284547504eec682e/orjson-3.10.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c2c79fa308e6edb0ffab0a31fd75a7841bf2a79a20ef08a3c6e3b26814c8ca8", size = 150148 },
|
1464 |
+
{ url = "https://files.pythonhosted.org/packages/63/64/1b54fc75ca328b57dd810541a4035fe48c12a161d466e3cf5b11a8c25649/orjson-3.10.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cb85490aa6bf98abd20607ab5c8324c0acb48d6da7863a51be48505646c814", size = 139748 },
|
1465 |
+
{ url = "https://files.pythonhosted.org/packages/5e/ff/ff0c5da781807bb0a5acd789d9a7fbcb57f7b0c6e1916595da1f5ce69f3c/orjson-3.10.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763dadac05e4e9d2bc14938a45a2d0560549561287d41c465d3c58aec818b164", size = 154559 },
|
1466 |
+
{ url = "https://files.pythonhosted.org/packages/4e/9a/11e2974383384ace8495810d4a2ebef5f55aacfc97b333b65e789c9d362d/orjson-3.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a330b9b4734f09a623f74a7490db713695e13b67c959713b78369f26b3dee6bf", size = 130349 },
|
1467 |
+
{ url = "https://files.pythonhosted.org/packages/2d/c4/dd9583aea6aefee1b64d3aed13f51d2aadb014028bc929fe52936ec5091f/orjson-3.10.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a61a4622b7ff861f019974f73d8165be1bd9a0855e1cad18ee167acacabeb061", size = 138514 },
|
1468 |
+
{ url = "https://files.pythonhosted.org/packages/53/3e/dcf1729230654f5c5594fc752de1f43dcf67e055ac0d300c8cdb1309269a/orjson-3.10.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:acd271247691574416b3228db667b84775c497b245fa275c6ab90dc1ffbbd2b3", size = 130940 },
|
1469 |
+
{ url = "https://files.pythonhosted.org/packages/e8/2b/b9759fe704789937705c8a56a03f6c03e50dff7df87d65cba9a20fec5282/orjson-3.10.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4759b109c37f635aa5c5cc93a1b26927bfde24b254bcc0e1149a9fada253d2d", size = 414713 },
|
1470 |
+
{ url = "https://files.pythonhosted.org/packages/a7/6b/b9dfdbd4b6e20a59238319eb203ae07c3f6abf07eef909169b7a37ae3bba/orjson-3.10.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e992fd5cfb8b9f00bfad2fd7a05a4299db2bbe92e6440d9dd2fab27655b3182", size = 141028 },
|
1471 |
+
{ url = "https://files.pythonhosted.org/packages/7c/b5/40f5bbea619c7caf75eb4d652a9821875a8ed04acc45fe3d3ef054ca69fb/orjson-3.10.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f95fb363d79366af56c3f26b71df40b9a583b07bbaaf5b317407c4d58497852e", size = 129715 },
|
1472 |
+
{ url = "https://files.pythonhosted.org/packages/38/60/2272514061cbdf4d672edbca6e59c7e01cd1c706e881427d88f3c3e79761/orjson-3.10.15-cp310-cp310-win32.whl", hash = "sha256:f9875f5fea7492da8ec2444839dcc439b0ef298978f311103d0b7dfd775898ab", size = 142473 },
|
1473 |
+
{ url = "https://files.pythonhosted.org/packages/11/5d/be1490ff7eafe7fef890eb4527cf5bcd8cfd6117f3efe42a3249ec847b60/orjson-3.10.15-cp310-cp310-win_amd64.whl", hash = "sha256:17085a6aa91e1cd70ca8533989a18b5433e15d29c574582f76f821737c8d5806", size = 133564 },
|
1474 |
+
{ url = "https://files.pythonhosted.org/packages/7a/a2/21b25ce4a2c71dbb90948ee81bd7a42b4fbfc63162e57faf83157d5540ae/orjson-3.10.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c4cc83960ab79a4031f3119cc4b1a1c627a3dc09df125b27c4201dff2af7eaa6", size = 249533 },
|
1475 |
+
{ url = "https://files.pythonhosted.org/packages/b2/85/2076fc12d8225698a51278009726750c9c65c846eda741e77e1761cfef33/orjson-3.10.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ddbeef2481d895ab8be5185f2432c334d6dec1f5d1933a9c83014d188e102cef", size = 125230 },
|
1476 |
+
{ url = "https://files.pythonhosted.org/packages/06/df/a85a7955f11274191eccf559e8481b2be74a7c6d43075d0a9506aa80284d/orjson-3.10.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9e590a0477b23ecd5b0ac865b1b907b01b3c5535f5e8a8f6ab0e503efb896334", size = 150148 },
|
1477 |
+
{ url = "https://files.pythonhosted.org/packages/37/b3/94c55625a29b8767c0eed194cb000b3787e3c23b4cdd13be17bae6ccbb4b/orjson-3.10.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6be38bd103d2fd9bdfa31c2720b23b5d47c6796bcb1d1b598e3924441b4298d", size = 139749 },
|
1478 |
+
{ url = "https://files.pythonhosted.org/packages/53/ba/c608b1e719971e8ddac2379f290404c2e914cf8e976369bae3cad88768b1/orjson-3.10.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ff4f6edb1578960ed628a3b998fa54d78d9bb3e2eb2cfc5c2a09732431c678d0", size = 154558 },
|
1479 |
+
{ url = "https://files.pythonhosted.org/packages/b2/c4/c1fb835bb23ad788a39aa9ebb8821d51b1c03588d9a9e4ca7de5b354fdd5/orjson-3.10.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b0482b21d0462eddd67e7fce10b89e0b6ac56570424662b685a0d6fccf581e13", size = 130349 },
|
1480 |
+
{ url = "https://files.pythonhosted.org/packages/78/14/bb2b48b26ab3c570b284eb2157d98c1ef331a8397f6c8bd983b270467f5c/orjson-3.10.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bb5cc3527036ae3d98b65e37b7986a918955f85332c1ee07f9d3f82f3a6899b5", size = 138513 },
|
1481 |
+
{ url = "https://files.pythonhosted.org/packages/4a/97/d5b353a5fe532e92c46467aa37e637f81af8468aa894cd77d2ec8a12f99e/orjson-3.10.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d569c1c462912acdd119ccbf719cf7102ea2c67dd03b99edcb1a3048651ac96b", size = 130942 },
|
1482 |
+
{ url = "https://files.pythonhosted.org/packages/b5/5d/a067bec55293cca48fea8b9928cfa84c623be0cce8141d47690e64a6ca12/orjson-3.10.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:1e6d33efab6b71d67f22bf2962895d3dc6f82a6273a965fab762e64fa90dc399", size = 414717 },
|
1483 |
+
{ url = "https://files.pythonhosted.org/packages/6f/9a/1485b8b05c6b4c4db172c438cf5db5dcfd10e72a9bc23c151a1137e763e0/orjson-3.10.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c33be3795e299f565681d69852ac8c1bc5c84863c0b0030b2b3468843be90388", size = 141033 },
|
1484 |
+
{ url = "https://files.pythonhosted.org/packages/f8/d2/fc67523656e43a0c7eaeae9007c8b02e86076b15d591e9be11554d3d3138/orjson-3.10.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eea80037b9fae5339b214f59308ef0589fc06dc870578b7cce6d71eb2096764c", size = 129720 },
|
1485 |
+
{ url = "https://files.pythonhosted.org/packages/79/42/f58c7bd4e5b54da2ce2ef0331a39ccbbaa7699b7f70206fbf06737c9ed7d/orjson-3.10.15-cp311-cp311-win32.whl", hash = "sha256:d5ac11b659fd798228a7adba3e37c010e0152b78b1982897020a8e019a94882e", size = 142473 },
|
1486 |
+
{ url = "https://files.pythonhosted.org/packages/00/f8/bb60a4644287a544ec81df1699d5b965776bc9848d9029d9f9b3402ac8bb/orjson-3.10.15-cp311-cp311-win_amd64.whl", hash = "sha256:cf45e0214c593660339ef63e875f32ddd5aa3b4adc15e662cdb80dc49e194f8e", size = 133570 },
|
1487 |
+
{ url = "https://files.pythonhosted.org/packages/66/85/22fe737188905a71afcc4bf7cc4c79cd7f5bbe9ed1fe0aac4ce4c33edc30/orjson-3.10.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9d11c0714fc85bfcf36ada1179400862da3288fc785c30e8297844c867d7505a", size = 249504 },
|
1488 |
+
{ url = "https://files.pythonhosted.org/packages/48/b7/2622b29f3afebe938a0a9037e184660379797d5fd5234e5998345d7a5b43/orjson-3.10.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dba5a1e85d554e3897fa9fe6fbcff2ed32d55008973ec9a2b992bd9a65d2352d", size = 125080 },
|
1489 |
+
{ url = "https://files.pythonhosted.org/packages/ce/8f/0b72a48f4403d0b88b2a41450c535b3e8989e8a2d7800659a967efc7c115/orjson-3.10.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7723ad949a0ea502df656948ddd8b392780a5beaa4c3b5f97e525191b102fff0", size = 150121 },
|
1490 |
+
{ url = "https://files.pythonhosted.org/packages/06/ec/acb1a20cd49edb2000be5a0404cd43e3c8aad219f376ac8c60b870518c03/orjson-3.10.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6fd9bc64421e9fe9bd88039e7ce8e58d4fead67ca88e3a4014b143cec7684fd4", size = 139796 },
|
1491 |
+
{ url = "https://files.pythonhosted.org/packages/33/e1/f7840a2ea852114b23a52a1c0b2bea0a1ea22236efbcdb876402d799c423/orjson-3.10.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dadba0e7b6594216c214ef7894c4bd5f08d7c0135f4dd0145600be4fbcc16767", size = 154636 },
|
1492 |
+
{ url = "https://files.pythonhosted.org/packages/fa/da/31543337febd043b8fa80a3b67de627669b88c7b128d9ad4cc2ece005b7a/orjson-3.10.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48f59114fe318f33bbaee8ebeda696d8ccc94c9e90bc27dbe72153094e26f41", size = 130621 },
|
1493 |
+
{ url = "https://files.pythonhosted.org/packages/ed/78/66115dc9afbc22496530d2139f2f4455698be444c7c2475cb48f657cefc9/orjson-3.10.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:035fb83585e0f15e076759b6fedaf0abb460d1765b6a36f48018a52858443514", size = 138516 },
|
1494 |
+
{ url = "https://files.pythonhosted.org/packages/22/84/cd4f5fb5427ffcf823140957a47503076184cb1ce15bcc1165125c26c46c/orjson-3.10.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d13b7fe322d75bf84464b075eafd8e7dd9eae05649aa2a5354cfa32f43c59f17", size = 130762 },
|
1495 |
+
{ url = "https://files.pythonhosted.org/packages/93/1f/67596b711ba9f56dd75d73b60089c5c92057f1130bb3a25a0f53fb9a583b/orjson-3.10.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:7066b74f9f259849629e0d04db6609db4cf5b973248f455ba5d3bd58a4daaa5b", size = 414700 },
|
1496 |
+
{ url = "https://files.pythonhosted.org/packages/7c/0c/6a3b3271b46443d90efb713c3e4fe83fa8cd71cda0d11a0f69a03f437c6e/orjson-3.10.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88dc3f65a026bd3175eb157fea994fca6ac7c4c8579fc5a86fc2114ad05705b7", size = 141077 },
|
1497 |
+
{ url = "https://files.pythonhosted.org/packages/3b/9b/33c58e0bfc788995eccd0d525ecd6b84b40d7ed182dd0751cd4c1322ac62/orjson-3.10.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b342567e5465bd99faa559507fe45e33fc76b9fb868a63f1642c6bc0735ad02a", size = 129898 },
|
1498 |
+
{ url = "https://files.pythonhosted.org/packages/01/c1/d577ecd2e9fa393366a1ea0a9267f6510d86e6c4bb1cdfb9877104cac44c/orjson-3.10.15-cp312-cp312-win32.whl", hash = "sha256:0a4f27ea5617828e6b58922fdbec67b0aa4bb844e2d363b9244c47fa2180e665", size = 142566 },
|
1499 |
+
{ url = "https://files.pythonhosted.org/packages/ed/eb/a85317ee1732d1034b92d56f89f1de4d7bf7904f5c8fb9dcdd5b1c83917f/orjson-3.10.15-cp312-cp312-win_amd64.whl", hash = "sha256:ef5b87e7aa9545ddadd2309efe6824bd3dd64ac101c15dae0f2f597911d46eaa", size = 133732 },
|
1500 |
+
{ url = "https://files.pythonhosted.org/packages/06/10/fe7d60b8da538e8d3d3721f08c1b7bff0491e8fa4dd3bf11a17e34f4730e/orjson-3.10.15-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bae0e6ec2b7ba6895198cd981b7cca95d1487d0147c8ed751e5632ad16f031a6", size = 249399 },
|
1501 |
+
{ url = "https://files.pythonhosted.org/packages/6b/83/52c356fd3a61abd829ae7e4366a6fe8e8863c825a60d7ac5156067516edf/orjson-3.10.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93ce145b2db1252dd86af37d4165b6faa83072b46e3995ecc95d4b2301b725a", size = 125044 },
|
1502 |
+
{ url = "https://files.pythonhosted.org/packages/55/b2/d06d5901408e7ded1a74c7c20d70e3a127057a6d21355f50c90c0f337913/orjson-3.10.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c203f6f969210128af3acae0ef9ea6aab9782939f45f6fe02d05958fe761ef9", size = 150066 },
|
1503 |
+
{ url = "https://files.pythonhosted.org/packages/75/8c/60c3106e08dc593a861755781c7c675a566445cc39558677d505878d879f/orjson-3.10.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8918719572d662e18b8af66aef699d8c21072e54b6c82a3f8f6404c1f5ccd5e0", size = 139737 },
|
1504 |
+
{ url = "https://files.pythonhosted.org/packages/6a/8c/ae00d7d0ab8a4490b1efeb01ad4ab2f1982e69cc82490bf8093407718ff5/orjson-3.10.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f71eae9651465dff70aa80db92586ad5b92df46a9373ee55252109bb6b703307", size = 154804 },
|
1505 |
+
{ url = "https://files.pythonhosted.org/packages/22/86/65dc69bd88b6dd254535310e97bc518aa50a39ef9c5a2a5d518e7a223710/orjson-3.10.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e117eb299a35f2634e25ed120c37c641398826c2f5a3d3cc39f5993b96171b9e", size = 130583 },
|
1506 |
+
{ url = "https://files.pythonhosted.org/packages/bb/00/6fe01ededb05d52be42fabb13d93a36e51f1fd9be173bd95707d11a8a860/orjson-3.10.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:13242f12d295e83c2955756a574ddd6741c81e5b99f2bef8ed8d53e47a01e4b7", size = 138465 },
|
1507 |
+
{ url = "https://files.pythonhosted.org/packages/db/2f/4cc151c4b471b0cdc8cb29d3eadbce5007eb0475d26fa26ed123dca93b33/orjson-3.10.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7946922ada8f3e0b7b958cc3eb22cfcf6c0df83d1fe5521b4a100103e3fa84c8", size = 130742 },
|
1508 |
+
{ url = "https://files.pythonhosted.org/packages/9f/13/8a6109e4b477c518498ca37963d9c0eb1508b259725553fb53d53b20e2ea/orjson-3.10.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b7155eb1623347f0f22c38c9abdd738b287e39b9982e1da227503387b81b34ca", size = 414669 },
|
1509 |
+
{ url = "https://files.pythonhosted.org/packages/22/7b/1d229d6d24644ed4d0a803de1b0e2df832032d5beda7346831c78191b5b2/orjson-3.10.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:208beedfa807c922da4e81061dafa9c8489c6328934ca2a562efa707e049e561", size = 141043 },
|
1510 |
+
{ url = "https://files.pythonhosted.org/packages/cc/d3/6dc91156cf12ed86bed383bcb942d84d23304a1e57b7ab030bf60ea130d6/orjson-3.10.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eca81f83b1b8c07449e1d6ff7074e82e3fd6777e588f1a6632127f286a968825", size = 129826 },
|
1511 |
+
{ url = "https://files.pythonhosted.org/packages/b3/38/c47c25b86f6996f1343be721b6ea4367bc1c8bc0fc3f6bbcd995d18cb19d/orjson-3.10.15-cp313-cp313-win32.whl", hash = "sha256:c03cd6eea1bd3b949d0d007c8d57049aa2b39bd49f58b4b2af571a5d3833d890", size = 142542 },
|
1512 |
+
{ url = "https://files.pythonhosted.org/packages/27/f1/1d7ec15b20f8ce9300bc850de1e059132b88990e46cd0ccac29cbf11e4f9/orjson-3.10.15-cp313-cp313-win_amd64.whl", hash = "sha256:fd56a26a04f6ba5fb2045b0acc487a63162a958ed837648c5781e1fe3316cfbf", size = 133444 },
|
1513 |
+
]
|
1514 |
+
|
1515 |
[[package]]
|
1516 |
name = "packaging"
|
1517 |
version = "24.1"
|
|
|
1636 |
{ url = "https://files.pythonhosted.org/packages/ec/3d/c32a51d848401bd94cabb8767a39621496491ee7cd5199856b77da9b18ad/pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316", size = 2567508 },
|
1637 |
]
|
1638 |
|
1639 |
+
[[package]]
|
1640 |
+
name = "plotly"
|
1641 |
+
version = "6.0.0"
|
1642 |
+
source = { registry = "https://pypi.org/simple" }
|
1643 |
+
dependencies = [
|
1644 |
+
{ name = "narwhals" },
|
1645 |
+
{ name = "packaging" },
|
1646 |
+
]
|
1647 |
+
sdist = { url = "https://files.pythonhosted.org/packages/9c/80/761c14012d6daf18e12b6d1e4f6b218e999bcceb694d7a9b180154f9e4db/plotly-6.0.0.tar.gz", hash = "sha256:c4aad38b8c3d65e4a5e7dd308b084143b9025c2cc9d5317fc1f1d30958db87d3", size = 8111782 }
|
1648 |
+
wheels = [
|
1649 |
+
{ url = "https://files.pythonhosted.org/packages/0e/77/a946f38b57fb88e736c71fbdd737a1aebd27b532bda0779c137f357cf5fc/plotly-6.0.0-py3-none-any.whl", hash = "sha256:f708871c3a9349a68791ff943a5781b1ec04de7769ea69068adcd9202e57653a", size = 14805949 },
|
1650 |
+
]
|
1651 |
+
|
1652 |
[[package]]
|
1653 |
name = "portalocker"
|
1654 |
version = "2.10.1"
|
|
|
1871 |
{ url = "https://files.pythonhosted.org/packages/a9/f9/b6bcaf874f410564a78908739c80861a171788ef4d4f76f5009656672dfe/pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753", size = 1920344 },
|
1872 |
]
|
1873 |
|
1874 |
+
[[package]]
|
1875 |
+
name = "pydub"
|
1876 |
+
version = "0.25.1"
|
1877 |
+
source = { registry = "https://pypi.org/simple" }
|
1878 |
+
sdist = { url = "https://files.pythonhosted.org/packages/fe/9a/e6bca0eed82db26562c73b5076539a4a08d3cffd19c3cc5913a3e61145fd/pydub-0.25.1.tar.gz", hash = "sha256:980a33ce9949cab2a569606b65674d748ecbca4f0796887fd6f46173a7b0d30f", size = 38326 }
|
1879 |
+
wheels = [
|
1880 |
+
{ url = "https://files.pythonhosted.org/packages/a6/53/d78dc063216e62fc55f6b2eebb447f6a4b0a59f55c8406376f76bf959b08/pydub-0.25.1-py2.py3-none-any.whl", hash = "sha256:65617e33033874b59d87db603aa1ed450633288aefead953b30bded59cb599a6", size = 32327 },
|
1881 |
+
]
|
1882 |
+
|
1883 |
+
[[package]]
|
1884 |
+
name = "pygments"
|
1885 |
+
version = "2.19.1"
|
1886 |
+
source = { registry = "https://pypi.org/simple" }
|
1887 |
+
sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 }
|
1888 |
+
wheels = [
|
1889 |
+
{ url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 },
|
1890 |
+
]
|
1891 |
+
|
1892 |
[[package]]
|
1893 |
name = "pyparsing"
|
1894 |
version = "3.2.0"
|
|
|
1919 |
{ url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
|
1920 |
]
|
1921 |
|
1922 |
+
[[package]]
|
1923 |
+
name = "python-multipart"
|
1924 |
+
version = "0.0.20"
|
1925 |
+
source = { registry = "https://pypi.org/simple" }
|
1926 |
+
sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158 }
|
1927 |
+
wheels = [
|
1928 |
+
{ url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546 },
|
1929 |
+
]
|
1930 |
+
|
1931 |
[[package]]
|
1932 |
name = "pytz"
|
1933 |
version = "2024.2"
|
|
|
2084 |
{ url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
|
2085 |
]
|
2086 |
|
2087 |
+
[[package]]
|
2088 |
+
name = "responses"
|
2089 |
+
version = "0.18.0"
|
2090 |
+
source = { registry = "https://pypi.org/simple" }
|
2091 |
+
dependencies = [
|
2092 |
+
{ name = "requests" },
|
2093 |
+
{ name = "urllib3" },
|
2094 |
+
]
|
2095 |
+
sdist = { url = "https://files.pythonhosted.org/packages/03/a5/186653e51cb20fe3ac793403334d4d077fbb7bb18a9c5c2fce8304d5a2e2/responses-0.18.0.tar.gz", hash = "sha256:380cad4c1c1dc942e5e8a8eaae0b4d4edf708f4f010db8b7bcfafad1fcd254ff", size = 45885 }
|
2096 |
+
wheels = [
|
2097 |
+
{ url = "https://files.pythonhosted.org/packages/79/f3/2b3a6dc5986303b3dd1bbbcf482022acb2583c428cd23f0b6d37b1a1a519/responses-0.18.0-py3-none-any.whl", hash = "sha256:15c63ad16de13ee8e7182d99c9334f64fd81f1ee79f90748d527c28f7ca9dd51", size = 38735 },
|
2098 |
+
]
|
2099 |
+
|
2100 |
+
[[package]]
|
2101 |
+
name = "rich"
|
2102 |
+
version = "13.9.4"
|
2103 |
+
source = { registry = "https://pypi.org/simple" }
|
2104 |
+
dependencies = [
|
2105 |
+
{ name = "markdown-it-py" },
|
2106 |
+
{ name = "pygments" },
|
2107 |
+
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
|
2108 |
+
]
|
2109 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149 }
|
2110 |
+
wheels = [
|
2111 |
+
{ url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424 },
|
2112 |
+
]
|
2113 |
+
|
2114 |
+
[[package]]
|
2115 |
+
name = "ruff"
|
2116 |
+
version = "0.9.7"
|
2117 |
+
source = { registry = "https://pypi.org/simple" }
|
2118 |
+
sdist = { url = "https://files.pythonhosted.org/packages/39/8b/a86c300359861b186f18359adf4437ac8e4c52e42daa9eedc731ef9d5b53/ruff-0.9.7.tar.gz", hash = "sha256:643757633417907510157b206e490c3aa11cab0c087c912f60e07fbafa87a4c6", size = 3669813 }
|
2119 |
+
wheels = [
|
2120 |
+
{ url = "https://files.pythonhosted.org/packages/b1/f3/3a1d22973291226df4b4e2ff70196b926b6f910c488479adb0eeb42a0d7f/ruff-0.9.7-py3-none-linux_armv6l.whl", hash = "sha256:99d50def47305fe6f233eb8dabfd60047578ca87c9dcb235c9723ab1175180f4", size = 11774588 },
|
2121 |
+
{ url = "https://files.pythonhosted.org/packages/8e/c9/b881f4157b9b884f2994fd08ee92ae3663fb24e34b0372ac3af999aa7fc6/ruff-0.9.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d59105ae9c44152c3d40a9c40d6331a7acd1cdf5ef404fbe31178a77b174ea66", size = 11746848 },
|
2122 |
+
{ url = "https://files.pythonhosted.org/packages/14/89/2f546c133f73886ed50a3d449e6bf4af27d92d2f960a43a93d89353f0945/ruff-0.9.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f313b5800483770bd540cddac7c90fc46f895f427b7820f18fe1822697f1fec9", size = 11177525 },
|
2123 |
+
{ url = "https://files.pythonhosted.org/packages/d7/93/6b98f2c12bf28ab9def59c50c9c49508519c5b5cfecca6de871cf01237f6/ruff-0.9.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:042ae32b41343888f59c0a4148f103208bf6b21c90118d51dc93a68366f4e903", size = 11996580 },
|
2124 |
+
{ url = "https://files.pythonhosted.org/packages/8e/3f/b3fcaf4f6d875e679ac2b71a72f6691a8128ea3cb7be07cbb249f477c061/ruff-0.9.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:87862589373b33cc484b10831004e5e5ec47dc10d2b41ba770e837d4f429d721", size = 11525674 },
|
2125 |
+
{ url = "https://files.pythonhosted.org/packages/f0/48/33fbf18defb74d624535d5d22adcb09a64c9bbabfa755bc666189a6b2210/ruff-0.9.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a17e1e01bee0926d351a1ee9bc15c445beae888f90069a6192a07a84af544b6b", size = 12739151 },
|
2126 |
+
{ url = "https://files.pythonhosted.org/packages/63/b5/7e161080c5e19fa69495cbab7c00975ef8a90f3679caa6164921d7f52f4a/ruff-0.9.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7c1f880ac5b2cbebd58b8ebde57069a374865c73f3bf41f05fe7a179c1c8ef22", size = 13416128 },
|
2127 |
+
{ url = "https://files.pythonhosted.org/packages/4e/c8/b5e7d61fb1c1b26f271ac301ff6d9de5e4d9a9a63f67d732fa8f200f0c88/ruff-0.9.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e63fc20143c291cab2841dbb8260e96bafbe1ba13fd3d60d28be2c71e312da49", size = 12870858 },
|
2128 |
+
{ url = "https://files.pythonhosted.org/packages/da/cb/2a1a8e4e291a54d28259f8fc6a674cd5b8833e93852c7ef5de436d6ed729/ruff-0.9.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91ff963baed3e9a6a4eba2a02f4ca8eaa6eba1cc0521aec0987da8d62f53cbef", size = 14786046 },
|
2129 |
+
{ url = "https://files.pythonhosted.org/packages/ca/6c/c8f8a313be1943f333f376d79724260da5701426c0905762e3ddb389e3f4/ruff-0.9.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88362e3227c82f63eaebf0b2eff5b88990280fb1ecf7105523883ba8c3aaf6fb", size = 12550834 },
|
2130 |
+
{ url = "https://files.pythonhosted.org/packages/9d/ad/f70cf5e8e7c52a25e166bdc84c082163c9c6f82a073f654c321b4dff9660/ruff-0.9.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0372c5a90349f00212270421fe91874b866fd3626eb3b397ede06cd385f6f7e0", size = 11961307 },
|
2131 |
+
{ url = "https://files.pythonhosted.org/packages/52/d5/4f303ea94a5f4f454daf4d02671b1fbfe2a318b5fcd009f957466f936c50/ruff-0.9.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d76b8ab60e99e6424cd9d3d923274a1324aefce04f8ea537136b8398bbae0a62", size = 11612039 },
|
2132 |
+
{ url = "https://files.pythonhosted.org/packages/eb/c8/bd12a23a75603c704ce86723be0648ba3d4ecc2af07eecd2e9fa112f7e19/ruff-0.9.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:0c439bdfc8983e1336577f00e09a4e7a78944fe01e4ea7fe616d00c3ec69a3d0", size = 12168177 },
|
2133 |
+
{ url = "https://files.pythonhosted.org/packages/cc/57/d648d4f73400fef047d62d464d1a14591f2e6b3d4a15e93e23a53c20705d/ruff-0.9.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:115d1f15e8fdd445a7b4dc9a30abae22de3f6bcabeb503964904471691ef7606", size = 12610122 },
|
2134 |
+
{ url = "https://files.pythonhosted.org/packages/49/79/acbc1edd03ac0e2a04ae2593555dbc9990b34090a9729a0c4c0cf20fb595/ruff-0.9.7-py3-none-win32.whl", hash = "sha256:e9ece95b7de5923cbf38893f066ed2872be2f2f477ba94f826c8defdd6ec6b7d", size = 9988751 },
|
2135 |
+
{ url = "https://files.pythonhosted.org/packages/6d/95/67153a838c6b6ba7a2401241fd8a00cd8c627a8e4a0491b8d853dedeffe0/ruff-0.9.7-py3-none-win_amd64.whl", hash = "sha256:3770fe52b9d691a15f0b87ada29c45324b2ace8f01200fb0c14845e499eb0c2c", size = 11002987 },
|
2136 |
+
{ url = "https://files.pythonhosted.org/packages/63/6a/aca01554949f3a401991dc32fe22837baeaccb8a0d868256cbb26a029778/ruff-0.9.7-py3-none-win_arm64.whl", hash = "sha256:b075a700b2533feb7a01130ff656a4ec0d5f340bb540ad98759b8401c32c2037", size = 10177763 },
|
2137 |
+
]
|
2138 |
+
|
2139 |
[[package]]
|
2140 |
name = "sacrebleu"
|
2141 |
version = "2.4.3"
|
|
|
2153 |
{ url = "https://files.pythonhosted.org/packages/15/d8/e51d35bc863caa19ddeae48dfb890581a19326973ad1c9fa5dcfc63310f7/sacrebleu-2.4.3-py3-none-any.whl", hash = "sha256:a976fd6998d8ced267a722120ec7fc47083c8e9745d8808ccee6424464a0aa31", size = 103964 },
|
2154 |
]
|
2155 |
|
2156 |
+
[[package]]
|
2157 |
+
name = "safehttpx"
|
2158 |
+
version = "0.1.6"
|
2159 |
+
source = { registry = "https://pypi.org/simple" }
|
2160 |
+
dependencies = [
|
2161 |
+
{ name = "httpx" },
|
2162 |
+
]
|
2163 |
+
sdist = { url = "https://files.pythonhosted.org/packages/67/4c/19db75e6405692b2a96af8f06d1258f8aa7290bdc35ac966f03e207f6d7f/safehttpx-0.1.6.tar.gz", hash = "sha256:b356bfc82cee3a24c395b94a2dbeabbed60aff1aa5fa3b5fe97c4f2456ebce42", size = 9987 }
|
2164 |
+
wheels = [
|
2165 |
+
{ url = "https://files.pythonhosted.org/packages/4d/c0/1108ad9f01567f66b3154063605b350b69c3c9366732e09e45f9fd0d1deb/safehttpx-0.1.6-py3-none-any.whl", hash = "sha256:407cff0b410b071623087c63dd2080c3b44dc076888d8c5823c00d1e58cb381c", size = 8692 },
|
2166 |
+
]
|
2167 |
+
|
2168 |
[[package]]
|
2169 |
name = "safetensors"
|
2170 |
version = "0.4.5"
|
|
|
2226 |
{ url = "https://files.pythonhosted.org/packages/19/46/5d11dc300feaad285c2f1bd784ff3f689f5e0ab6be49aaf568f3a77019eb/safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:21742b391b859e67b26c0b2ac37f52c9c0944a879a25ad2f9f9f3cd61e7fda8f", size = 606660 },
|
2227 |
]
|
2228 |
|
2229 |
+
[[package]]
|
2230 |
+
name = "semantic-version"
|
2231 |
+
version = "2.10.0"
|
2232 |
+
source = { registry = "https://pypi.org/simple" }
|
2233 |
+
sdist = { url = "https://files.pythonhosted.org/packages/7d/31/f2289ce78b9b473d582568c234e104d2a342fd658cc288a7553d83bb8595/semantic_version-2.10.0.tar.gz", hash = "sha256:bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c", size = 52289 }
|
2234 |
+
wheels = [
|
2235 |
+
{ url = "https://files.pythonhosted.org/packages/6a/23/8146aad7d88f4fcb3a6218f41a60f6c2d4e3a72de72da1825dc7c8f7877c/semantic_version-2.10.0-py2.py3-none-any.whl", hash = "sha256:de78a3b8e0feda74cabc54aab2da702113e33ac9d9eb9d2389bcf1f58b7d9177", size = 15552 },
|
2236 |
+
]
|
2237 |
+
|
2238 |
[[package]]
|
2239 |
name = "sentencepiece"
|
2240 |
version = "0.2.0"
|
|
|
2276 |
{ url = "https://files.pythonhosted.org/packages/90/12/282ee9bce8b58130cb762fbc9beabd531549952cac11fc56add11dcb7ea0/setuptools-75.3.0-py3-none-any.whl", hash = "sha256:f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd", size = 1251070 },
|
2277 |
]
|
2278 |
|
2279 |
+
[[package]]
|
2280 |
+
name = "shellingham"
|
2281 |
+
version = "1.5.4"
|
2282 |
+
source = { registry = "https://pypi.org/simple" }
|
2283 |
+
sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310 }
|
2284 |
+
wheels = [
|
2285 |
+
{ url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755 },
|
2286 |
+
]
|
2287 |
+
|
2288 |
[[package]]
|
2289 |
name = "six"
|
2290 |
version = "1.16.0"
|
|
|
2303 |
{ url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
|
2304 |
]
|
2305 |
|
2306 |
+
[[package]]
|
2307 |
+
name = "starlette"
|
2308 |
+
version = "0.45.3"
|
2309 |
+
source = { registry = "https://pypi.org/simple" }
|
2310 |
+
dependencies = [
|
2311 |
+
{ name = "anyio" },
|
2312 |
+
]
|
2313 |
+
sdist = { url = "https://files.pythonhosted.org/packages/ff/fb/2984a686808b89a6781526129a4b51266f678b2d2b97ab2d325e56116df8/starlette-0.45.3.tar.gz", hash = "sha256:2cbcba2a75806f8a41c722141486f37c28e30a0921c5f6fe4346cb0dcee1302f", size = 2574076 }
|
2314 |
+
wheels = [
|
2315 |
+
{ url = "https://files.pythonhosted.org/packages/d9/61/f2b52e107b1fc8944b33ef56bf6ac4ebbe16d91b94d2b87ce013bf63fb84/starlette-0.45.3-py3-none-any.whl", hash = "sha256:dfb6d332576f136ec740296c7e8bb8c8a7125044e7c6da30744718880cdd059d", size = 71507 },
|
2316 |
+
]
|
2317 |
+
|
2318 |
[[package]]
|
2319 |
name = "sympy"
|
2320 |
version = "1.13.1"
|
|
|
2426 |
{ url = "https://files.pythonhosted.org/packages/d4/f2/ea998aaf69966a87f92e31db7cba887125994bb9cd9a4dfcc83ac202d446/tokenizers-0.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f40df5e0294a95131cc5f0e0eb91fe86d88837abfbee46b9b3610b09860195a7", size = 9300207 },
|
2427 |
]
|
2428 |
|
2429 |
+
[[package]]
|
2430 |
+
name = "tomlkit"
|
2431 |
+
version = "0.13.2"
|
2432 |
+
source = { registry = "https://pypi.org/simple" }
|
2433 |
+
sdist = { url = "https://files.pythonhosted.org/packages/b1/09/a439bec5888f00a54b8b9f05fa94d7f901d6735ef4e55dcec9bc37b5d8fa/tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79", size = 192885 }
|
2434 |
+
wheels = [
|
2435 |
+
{ url = "https://files.pythonhosted.org/packages/f9/b6/a447b5e4ec71e13871be01ba81f5dfc9d0af7e473da256ff46bc0e24026f/tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde", size = 37955 },
|
2436 |
+
]
|
2437 |
+
|
2438 |
[[package]]
|
2439 |
name = "torch"
|
2440 |
version = "2.5.1"
|
|
|
2523 |
{ url = "https://files.pythonhosted.org/packages/78/eb/65f5ba83c2a123f6498a3097746607e5b2f16add29e36765305e4ac7fdd8/triton-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8182f42fd8080a7d39d666814fa36c5e30cc00ea7eeeb1a2983dbb4c99a0fdc", size = 209551444 },
|
2524 |
]
|
2525 |
|
2526 |
+
[[package]]
|
2527 |
+
name = "typer"
|
2528 |
+
version = "0.15.1"
|
2529 |
+
source = { registry = "https://pypi.org/simple" }
|
2530 |
+
dependencies = [
|
2531 |
+
{ name = "click" },
|
2532 |
+
{ name = "rich" },
|
2533 |
+
{ name = "shellingham" },
|
2534 |
+
{ name = "typing-extensions" },
|
2535 |
+
]
|
2536 |
+
sdist = { url = "https://files.pythonhosted.org/packages/cb/ce/dca7b219718afd37a0068f4f2530a727c2b74a8b6e8e0c0080a4c0de4fcd/typer-0.15.1.tar.gz", hash = "sha256:a0588c0a7fa68a1978a069818657778f86abe6ff5ea6abf472f940a08bfe4f0a", size = 99789 }
|
2537 |
+
wheels = [
|
2538 |
+
{ url = "https://files.pythonhosted.org/packages/d0/cc/0a838ba5ca64dc832aa43f727bd586309846b0ffb2ce52422543e6075e8a/typer-0.15.1-py3-none-any.whl", hash = "sha256:7994fb7b8155b64d3402518560648446072864beefd44aa2dc36972a5972e847", size = 44908 },
|
2539 |
+
]
|
2540 |
+
|
2541 |
[[package]]
|
2542 |
name = "typing-extensions"
|
2543 |
version = "4.12.2"
|
|
|
2565 |
{ url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338 },
|
2566 |
]
|
2567 |
|
2568 |
+
[[package]]
|
2569 |
+
name = "uvicorn"
|
2570 |
+
version = "0.34.0"
|
2571 |
+
source = { registry = "https://pypi.org/simple" }
|
2572 |
+
dependencies = [
|
2573 |
+
{ name = "click" },
|
2574 |
+
{ name = "h11" },
|
2575 |
+
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
|
2576 |
+
]
|
2577 |
+
sdist = { url = "https://files.pythonhosted.org/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568 }
|
2578 |
+
wheels = [
|
2579 |
+
{ url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 },
|
2580 |
+
]
|
2581 |
+
|
2582 |
+
[[package]]
|
2583 |
+
name = "websockets"
|
2584 |
+
version = "14.2"
|
2585 |
+
source = { registry = "https://pypi.org/simple" }
|
2586 |
+
sdist = { url = "https://files.pythonhosted.org/packages/94/54/8359678c726243d19fae38ca14a334e740782336c9f19700858c4eb64a1e/websockets-14.2.tar.gz", hash = "sha256:5059ed9c54945efb321f097084b4c7e52c246f2c869815876a69d1efc4ad6eb5", size = 164394 }
|
2587 |
+
wheels = [
|
2588 |
+
{ url = "https://files.pythonhosted.org/packages/28/fa/76607eb7dcec27b2d18d63f60a32e60e2b8629780f343bb83a4dbb9f4350/websockets-14.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e8179f95323b9ab1c11723e5d91a89403903f7b001828161b480a7810b334885", size = 163089 },
|
2589 |
+
{ url = "https://files.pythonhosted.org/packages/9e/00/ad2246b5030575b79e7af0721810fdaecaf94c4b2625842ef7a756fa06dd/websockets-14.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d8c3e2cdb38f31d8bd7d9d28908005f6fa9def3324edb9bf336d7e4266fd397", size = 160741 },
|
2590 |
+
{ url = "https://files.pythonhosted.org/packages/72/f7/60f10924d333a28a1ff3fcdec85acf226281331bdabe9ad74947e1b7fc0a/websockets-14.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:714a9b682deb4339d39ffa674f7b674230227d981a37d5d174a4a83e3978a610", size = 160996 },
|
2591 |
+
{ url = "https://files.pythonhosted.org/packages/63/7c/c655789cf78648c01ac6ecbe2d6c18f91b75bdc263ffee4d08ce628d12f0/websockets-14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e53c72052f2596fb792a7acd9704cbc549bf70fcde8a99e899311455974ca3", size = 169974 },
|
2592 |
+
{ url = "https://files.pythonhosted.org/packages/fb/5b/013ed8b4611857ac92ac631079c08d9715b388bd1d88ec62e245f87a39df/websockets-14.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3fbd68850c837e57373d95c8fe352203a512b6e49eaae4c2f4088ef8cf21980", size = 168985 },
|
2593 |
+
{ url = "https://files.pythonhosted.org/packages/cd/33/aa3e32fd0df213a5a442310754fe3f89dd87a0b8e5b4e11e0991dd3bcc50/websockets-14.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b27ece32f63150c268593d5fdb82819584831a83a3f5809b7521df0685cd5d8", size = 169297 },
|
2594 |
+
{ url = "https://files.pythonhosted.org/packages/93/17/dae0174883d6399f57853ac44abf5f228eaba86d98d160f390ffabc19b6e/websockets-14.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4daa0faea5424d8713142b33825fff03c736f781690d90652d2c8b053345b0e7", size = 169677 },
|
2595 |
+
{ url = "https://files.pythonhosted.org/packages/42/e2/0375af7ac00169b98647c804651c515054b34977b6c1354f1458e4116c1e/websockets-14.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:bc63cee8596a6ec84d9753fd0fcfa0452ee12f317afe4beae6b157f0070c6c7f", size = 169089 },
|
2596 |
+
{ url = "https://files.pythonhosted.org/packages/73/8d/80f71d2a351a44b602859af65261d3dde3a0ce4e76cf9383738a949e0cc3/websockets-14.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7a570862c325af2111343cc9b0257b7119b904823c675b22d4ac547163088d0d", size = 169026 },
|
2597 |
+
{ url = "https://files.pythonhosted.org/packages/48/97/173b1fa6052223e52bb4054a141433ad74931d94c575e04b654200b98ca4/websockets-14.2-cp310-cp310-win32.whl", hash = "sha256:75862126b3d2d505e895893e3deac0a9339ce750bd27b4ba515f008b5acf832d", size = 163967 },
|
2598 |
+
{ url = "https://files.pythonhosted.org/packages/c0/5b/2fcf60f38252a4562b28b66077e0d2b48f91fef645d5f78874cd1dec807b/websockets-14.2-cp310-cp310-win_amd64.whl", hash = "sha256:cc45afb9c9b2dc0852d5c8b5321759cf825f82a31bfaf506b65bf4668c96f8b2", size = 164413 },
|
2599 |
+
{ url = "https://files.pythonhosted.org/packages/15/b6/504695fb9a33df0ca56d157f5985660b5fc5b4bf8c78f121578d2d653392/websockets-14.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3bdc8c692c866ce5fefcaf07d2b55c91d6922ac397e031ef9b774e5b9ea42166", size = 163088 },
|
2600 |
+
{ url = "https://files.pythonhosted.org/packages/81/26/ebfb8f6abe963c795122439c6433c4ae1e061aaedfc7eff32d09394afbae/websockets-14.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c93215fac5dadc63e51bcc6dceca72e72267c11def401d6668622b47675b097f", size = 160745 },
|
2601 |
+
{ url = "https://files.pythonhosted.org/packages/a1/c6/1435ad6f6dcbff80bb95e8986704c3174da8866ddb751184046f5c139ef6/websockets-14.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1c9b6535c0e2cf8a6bf938064fb754aaceb1e6a4a51a80d884cd5db569886910", size = 160995 },
|
2602 |
+
{ url = "https://files.pythonhosted.org/packages/96/63/900c27cfe8be1a1f2433fc77cd46771cf26ba57e6bdc7cf9e63644a61863/websockets-14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a52a6d7cf6938e04e9dceb949d35fbdf58ac14deea26e685ab6368e73744e4c", size = 170543 },
|
2603 |
+
{ url = "https://files.pythonhosted.org/packages/00/8b/bec2bdba92af0762d42d4410593c1d7d28e9bfd952c97a3729df603dc6ea/websockets-14.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f05702e93203a6ff5226e21d9b40c037761b2cfb637187c9802c10f58e40473", size = 169546 },
|
2604 |
+
{ url = "https://files.pythonhosted.org/packages/6b/a9/37531cb5b994f12a57dec3da2200ef7aadffef82d888a4c29a0d781568e4/websockets-14.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22441c81a6748a53bfcb98951d58d1af0661ab47a536af08920d129b4d1c3473", size = 169911 },
|
2605 |
+
{ url = "https://files.pythonhosted.org/packages/60/d5/a6eadba2ed9f7e65d677fec539ab14a9b83de2b484ab5fe15d3d6d208c28/websockets-14.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd9b868d78b194790e6236d9cbc46d68aba4b75b22497eb4ab64fa640c3af56", size = 170183 },
|
2606 |
+
{ url = "https://files.pythonhosted.org/packages/76/57/a338ccb00d1df881c1d1ee1f2a20c9c1b5b29b51e9e0191ee515d254fea6/websockets-14.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a5a20d5843886d34ff8c57424cc65a1deda4375729cbca4cb6b3353f3ce4142", size = 169623 },
|
2607 |
+
{ url = "https://files.pythonhosted.org/packages/64/22/e5f7c33db0cb2c1d03b79fd60d189a1da044e2661f5fd01d629451e1db89/websockets-14.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:34277a29f5303d54ec6468fb525d99c99938607bc96b8d72d675dee2b9f5bf1d", size = 169583 },
|
2608 |
+
{ url = "https://files.pythonhosted.org/packages/aa/2e/2b4662237060063a22e5fc40d46300a07142afe30302b634b4eebd717c07/websockets-14.2-cp311-cp311-win32.whl", hash = "sha256:02687db35dbc7d25fd541a602b5f8e451a238ffa033030b172ff86a93cb5dc2a", size = 163969 },
|
2609 |
+
{ url = "https://files.pythonhosted.org/packages/94/a5/0cda64e1851e73fc1ecdae6f42487babb06e55cb2f0dc8904b81d8ef6857/websockets-14.2-cp311-cp311-win_amd64.whl", hash = "sha256:862e9967b46c07d4dcd2532e9e8e3c2825e004ffbf91a5ef9dde519ee2effb0b", size = 164408 },
|
2610 |
+
{ url = "https://files.pythonhosted.org/packages/c1/81/04f7a397653dc8bec94ddc071f34833e8b99b13ef1a3804c149d59f92c18/websockets-14.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f20522e624d7ffbdbe259c6b6a65d73c895045f76a93719aa10cd93b3de100c", size = 163096 },
|
2611 |
+
{ url = "https://files.pythonhosted.org/packages/ec/c5/de30e88557e4d70988ed4d2eabd73fd3e1e52456b9f3a4e9564d86353b6d/websockets-14.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:647b573f7d3ada919fd60e64d533409a79dcf1ea21daeb4542d1d996519ca967", size = 160758 },
|
2612 |
+
{ url = "https://files.pythonhosted.org/packages/e5/8c/d130d668781f2c77d106c007b6c6c1d9db68239107c41ba109f09e6c218a/websockets-14.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6af99a38e49f66be5a64b1e890208ad026cda49355661549c507152113049990", size = 160995 },
|
2613 |
+
{ url = "https://files.pythonhosted.org/packages/a6/bc/f6678a0ff17246df4f06765e22fc9d98d1b11a258cc50c5968b33d6742a1/websockets-14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:091ab63dfc8cea748cc22c1db2814eadb77ccbf82829bac6b2fbe3401d548eda", size = 170815 },
|
2614 |
+
{ url = "https://files.pythonhosted.org/packages/d8/b2/8070cb970c2e4122a6ef38bc5b203415fd46460e025652e1ee3f2f43a9a3/websockets-14.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b374e8953ad477d17e4851cdc66d83fdc2db88d9e73abf755c94510ebddceb95", size = 169759 },
|
2615 |
+
{ url = "https://files.pythonhosted.org/packages/81/da/72f7caabd94652e6eb7e92ed2d3da818626e70b4f2b15a854ef60bf501ec/websockets-14.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a39d7eceeea35db85b85e1169011bb4321c32e673920ae9c1b6e0978590012a3", size = 170178 },
|
2616 |
+
{ url = "https://files.pythonhosted.org/packages/31/e0/812725b6deca8afd3a08a2e81b3c4c120c17f68c9b84522a520b816cda58/websockets-14.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0a6f3efd47ffd0d12080594f434faf1cd2549b31e54870b8470b28cc1d3817d9", size = 170453 },
|
2617 |
+
{ url = "https://files.pythonhosted.org/packages/66/d3/8275dbc231e5ba9bb0c4f93144394b4194402a7a0c8ffaca5307a58ab5e3/websockets-14.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:065ce275e7c4ffb42cb738dd6b20726ac26ac9ad0a2a48e33ca632351a737267", size = 169830 },
|
2618 |
+
{ url = "https://files.pythonhosted.org/packages/a3/ae/e7d1a56755ae15ad5a94e80dd490ad09e345365199600b2629b18ee37bc7/websockets-14.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e9d0e53530ba7b8b5e389c02282f9d2aa47581514bd6049d3a7cffe1385cf5fe", size = 169824 },
|
2619 |
+
{ url = "https://files.pythonhosted.org/packages/b6/32/88ccdd63cb261e77b882e706108d072e4f1c839ed723bf91a3e1f216bf60/websockets-14.2-cp312-cp312-win32.whl", hash = "sha256:20e6dd0984d7ca3037afcb4494e48c74ffb51e8013cac71cf607fffe11df7205", size = 163981 },
|
2620 |
+
{ url = "https://files.pythonhosted.org/packages/b3/7d/32cdb77990b3bdc34a306e0a0f73a1275221e9a66d869f6ff833c95b56ef/websockets-14.2-cp312-cp312-win_amd64.whl", hash = "sha256:44bba1a956c2c9d268bdcdf234d5e5ff4c9b6dc3e300545cbe99af59dda9dcce", size = 164421 },
|
2621 |
+
{ url = "https://files.pythonhosted.org/packages/82/94/4f9b55099a4603ac53c2912e1f043d6c49d23e94dd82a9ce1eb554a90215/websockets-14.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f1372e511c7409a542291bce92d6c83320e02c9cf392223272287ce55bc224e", size = 163102 },
|
2622 |
+
{ url = "https://files.pythonhosted.org/packages/8e/b7/7484905215627909d9a79ae07070057afe477433fdacb59bf608ce86365a/websockets-14.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4da98b72009836179bb596a92297b1a61bb5a830c0e483a7d0766d45070a08ad", size = 160766 },
|
2623 |
+
{ url = "https://files.pythonhosted.org/packages/a3/a4/edb62efc84adb61883c7d2c6ad65181cb087c64252138e12d655989eec05/websockets-14.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8a86a269759026d2bde227652b87be79f8a734e582debf64c9d302faa1e9f03", size = 160998 },
|
2624 |
+
{ url = "https://files.pythonhosted.org/packages/f5/79/036d320dc894b96af14eac2529967a6fc8b74f03b83c487e7a0e9043d842/websockets-14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86cf1aaeca909bf6815ea714d5c5736c8d6dd3a13770e885aafe062ecbd04f1f", size = 170780 },
|
2625 |
+
{ url = "https://files.pythonhosted.org/packages/63/75/5737d21ee4dd7e4b9d487ee044af24a935e36a9ff1e1419d684feedcba71/websockets-14.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9b0f6c3ba3b1240f602ebb3971d45b02cc12bd1845466dd783496b3b05783a5", size = 169717 },
|
2626 |
+
{ url = "https://files.pythonhosted.org/packages/2c/3c/bf9b2c396ed86a0b4a92ff4cdaee09753d3ee389be738e92b9bbd0330b64/websockets-14.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669c3e101c246aa85bc8534e495952e2ca208bd87994650b90a23d745902db9a", size = 170155 },
|
2627 |
+
{ url = "https://files.pythonhosted.org/packages/75/2d/83a5aca7247a655b1da5eb0ee73413abd5c3a57fc8b92915805e6033359d/websockets-14.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eabdb28b972f3729348e632ab08f2a7b616c7e53d5414c12108c29972e655b20", size = 170495 },
|
2628 |
+
{ url = "https://files.pythonhosted.org/packages/79/dd/699238a92761e2f943885e091486378813ac8f43e3c84990bc394c2be93e/websockets-14.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2066dc4cbcc19f32c12a5a0e8cc1b7ac734e5b64ac0a325ff8353451c4b15ef2", size = 169880 },
|
2629 |
+
{ url = "https://files.pythonhosted.org/packages/c8/c9/67a8f08923cf55ce61aadda72089e3ed4353a95a3a4bc8bf42082810e580/websockets-14.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ab95d357cd471df61873dadf66dd05dd4709cae001dd6342edafc8dc6382f307", size = 169856 },
|
2630 |
+
{ url = "https://files.pythonhosted.org/packages/17/b1/1ffdb2680c64e9c3921d99db460546194c40d4acbef999a18c37aa4d58a3/websockets-14.2-cp313-cp313-win32.whl", hash = "sha256:a9e72fb63e5f3feacdcf5b4ff53199ec8c18d66e325c34ee4c551ca748623bbc", size = 163974 },
|
2631 |
+
{ url = "https://files.pythonhosted.org/packages/14/13/8b7fc4cb551b9cfd9890f0fd66e53c18a06240319915533b033a56a3d520/websockets-14.2-cp313-cp313-win_amd64.whl", hash = "sha256:b439ea828c4ba99bb3176dc8d9b933392a2413c0f6b149fdcba48393f573377f", size = 164420 },
|
2632 |
+
{ url = "https://files.pythonhosted.org/packages/10/3d/91d3d2bb1325cd83e8e2c02d0262c7d4426dc8fa0831ef1aa4d6bf2041af/websockets-14.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d7d9cafbccba46e768be8a8ad4635fa3eae1ffac4c6e7cb4eb276ba41297ed29", size = 160773 },
|
2633 |
+
{ url = "https://files.pythonhosted.org/packages/33/7c/cdedadfef7381939577858b1b5718a4ab073adbb584e429dd9d9dc9bfe16/websockets-14.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:c76193c1c044bd1e9b3316dcc34b174bbf9664598791e6fb606d8d29000e070c", size = 161007 },
|
2634 |
+
{ url = "https://files.pythonhosted.org/packages/ca/35/7a20a3c450b27c04e50fbbfc3dfb161ed8e827b2a26ae31c4b59b018b8c6/websockets-14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd475a974d5352390baf865309fe37dec6831aafc3014ffac1eea99e84e83fc2", size = 162264 },
|
2635 |
+
{ url = "https://files.pythonhosted.org/packages/e8/9c/e3f9600564b0c813f2448375cf28b47dc42c514344faed3a05d71fb527f9/websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2c6c0097a41968b2e2b54ed3424739aab0b762ca92af2379f152c1aef0187e1c", size = 161873 },
|
2636 |
+
{ url = "https://files.pythonhosted.org/packages/3f/37/260f189b16b2b8290d6ae80c9f96d8b34692cf1bb3475df54c38d3deb57d/websockets-14.2-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d7ff794c8b36bc402f2e07c0b2ceb4a2424147ed4785ff03e2a7af03711d60a", size = 161818 },
|
2637 |
+
{ url = "https://files.pythonhosted.org/packages/ff/1e/e47dedac8bf7140e59aa6a679e850c4df9610ae844d71b6015263ddea37b/websockets-14.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:dec254fcabc7bd488dab64846f588fc5b6fe0d78f641180030f8ea27b76d72c3", size = 164465 },
|
2638 |
+
{ url = "https://files.pythonhosted.org/packages/7b/c8/d529f8a32ce40d98309f4470780631e971a5a842b60aec864833b3615786/websockets-14.2-py3-none-any.whl", hash = "sha256:7a6ceec4ea84469f15cf15807a747e9efe57e369c384fa86e022b3bea679b79b", size = 157416 },
|
2639 |
+
]
|
2640 |
+
|
2641 |
[[package]]
|
2642 |
name = "xxhash"
|
2643 |
version = "3.5.0"
|