David Pomerenke commited on
Commit
3d9cde9
·
1 Parent(s): 1ab3999

Evaluate transcription

Browse files
Files changed (5) hide show
  1. .gitignore +1 -0
  2. evals.py +121 -90
  3. pyproject.toml +0 -3
  4. results.json +143 -565
  5. uv.lock +0 -400
.gitignore CHANGED
@@ -1,5 +1,6 @@
1
  floresp-*
2
  glottolog-*
 
3
  LanguageCodes.tab
4
  ScriptCodes.csv
5
  .cache
 
1
  floresp-*
2
  glottolog-*
3
+ fleurs
4
  LanguageCodes.tab
5
  ScriptCodes.csv
6
  .cache
evals.py CHANGED
@@ -1,21 +1,20 @@
1
  import asyncio
2
- import io
3
  import json
4
  import os
5
  import random
6
  import re
 
7
  from datetime import date
8
  from os import getenv
 
9
 
10
  import evaluate
11
  import pandas as pd
12
  import requests
13
- import soundfile as sf
14
  from aiolimiter import AsyncLimiter
15
- from datasets import load_dataset
16
  from dotenv import load_dotenv
17
- from elevenlabs import ElevenLabs
18
- from huggingface_hub import InferenceClient
19
  from joblib.memory import Memory
20
  from langcodes import Language, standardize_tag
21
  from language_data.population_data import LANGUAGE_SPEAKING_POPULATION
@@ -26,7 +25,10 @@ from rich import print
26
  from tqdm.asyncio import tqdm_asyncio
27
  from transformers import NllbTokenizer
28
 
29
- # config
 
 
 
30
  models = [
31
  "openai/gpt-4o-mini", # 0.6$/M tokens
32
  # "anthropic/claude-3.5-haiku", # 4$/M tokens -> too expensive for dev
@@ -37,15 +39,18 @@ models = [
37
  # "deepseek/deepseek-chat", # 0.9$/M tokens
38
  "microsoft/phi-4", # 0.07$/M tokens
39
  ]
40
- fast_model = "meta-llama/llama-3.3-70b-instruct"
41
  transcription_models = [
42
  "elevenlabs/scribe_v1",
43
  "openai/whisper-large-v3-turbo",
44
- "openai/whisper-tiny",
 
45
  ]
 
46
  n_sentences = 30
47
 
48
- # setup
 
49
  load_dotenv()
50
  client = AsyncOpenAI(
51
  base_url="https://openrouter.ai/api/v1",
@@ -56,8 +61,11 @@ bleu = evaluate.load("bleu")
56
  chrf = evaluate.load("chrf")
57
  wer = evaluate.load("wer")
58
  tokenizer = NllbTokenizer.from_pretrained("facebook/nllb-200-distilled-600M")
59
- rate_limit = AsyncLimiter(max_rate=20, time_period=1)
 
 
60
 
 
61
 
62
  # load general language data
63
  languages = {
@@ -129,60 +137,36 @@ benchmark_languages = (
129
  .reset_index()
130
  )
131
 
132
- fleurs_tags = "af_za,am_et,ar_eg,as_in,ast_es,az_az,be_by,bg_bg,bn_in,bs_ba,ca_es,ceb_ph,ckb_iq,cmn_hans_cn,cs_cz,cy_gb,da_dk,de_de,el_gr,en_us,es_419,et_ee,fa_ir,ff_sn,fi_fi,fil_ph,fr_fr,ga_ie,gl_es,gu_in,ha_ng,he_il,hi_in,hr_hr,hu_hu,hy_am,id_id,ig_ng,is_is,it_it,ja_jp,jv_id,ka_ge,kam_ke,kea_cv,kk_kz,km_kh,kn_in,ko_kr,ky_kg,lb_lu,lg_ug,ln_cd,lo_la,lt_lt,luo_ke,lv_lv,mi_nz,mk_mk,ml_in,mn_mn,mr_in,ms_my,mt_mt,my_mm,nb_no,ne_np,nl_nl,nso_za,ny_mw,oc_fr,om_et,or_in,pa_in,pl_pl,ps_af,pt_br,ro_ro,ru_ru,sd_in,sk_sk,sl_si,sn_zw,so_so,sr_rs,sv_se,sw_ke,ta_in,te_in,tg_tj,th_th,tr_tr,uk_ua,umb_ao,ur_pk,uz_uz,vi_vn,wo_sn,xh_za,yo_ng,yue_hant_hk,zu_za".split(
133
- ","
134
- )
135
- fleurs = pd.DataFrame(fleurs_tags, columns=["fleurs_tag"])
136
  fleurs["bcp_47"] = fleurs["fleurs_tag"].apply(
137
  lambda x: standardize_tag(x.rsplit("_")[0], macro=True)
138
  )
139
 
140
 
141
- @cache
142
- def transcribe(file, model="elevenlabs/scribe_v1"):
143
- provider, modelname = model.split("/")
144
- match provider:
145
- case "elevenlabs":
146
- client = ElevenLabs(api_key=getenv("ELEVENLABS_API_KEY"))
147
- response = client.speech_to_text.convert(model_id=modelname, file=file)
148
- return response.text
149
- case "openai":
150
- client = InferenceClient(api_key=getenv("HUGGINGFACE_ACCESS_TOKEN"))
151
- output = client.automatic_speech_recognition(model=model, audio=file)
152
- return output.text
153
- case _:
154
- raise ValueError(f"Model {model} not supported")
155
 
156
 
157
- def audio_array_to_bytes(array, sample_rate=16000):
158
- # convert audio array to WAV bytes
159
- audio_bytes = io.BytesIO()
160
- sf.write(audio_bytes, array, sample_rate, format="wav")
161
- audio_bytes.seek(0)
162
- return audio_bytes.getvalue()
163
-
164
-
165
- for tag in ["de_de"]:
166
- print(tag)
167
- fleurs = load_dataset(
168
- "google/fleurs",
169
- tag,
170
- split="validation",
171
- trust_remote_code=True,
172
- streaming=True,
173
- )
174
- item = next(iter(fleurs))
175
- file = audio_array_to_bytes(item["audio"]["array"])
176
- true = item["raw_transcription"]
177
- print(true)
178
- for model in transcription_models:
179
- print(model)
180
- pred = transcribe(file, model=model)
181
- print(pred)
182
- score = wer.compute(predictions=[pred], references=[true])
183
- print(f"WER: {score}")
184
- print("-" * 100)
185
- exit()
186
 
187
 
188
  # load CommonVoice stats
@@ -219,35 +203,22 @@ languages = pd.merge(
219
  ) # "left" because keep it simple for now
220
  languages["in_benchmark"] = languages["bcp_47"].isin(benchmark_languages["bcp_47"])
221
 
222
- languages = languages.sort_values(by="speakers", ascending=False).iloc[:20]
223
 
224
  # sample languages to translate to
225
  target_languages = languages[languages["in_benchmark"]].sample(
226
  n=n_sentences, weights="speakers", replace=True, random_state=42
227
  )
228
  # sample languages to analyze with all models
229
- detailed_languages = languages[languages["in_benchmark"]].sample(n=1, random_state=42)
230
 
231
 
232
- # utils
233
- def check_rate_limit():
234
- print(
235
- requests.get(
236
- "https://openrouter.ai/api/v1/auth/key",
237
- headers={"Authorization": f"Bearer {getenv('OPENROUTER_API_KEY')}"},
238
- ).json()
239
- )
240
- models = requests.get(
241
- "https://openrouter.ai/api/v1/models",
242
- headers={"Authorization": f"Bearer {getenv('OPENROUTER_API_KEY')}"},
243
- ).json()["data"]
244
- model = next((m for m in models if m["id"] == "google/gemini-flash-1.5"), None)
245
- print(model)
246
 
247
 
248
  @cache
249
  async def complete(**kwargs):
250
- async with rate_limit:
251
  response = await client.chat.completions.create(**kwargs)
252
  if not response.choices:
253
  raise Exception(response)
@@ -401,16 +372,56 @@ async def mlm_and_evaluate(model, language_bcp_47, nr):
401
 
402
 
403
  @cache
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
404
  async def transcribe_and_evaluate(model, language_bcp_47, nr):
405
  language = languages[languages["bcp_47"] == language_bcp_47].iloc[0]
406
- sentences = pd.DataFrame(load_sentences(language), columns=["text"])
 
 
 
 
 
 
 
 
 
 
 
 
 
407
 
408
 
409
  def mean(lst):
410
  return sum(lst) / len(lst) if lst else 0
411
 
412
 
413
- # evaluation!
414
  async def main():
415
  print("evaluate translation")
416
  translation_scores = [
@@ -420,7 +431,7 @@ async def main():
420
  for model in models
421
  if original_language.in_benchmark
422
  and (
423
- model == fast_model
424
  or original_language.bcp_47 in detailed_languages.bcp_47.values
425
  )
426
  ]
@@ -432,7 +443,7 @@ async def main():
432
  for language in languages.itertuples()
433
  for model in models
434
  if language.in_benchmark
435
- and (model == fast_model or language.bcp_47 in detailed_languages.bcp_47.values)
436
  ]
437
  classification_scores = await tqdm_asyncio.gather(
438
  *classification_scores, miniters=1
@@ -444,34 +455,53 @@ async def main():
444
  for language in languages.itertuples()
445
  for model in models
446
  if language.in_benchmark
447
- and (model == fast_model or language.bcp_47 in detailed_languages.bcp_47.values)
448
  ]
449
  mlm_scores = await tqdm_asyncio.gather(*mlm_scores, miniters=1)
 
 
 
 
 
 
 
 
 
 
 
 
 
450
  all_results = []
451
  for language in languages.itertuples():
452
  results = []
453
- for model in models:
454
- translations_for_model = [
455
  score
456
  for score in translation_scores
457
  if score["bcp_47"] == language.bcp_47 and score["model"] == model
458
  ]
459
- classifications_for_model = [
460
  score
461
  for score in classification_scores
462
  if score["bcp_47"] == language.bcp_47 and score["model"] == model
463
  ]
464
- mlm_for_model = [
465
  score
466
  for score in mlm_scores
467
  if score["bcp_47"] == language.bcp_47 and score["model"] == model
468
  ]
469
- mt_bleu = mean([s["mt_bleu"] for s in translations_for_model])
470
- mt_chrf = mean([s["mt_chrf"] for s in translations_for_model])
471
- cls_acc = mean([s["true"] == s["pred"] for s in classifications_for_model])
472
- mlm_chrf = mean([s["mlm_chrf"] for s in mlm_for_model])
 
 
 
 
 
 
473
  overall_score = (mt_chrf / 100 + cls_acc + mlm_chrf / 100) / 3
474
- if translations_for_model:
475
  results.append(
476
  {
477
  "model": model,
@@ -479,6 +509,7 @@ async def main():
479
  "mt_chrf": mt_chrf,
480
  "cls_acc": cls_acc,
481
  "mlm_chrf": mlm_chrf,
 
482
  "overall_score": overall_score,
483
  }
484
  )
@@ -493,6 +524,7 @@ async def main():
493
  "mt_chrf": mean([s["mt_chrf"] for s in results]),
494
  "cls_acc": mean([s["cls_acc"] for s in results]),
495
  "mlm_chrf": mean([s["mlm_chrf"] for s in results]),
 
496
  "overall_score": mean([s["overall_score"] for s in results]),
497
  "commonvoice_hours": language.commonvoice_hours
498
  if not pd.isna(language.commonvoice_hours)
@@ -504,7 +536,6 @@ async def main():
504
  "language_family": language_family(
505
  language.flores_path.split("_")[0]
506
  ),
507
- "fleurs_tag": language.fleurs_tag,
508
  }
509
  )
510
  with open("results.json", "w") as f:
@@ -512,5 +543,5 @@ async def main():
512
 
513
 
514
  if __name__ == "__main__":
515
- # check_rate_limit()
516
  asyncio.run(main())
 
1
  import asyncio
 
2
  import json
3
  import os
4
  import random
5
  import re
6
+ import tarfile
7
  from datetime import date
8
  from os import getenv
9
+ from pathlib import Path
10
 
11
  import evaluate
12
  import pandas as pd
13
  import requests
 
14
  from aiolimiter import AsyncLimiter
 
15
  from dotenv import load_dotenv
16
+ from elevenlabs import AsyncElevenLabs
17
+ from huggingface_hub import AsyncInferenceClient
18
  from joblib.memory import Memory
19
  from langcodes import Language, standardize_tag
20
  from language_data.population_data import LANGUAGE_SPEAKING_POPULATION
 
25
  from tqdm.asyncio import tqdm_asyncio
26
  from transformers import NllbTokenizer
27
 
28
+ # ===== config =====
29
+
30
+ # for development purposes, all languages will be evaluated on the fast models
31
+ # and only a sample of languages will be evaluated on all models
32
  models = [
33
  "openai/gpt-4o-mini", # 0.6$/M tokens
34
  # "anthropic/claude-3.5-haiku", # 4$/M tokens -> too expensive for dev
 
39
  # "deepseek/deepseek-chat", # 0.9$/M tokens
40
  "microsoft/phi-4", # 0.07$/M tokens
41
  ]
42
+ model_fast = "meta-llama/llama-3.3-70b-instruct"
43
  transcription_models = [
44
  "elevenlabs/scribe_v1",
45
  "openai/whisper-large-v3-turbo",
46
+ # "openai/whisper-small",
47
+ # "facebook/seamless-m4t-v2-large",
48
  ]
49
+ transcription_model_fast = "openai/whisper-large-v3-turbo"
50
  n_sentences = 30
51
 
52
+ # ===== setup =====
53
+
54
  load_dotenv()
55
  client = AsyncOpenAI(
56
  base_url="https://openrouter.ai/api/v1",
 
61
  chrf = evaluate.load("chrf")
62
  wer = evaluate.load("wer")
63
  tokenizer = NllbTokenizer.from_pretrained("facebook/nllb-200-distilled-600M")
64
+ openrouter_rate_limit = AsyncLimiter(max_rate=20, time_period=1)
65
+ elevenlabs_rate_limit = AsyncLimiter(max_rate=2, time_period=1)
66
+ huggingface_rate_limit = AsyncLimiter(max_rate=5, time_period=1)
67
 
68
+ # ===== load metadata =====
69
 
70
  # load general language data
71
  languages = {
 
137
  .reset_index()
138
  )
139
 
140
+ fleurs_tags = "af_za,am_et,ar_eg,as_in,ast_es,az_az,be_by,bg_bg,bn_in,bs_ba,ca_es,ceb_ph,ckb_iq,cmn_hans_cn,cs_cz,cy_gb,da_dk,de_de,el_gr,en_us,es_419,et_ee,fa_ir,ff_sn,fi_fi,fil_ph,fr_fr,ga_ie,gl_es,gu_in,ha_ng,he_il,hi_in,hr_hr,hu_hu,hy_am,id_id,ig_ng,is_is,it_it,ja_jp,jv_id,ka_ge,kam_ke,kea_cv,kk_kz,km_kh,kn_in,ko_kr,ky_kg,lb_lu,lg_ug,ln_cd,lo_la,lt_lt,luo_ke,lv_lv,mi_nz,mk_mk,ml_in,mn_mn,mr_in,ms_my,mt_mt,my_mm,nb_no,ne_np,nl_nl,nso_za,ny_mw,oc_fr,om_et,or_in,pa_in,pl_pl,ps_af,pt_br,ro_ro,ru_ru,sd_in,sk_sk,sl_si,sn_zw,so_so,sr_rs,sv_se,sw_ke,ta_in,te_in,tg_tj,th_th,tr_tr,uk_ua,umb_ao,ur_pk,uz_uz,vi_vn,wo_sn,xh_za,yo_ng,yue_hant_hk,zu_za"
141
+ fleurs = pd.DataFrame(fleurs_tags.split(","), columns=["fleurs_tag"])
 
 
142
  fleurs["bcp_47"] = fleurs["fleurs_tag"].apply(
143
  lambda x: standardize_tag(x.rsplit("_")[0], macro=True)
144
  )
145
 
146
 
147
+ def download_file(url, path):
148
+ response = requests.get(url)
149
+ with open(path, "wb") as f:
150
+ f.write(response.content)
 
 
 
 
 
 
 
 
 
 
151
 
152
 
153
+ def download_fleurs():
154
+ # the huggingface loader does not allow loading only the dev set, so do it manually
155
+ for language in languages[languages["in_benchmark"]].itertuples():
156
+ tar_url = f"https://huggingface.co/datasets/google/fleurs/resolve/main/data/{language.fleurs_tag}/audio/dev.tar.gz"
157
+ tar_path = Path(f"data/fleurs/{language.fleurs_tag}/audio/dev.tar.gz")
158
+ if not tar_path.exists():
159
+ print(f"Downloading {tar_url} to {tar_path}")
160
+ tar_path.parent.mkdir(parents=True, exist_ok=True)
161
+ download_file(tar_url, tar_path)
162
+ with tarfile.open(tar_path, "r:gz") as tar:
163
+ tar.extractall(path=f"data/fleurs/{language.fleurs_tag}/audio")
164
+ tsv_url = f"https://huggingface.co/datasets/google/fleurs/resolve/main/data/{language.fleurs_tag}/dev.tsv"
165
+ tsv_path = Path(f"data/fleurs/{language.fleurs_tag}/dev.tsv")
166
+ if not tsv_path.exists():
167
+ print(f"Downloading {tsv_url} to {tsv_path}")
168
+ tsv_path.parent.mkdir(parents=True, exist_ok=True)
169
+ download_file(tsv_url, tsv_path)
 
 
 
 
 
 
 
 
 
 
 
 
170
 
171
 
172
  # load CommonVoice stats
 
203
  ) # "left" because keep it simple for now
204
  languages["in_benchmark"] = languages["bcp_47"].isin(benchmark_languages["bcp_47"])
205
 
206
+ languages = languages.sort_values(by="speakers", ascending=False).iloc[:5]
207
 
208
  # sample languages to translate to
209
  target_languages = languages[languages["in_benchmark"]].sample(
210
  n=n_sentences, weights="speakers", replace=True, random_state=42
211
  )
212
  # sample languages to analyze with all models
213
+ detailed_languages = languages[languages["in_benchmark"]].iloc[:2]
214
 
215
 
216
+ # ===== define tasks and metrics =====
 
 
 
 
 
 
 
 
 
 
 
 
 
217
 
218
 
219
  @cache
220
  async def complete(**kwargs):
221
+ async with openrouter_rate_limit:
222
  response = await client.chat.completions.create(**kwargs)
223
  if not response.choices:
224
  raise Exception(response)
 
372
 
373
 
374
  @cache
375
+ async def transcribe_elevenlabs(path, model):
376
+ modelname = model.split("/")[-1]
377
+ client = AsyncElevenLabs(api_key=getenv("ELEVENLABS_API_KEY"))
378
+ async with elevenlabs_rate_limit:
379
+ with open(path, "rb") as file:
380
+ response = await client.speech_to_text.convert(model_id=modelname, file=file)
381
+ return response.text
382
+
383
+
384
+ @cache
385
+ async def transcribe_huggingface(path, model):
386
+ client = AsyncInferenceClient(api_key=getenv("HUGGINGFACE_ACCESS_TOKEN"))
387
+ async with huggingface_rate_limit:
388
+ output = await client.automatic_speech_recognition(model=model, audio=path)
389
+ return output.text
390
+
391
+
392
+ async def transcribe(path, model="elevenlabs/scribe_v1"):
393
+ provider, modelname = model.split("/")
394
+ match provider:
395
+ case "elevenlabs":
396
+ return await transcribe_elevenlabs(path, modelname)
397
+ case "openai" | "facebook":
398
+ return await transcribe_huggingface(path, model)
399
+ case _:
400
+ raise ValueError(f"Model {model} not supported")
401
+
402
+
403
  async def transcribe_and_evaluate(model, language_bcp_47, nr):
404
  language = languages[languages["bcp_47"] == language_bcp_47].iloc[0]
405
+ fleurs = pd.read_csv(f"data/fleurs/{language.fleurs_tag}/dev.tsv", sep="\t", names=["id", "fname", "raw_transcription", "transcription", "words", "id2", "gender"])
406
+ item = fleurs.iloc[nr]
407
+ path = f"data/fleurs/{language.fleurs_tag}/audio/dev/{item.fname}"
408
+ pred = await transcribe(path, model=model)
409
+ score = wer.compute(predictions=[pred], references=[item.transcription])
410
+ return {
411
+ "model": model,
412
+ "bcp_47": language["bcp_47"],
413
+ "asr_wer": score,
414
+ "sentence_nr": nr,
415
+ }
416
+
417
+
418
+ # ===== run evaluation and aggregate results =====
419
 
420
 
421
  def mean(lst):
422
  return sum(lst) / len(lst) if lst else 0
423
 
424
 
 
425
  async def main():
426
  print("evaluate translation")
427
  translation_scores = [
 
431
  for model in models
432
  if original_language.in_benchmark
433
  and (
434
+ model == model_fast
435
  or original_language.bcp_47 in detailed_languages.bcp_47.values
436
  )
437
  ]
 
443
  for language in languages.itertuples()
444
  for model in models
445
  if language.in_benchmark
446
+ and (model == model_fast or language.bcp_47 in detailed_languages.bcp_47.values)
447
  ]
448
  classification_scores = await tqdm_asyncio.gather(
449
  *classification_scores, miniters=1
 
455
  for language in languages.itertuples()
456
  for model in models
457
  if language.in_benchmark
458
+ and (model == model_fast or language.bcp_47 in detailed_languages.bcp_47.values)
459
  ]
460
  mlm_scores = await tqdm_asyncio.gather(*mlm_scores, miniters=1)
461
+ print("evaluate transcription")
462
+ transcription_scores = [
463
+ transcribe_and_evaluate(model, language.bcp_47, i)
464
+ for i in range(n_sentences)
465
+ for language in languages.itertuples()
466
+ for model in transcription_models
467
+ if language.in_benchmark
468
+ and (
469
+ model == transcription_model_fast
470
+ or language.bcp_47 in detailed_languages.bcp_47.values
471
+ )
472
+ ]
473
+ transcription_scores = await tqdm_asyncio.gather(*transcription_scores, miniters=1)
474
  all_results = []
475
  for language in languages.itertuples():
476
  results = []
477
+ for model in models + transcription_models:
478
+ scores_mt = [
479
  score
480
  for score in translation_scores
481
  if score["bcp_47"] == language.bcp_47 and score["model"] == model
482
  ]
483
+ scores_cls = [
484
  score
485
  for score in classification_scores
486
  if score["bcp_47"] == language.bcp_47 and score["model"] == model
487
  ]
488
+ scores_mlm = [
489
  score
490
  for score in mlm_scores
491
  if score["bcp_47"] == language.bcp_47 and score["model"] == model
492
  ]
493
+ scores_asr = [
494
+ score
495
+ for score in transcription_scores
496
+ if score["bcp_47"] == language.bcp_47 and score["model"] == model
497
+ ]
498
+ mt_bleu = mean([s["mt_bleu"] for s in scores_mt])
499
+ mt_chrf = mean([s["mt_chrf"] for s in scores_mt])
500
+ cls_acc = mean([s["true"] == s["pred"] for s in scores_cls])
501
+ mlm_chrf = mean([s["mlm_chrf"] for s in scores_mlm])
502
+ asr_wer = mean([s["asr_wer"] for s in scores_asr])
503
  overall_score = (mt_chrf / 100 + cls_acc + mlm_chrf / 100) / 3
504
+ if scores_mt or scores_asr:
505
  results.append(
506
  {
507
  "model": model,
 
509
  "mt_chrf": mt_chrf,
510
  "cls_acc": cls_acc,
511
  "mlm_chrf": mlm_chrf,
512
+ "asr_wer": asr_wer,
513
  "overall_score": overall_score,
514
  }
515
  )
 
524
  "mt_chrf": mean([s["mt_chrf"] for s in results]),
525
  "cls_acc": mean([s["cls_acc"] for s in results]),
526
  "mlm_chrf": mean([s["mlm_chrf"] for s in results]),
527
+ "asr_wer": mean([s["asr_wer"] for s in results]),
528
  "overall_score": mean([s["overall_score"] for s in results]),
529
  "commonvoice_hours": language.commonvoice_hours
530
  if not pd.isna(language.commonvoice_hours)
 
536
  "language_family": language_family(
537
  language.flores_path.split("_")[0]
538
  ),
 
539
  }
540
  )
541
  with open("results.json", "w") as f:
 
543
 
544
 
545
  if __name__ == "__main__":
546
+ download_fleurs()
547
  asyncio.run(main())
pyproject.toml CHANGED
@@ -15,21 +15,18 @@ dependencies = [
15
  dev-dependencies = [
16
  "aiolimiter>=1.1.0",
17
  "bert-score>=0.3.13",
18
- "datasets>=3.0.2",
19
  "elevenlabs>=1.53.0",
20
  "evaluate==0.4.0",
21
  "huggingface-hub>=0.29.1",
22
  "jiwer>=3.1.0",
23
  "joblib>=1.4.2",
24
  "langcodes>=3.5.0",
25
- "librosa>=0.10.2.post1",
26
  "openai>=1.52.2",
27
  "protobuf>=5.28.3",
28
  "pyglottolog>=3.14.0",
29
  "python-dotenv>=1.0.1",
30
  "sacrebleu>=2.4.3",
31
  "sentencepiece>=0.2.0",
32
- "soundfile>=0.13.1",
33
  "tiktoken>=0.8.0",
34
  "tqdm>=4.66.6",
35
  "transformers>=4.46.1",
 
15
  dev-dependencies = [
16
  "aiolimiter>=1.1.0",
17
  "bert-score>=0.3.13",
 
18
  "elevenlabs>=1.53.0",
19
  "evaluate==0.4.0",
20
  "huggingface-hub>=0.29.1",
21
  "jiwer>=3.1.0",
22
  "joblib>=1.4.2",
23
  "langcodes>=3.5.0",
 
24
  "openai>=1.52.2",
25
  "protobuf>=5.28.3",
26
  "pyglottolog>=3.14.0",
27
  "python-dotenv>=1.0.1",
28
  "sacrebleu>=2.4.3",
29
  "sentencepiece>=0.2.0",
 
30
  "tiktoken>=0.8.0",
31
  "tqdm>=4.66.6",
32
  "transformers>=4.46.1",
results.json CHANGED
@@ -10,6 +10,7 @@
10
  "mt_chrf": 65.25187717981981,
11
  "cls_acc": 0.5666666666666667,
12
  "mlm_chrf": 97.84704595784264,
 
13
  "overall_score": 0.7325519660144305
14
  },
15
  {
@@ -18,6 +19,7 @@
18
  "mt_chrf": 63.24229348441665,
19
  "cls_acc": 0.6,
20
  "mlm_chrf": 93.62602669879945,
 
21
  "overall_score": 0.7228944006107203
22
  },
23
  {
@@ -26,6 +28,7 @@
26
  "mt_chrf": 63.8187259254881,
27
  "cls_acc": 0.5333333333333333,
28
  "mlm_chrf": 79.91140615317198,
 
29
  "overall_score": 0.656878218039978
30
  },
31
  {
@@ -34,6 +37,7 @@
34
  "mt_chrf": 71.2288943066563,
35
  "cls_acc": 0.8666666666666667,
36
  "mlm_chrf": 98.79868693366329,
 
37
  "overall_score": 0.8556474930232877
38
  },
39
  {
@@ -42,14 +46,34 @@
42
  "mt_chrf": 66.05410510011644,
43
  "cls_acc": 0.7,
44
  "mlm_chrf": 97.2290729316734,
 
45
  "overall_score": 0.7776105934392995
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  }
47
  ],
48
- "mt_bleu": 0.5249271223073668,
49
- "mt_chrf": 65.91917919929946,
50
- "cls_acc": 0.6533333333333333,
51
- "mlm_chrf": 93.48244773503015,
52
- "overall_score": 0.7491165342255433,
 
53
  "commonvoice_hours": 2651.0,
54
  "commonvoice_locale": "en",
55
  "population": {
@@ -209,28 +233,83 @@
209
  "ZM": 2788256,
210
  "ZW": 6109446
211
  },
212
- "language_family": "Indo-European",
213
- "fleurs_tag": "en_us"
214
  },
215
  {
216
  "language_name": "Chinese",
217
  "bcp_47": "zh",
218
  "speakers": 1304678914,
219
  "scores": [
 
 
 
 
 
 
 
 
 
220
  {
221
  "model": "meta-llama/llama-3.3-70b-instruct",
222
  "mt_bleu": 0.38557580495281013,
223
  "mt_chrf": 61.11151378837755,
224
  "cls_acc": 0.5666666666666667,
225
  "mlm_chrf": 94.55849047452216,
 
226
  "overall_score": 0.7077889030985546
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
228
  ],
229
- "mt_bleu": 0.38557580495281013,
230
- "mt_chrf": 61.11151378837755,
231
- "cls_acc": 0.5666666666666667,
232
- "mlm_chrf": 94.55849047452216,
233
- "overall_score": 0.7077889030985546,
 
234
  "commonvoice_hours": 422.0,
235
  "commonvoice_locale": "zh-TW",
236
  "population": {
@@ -255,8 +334,7 @@
255
  "US": 2295209,
256
  "VN": 1085934
257
  },
258
- "language_family": "Sino-Tibetan",
259
- "fleurs_tag": "cmn_hans_cn"
260
  },
261
  {
262
  "language_name": "Hindi",
@@ -269,14 +347,25 @@
269
  "mt_chrf": 53.54085104449268,
270
  "cls_acc": 0.5,
271
  "mlm_chrf": 96.17240172798218,
 
272
  "overall_score": 0.6657108425749162
 
 
 
 
 
 
 
 
 
273
  }
274
  ],
275
- "mt_bleu": 0.32404902340686065,
276
- "mt_chrf": 53.54085104449268,
277
- "cls_acc": 0.5,
278
- "mlm_chrf": 96.17240172798218,
279
- "overall_score": 0.6657108425749162,
 
280
  "commonvoice_hours": 16.0,
281
  "commonvoice_locale": "hi-IN",
282
  "population": {
@@ -287,8 +376,7 @@
287
  "UG": 2206,
288
  "ZA": 1129272
289
  },
290
- "language_family": "Indo-European",
291
- "fleurs_tag": "hi_in"
292
  },
293
  {
294
  "language_name": "Spanish",
@@ -301,14 +389,25 @@
301
  "mt_chrf": 52.142851262301726,
302
  "cls_acc": 0.5,
303
  "mlm_chrf": 96.92768852306384,
 
304
  "overall_score": 0.6635684659512185
 
 
 
 
 
 
 
 
 
305
  }
306
  ],
307
- "mt_bleu": 0.31587937116142056,
308
- "mt_chrf": 52.142851262301726,
309
- "cls_acc": 0.5,
310
- "mlm_chrf": 96.92768852306384,
311
- "overall_score": 0.6635684659512185,
 
312
  "commonvoice_hours": 446.0,
313
  "commonvoice_locale": "es",
314
  "population": {
@@ -352,8 +451,7 @@
352
  "UY": 2981097,
353
  "VE": 23488572
354
  },
355
- "language_family": "Indo-European",
356
- "fleurs_tag": "es_419"
357
  },
358
  {
359
  "language_name": "Arabic",
@@ -366,14 +464,25 @@
366
  "mt_chrf": 57.51652731936118,
367
  "cls_acc": 0.4666666666666667,
368
  "mlm_chrf": 94.97026443937914,
 
369
  "overall_score": 0.6638448614180232
 
 
 
 
 
 
 
 
 
370
  }
371
  ],
372
- "mt_bleu": 0.39547934933771334,
373
- "mt_chrf": 57.51652731936118,
374
- "cls_acc": 0.4666666666666667,
375
- "mlm_chrf": 94.97026443937914,
376
- "overall_score": 0.6638448614180232,
 
377
  "commonvoice_hours": 91.0,
378
  "commonvoice_locale": "ar",
379
  "population": {
@@ -416,537 +525,6 @@
416
  "TR": 459298,
417
  "YE": 22114456
418
  },
419
- "language_family": "Afro-Asiatic",
420
- "fleurs_tag": "ar_eg"
421
- },
422
- {
423
- "language_name": "Urdu",
424
- "bcp_47": "ur",
425
- "speakers": 290790290,
426
- "scores": [
427
- {
428
- "model": "meta-llama/llama-3.3-70b-instruct",
429
- "mt_bleu": 0.26585004461425726,
430
- "mt_chrf": 47.37157150967947,
431
- "cls_acc": 0.43333333333333335,
432
- "mlm_chrf": 94.38802161979918,
433
- "overall_score": 0.6169764215427066
434
- }
435
- ],
436
- "mt_bleu": 0.26585004461425726,
437
- "mt_chrf": 47.37157150967947,
438
- "cls_acc": 0.43333333333333335,
439
- "mlm_chrf": 94.38802161979918,
440
- "overall_score": 0.6169764215427066,
441
- "commonvoice_hours": 77.0,
442
- "commonvoice_locale": "ur",
443
- "population": {
444
- "CA": 286475,
445
- "GB": 2301638,
446
- "IN": 66304500,
447
- "MU": 71727,
448
- "PK": 221825950
449
- },
450
- "language_family": "Indo-European",
451
- "fleurs_tag": "ur_pk"
452
- },
453
- {
454
- "language_name": "French",
455
- "bcp_47": "fr",
456
- "speakers": 278611507,
457
- "scores": [
458
- {
459
- "model": "meta-llama/llama-3.3-70b-instruct",
460
- "mt_bleu": 0.3510210872150948,
461
- "mt_chrf": 55.795595938804894,
462
- "cls_acc": 0.5666666666666667,
463
- "mlm_chrf": 97.12318847922649,
464
- "overall_score": 0.6986181702823268
465
- }
466
- ],
467
- "mt_bleu": 0.3510210872150948,
468
- "mt_chrf": 55.795595938804894,
469
- "cls_acc": 0.5666666666666667,
470
- "mlm_chrf": 97.12318847922649,
471
- "overall_score": 0.6986181702823268,
472
- "commonvoice_hours": 1052.0,
473
- "commonvoice_locale": "fr",
474
- "population": {
475
- "AD": 5775,
476
- "AT": 974540,
477
- "BE": 4453866,
478
- "BF": 4583788,
479
- "BI": 7000822,
480
- "BJ": 4502610,
481
- "BL": 6837,
482
- "CA": 11308230,
483
- "CD": 3867640,
484
- "CF": 2935521,
485
- "CG": 4446179,
486
- "CH": 1764838,
487
- "CI": 13465739,
488
- "CM": 18866600,
489
- "CY": 88668,
490
- "DE": 14428746,
491
- "DJ": 19358,
492
- "DZ": 8594580,
493
- "FR": 67169718,
494
- "GA": 1405473,
495
- "GB": 15125053,
496
- "GF": 153622,
497
- "GN": 3632946,
498
- "GP": 407498,
499
- "GQ": 73584,
500
- "GR": 954639,
501
- "HT": 520187,
502
- "HU": 293155,
503
- "IE": 880017,
504
- "IT": 3931370,
505
- "KM": 473917,
506
- "LB": 20238,
507
- "LU": 546691,
508
- "MA": 7112340,
509
- "MC": 38610,
510
- "MF": 32556,
511
- "MG": 18599433,
512
- "ML": 8994564,
513
- "MQ": 427408,
514
- "MR": 680932,
515
- "MT": 50299,
516
- "MU": 41381,
517
- "NC": 278409,
518
- "NE": 6603996,
519
- "NL": 5011316,
520
- "PF": 180024,
521
- "PM": 5133,
522
- "PT": 1545405,
523
- "RE": 700950,
524
- "RO": 3621493,
525
- "RW": 2288,
526
- "SC": 57589,
527
- "SN": 6137196,
528
- "SY": 1144506,
529
- "TD": 4388124,
530
- "TF": 140,
531
- "TG": 5251148,
532
- "TN": 8673688,
533
- "US": 1862778,
534
- "VU": 149166,
535
- "WF": 7610,
536
- "YT": 110580
537
- },
538
- "language_family": "Indo-European",
539
- "fleurs_tag": "fr_fr"
540
- },
541
- {
542
- "language_name": "Bangla",
543
- "bcp_47": "bn",
544
- "speakers": 267193288,
545
- "scores": [
546
- {
547
- "model": "meta-llama/llama-3.3-70b-instruct",
548
- "mt_bleu": 0.2874920154082786,
549
- "mt_chrf": 51.49279116112809,
550
- "cls_acc": 0.4,
551
- "mlm_chrf": 90.6067262108039,
552
- "overall_score": 0.6069983912397733
553
- }
554
- ],
555
- "mt_bleu": 0.2874920154082786,
556
- "mt_chrf": 51.49279116112809,
557
- "cls_acc": 0.4,
558
- "mlm_chrf": 90.6067262108039,
559
- "overall_score": 0.6069983912397733,
560
- "commonvoice_hours": 49.0,
561
- "commonvoice_locale": "bn",
562
- "population": {
563
- "BD": 159397980,
564
- "CA": 90466,
565
- "GB": 263044,
566
- "IN": 107413290,
567
- "NP": 28508
568
- },
569
- "language_family": "Indo-European",
570
- "fleurs_tag": "bn_in"
571
- },
572
- {
573
- "language_name": "Portuguese",
574
- "bcp_47": "pt",
575
- "speakers": 237496885,
576
- "scores": [
577
- {
578
- "model": "meta-llama/llama-3.3-70b-instruct",
579
- "mt_bleu": 0.33491649454450034,
580
- "mt_chrf": 54.60211868234021,
581
- "cls_acc": 0.5666666666666667,
582
- "mlm_chrf": 96.52676764996336,
583
- "overall_score": 0.6926518433299008
584
- }
585
- ],
586
- "mt_bleu": 0.33491649454450034,
587
- "mt_chrf": 54.60211868234021,
588
- "cls_acc": 0.5666666666666667,
589
- "mlm_chrf": 96.52676764996336,
590
- "overall_score": 0.6926518433299008,
591
- "commonvoice_hours": 177.0,
592
- "commonvoice_locale": "pt",
593
- "population": {
594
- "AG": 1571,
595
- "AO": 21789941,
596
- "BR": 192661560,
597
- "CA": 229934,
598
- "CH": 285736,
599
- "CV": 443274,
600
- "FR": 882027,
601
- "GB": 131522,
602
- "GQ": 1,
603
- "GW": 1927100,
604
- "LU": 100541,
605
- "MO": 30723,
606
- "MZ": 8126514,
607
- "PT": 9890592,
608
- "ST": 179454,
609
- "TL": 816395
610
- },
611
- "language_family": "Indo-European",
612
- "fleurs_tag": "pt_br"
613
- },
614
- {
615
- "language_name": "Punjabi",
616
- "bcp_47": "pa",
617
- "speakers": 203571210,
618
- "scores": [
619
- {
620
- "model": "meta-llama/llama-3.3-70b-instruct",
621
- "mt_bleu": 0.3078917767345886,
622
- "mt_chrf": 50.505686987696365,
623
- "cls_acc": 0.5333333333333333,
624
- "mlm_chrf": 90.10119297923285,
625
- "overall_score": 0.6464673776675418
626
- }
627
- ],
628
- "mt_bleu": 0.3078917767345886,
629
- "mt_chrf": 50.505686987696365,
630
- "cls_acc": 0.5333333333333333,
631
- "mlm_chrf": 90.10119297923285,
632
- "overall_score": 0.6464673776675418,
633
- "commonvoice_hours": 2.3,
634
- "commonvoice_locale": "pa-IN",
635
- "population": {
636
- "CA": 603106,
637
- "GB": 2367400,
638
- "IN": 37130520,
639
- "KE": 10170,
640
- "PK": 163450700,
641
- "SG": 9314
642
- },
643
- "language_family": "Indo-European",
644
- "fleurs_tag": "pa_in"
645
- },
646
- {
647
- "language_name": "Russian",
648
- "bcp_47": "ru",
649
- "speakers": 195841151,
650
- "scores": [
651
- {
652
- "model": "meta-llama/llama-3.3-70b-instruct",
653
- "mt_bleu": 0.32647288591882895,
654
- "mt_chrf": 53.107657805277526,
655
- "cls_acc": 0.5666666666666667,
656
- "mlm_chrf": 96.21400287169976,
657
- "overall_score": 0.6866277578121466
658
- }
659
- ],
660
- "mt_bleu": 0.32647288591882895,
661
- "mt_chrf": 53.107657805277526,
662
- "cls_acc": 0.5666666666666667,
663
- "mlm_chrf": 96.21400287169976,
664
- "overall_score": 0.6866277578121466,
665
- "commonvoice_hours": 242.0,
666
- "commonvoice_locale": "ru",
667
- "population": {
668
- "BG": 1602387,
669
- "BY": 1137350,
670
- "CA": 211087,
671
- "CN": 13940,
672
- "DE": 4809582,
673
- "EE": 688027,
674
- "FI": 45131,
675
- "GE": 359730,
676
- "IL": 954303,
677
- "KG": 2147364,
678
- "KZ": 13746168,
679
- "LT": 2185168,
680
- "LV": 714867,
681
- "MD": 100935,
682
- "MN": 4118,
683
- "PL": 6890814,
684
- "RU": 133218680,
685
- "SJ": 1200,
686
- "TJ": 1064840,
687
- "TM": 663436,
688
- "UA": 20204534,
689
- "US": 798334,
690
- "UZ": 4279156
691
- },
692
- "language_family": "Indo-European",
693
- "fleurs_tag": "ru_ru"
694
- },
695
- {
696
- "language_name": "Swahili",
697
- "bcp_47": "sw",
698
- "speakers": 171610296,
699
- "scores": [
700
- {
701
- "model": "meta-llama/llama-3.3-70b-instruct",
702
- "mt_bleu": 0.29267168415814176,
703
- "mt_chrf": 49.16720485265401,
704
- "cls_acc": 0.5,
705
- "mlm_chrf": 94.82776161604177,
706
- "overall_score": 0.646649888228986
707
- }
708
- ],
709
- "mt_bleu": 0.29267168415814176,
710
- "mt_chrf": 49.16720485265401,
711
- "cls_acc": 0.5,
712
- "mlm_chrf": 94.82776161604177,
713
- "overall_score": 0.646649888228986,
714
- "commonvoice_hours": 411.0,
715
- "commonvoice_locale": "sw",
716
- "population": {
717
- "BI": 6408,
718
- "CD": 50890000,
719
- "KE": 35328414,
720
- "MZ": 9330,
721
- "SO": 235142,
722
- "TZ": 52697520,
723
- "UG": 32439750,
724
- "YT": 2716,
725
- "ZA": 1016
726
- },
727
- "language_family": "Atlantic-Congo",
728
- "fleurs_tag": "sw_ke"
729
- },
730
- {
731
- "language_name": "Indonesian",
732
- "bcp_47": "id",
733
- "speakers": 171207687,
734
- "scores": [
735
- {
736
- "model": "meta-llama/llama-3.3-70b-instruct",
737
- "mt_bleu": 0.30782604302717903,
738
- "mt_chrf": 52.62467814017025,
739
- "cls_acc": 0.6,
740
- "mlm_chrf": 95.83373661382923,
741
- "overall_score": 0.6948613825133316
742
- }
743
- ],
744
- "mt_bleu": 0.30782604302717903,
745
- "mt_chrf": 52.62467814017025,
746
- "cls_acc": 0.6,
747
- "mlm_chrf": 95.83373661382923,
748
- "overall_score": 0.6948613825133316,
749
- "commonvoice_hours": 33.0,
750
- "commonvoice_locale": "id",
751
- "population": {
752
- "ID": 170896640,
753
- "NL": 311047
754
- },
755
- "language_family": "Austronesian",
756
- "fleurs_tag": "id_id"
757
- },
758
- {
759
- "language_name": "German",
760
- "bcp_47": "de",
761
- "speakers": 136350226,
762
- "scores": [
763
- {
764
- "model": "meta-llama/llama-3.3-70b-instruct",
765
- "mt_bleu": 0.3880450110946665,
766
- "mt_chrf": 57.659717194572515,
767
- "cls_acc": 0.5666666666666667,
768
- "mlm_chrf": 96.78268690494019,
769
- "overall_score": 0.7036969025539311
770
- }
771
- ],
772
- "mt_bleu": 0.3880450110946665,
773
- "mt_chrf": 57.659717194572515,
774
- "cls_acc": 0.5666666666666667,
775
- "mlm_chrf": 96.78268690494019,
776
- "overall_score": 0.7036969025539311,
777
- "commonvoice_hours": 1358.0,
778
- "commonvoice_locale": "de",
779
- "population": {
780
- "AT": 8593666,
781
- "BE": 2578554,
782
- "BG": 557352,
783
- "BR": 1778414,
784
- "CA": 294014,
785
- "CH": 6134913,
786
- "CZ": 1605375,
787
- "DE": 72945327,
788
- "DK": 2758623,
789
- "FI": 1002901,
790
- "FR": 3392410,
791
- "GB": 5918499,
792
- "GR": 530355,
793
- "HU": 1758929,
794
- "IT": 998443,
795
- "KZ": 1221882,
796
- "LI": 39137,
797
- "LT": 382404,
798
- "LU": 395880,
799
- "NA": 23671,
800
- "NL": 12269084,
801
- "PL": 7273637,
802
- "PY": 208559,
803
- "RO": 44736,
804
- "SI": 883126,
805
- "SK": 1196932,
806
- "US": 1563403
807
- },
808
- "language_family": "Indo-European",
809
- "fleurs_tag": "de_de"
810
- },
811
- {
812
- "language_name": "Japanese",
813
- "bcp_47": "ja",
814
- "speakers": 119729026,
815
- "scores": [
816
- {
817
- "model": "meta-llama/llama-3.3-70b-instruct",
818
- "mt_bleu": 0.2478415746367755,
819
- "mt_chrf": 47.19744231900874,
820
- "cls_acc": 0.6,
821
- "mlm_chrf": 92.47052714876749,
822
- "overall_score": 0.6655598982259208
823
- }
824
- ],
825
- "mt_bleu": 0.2478415746367755,
826
- "mt_chrf": 47.19744231900874,
827
- "cls_acc": 0.6,
828
- "mlm_chrf": 92.47052714876749,
829
- "overall_score": 0.6655598982259208,
830
- "commonvoice_hours": 222.0,
831
- "commonvoice_locale": "ja",
832
- "population": {
833
- "BR": 444604,
834
- "CA": 52772,
835
- "JP": 119231650
836
- },
837
- "language_family": "Japonic",
838
- "fleurs_tag": "ja_jp"
839
- },
840
- {
841
- "language_name": "Telugu",
842
- "bcp_47": "te",
843
- "speakers": 95478480,
844
- "scores": [
845
- {
846
- "model": "meta-llama/llama-3.3-70b-instruct",
847
- "mt_bleu": 0.3785489421990512,
848
- "mt_chrf": 56.9267557487146,
849
- "cls_acc": 0.4,
850
- "mlm_chrf": 94.3625059002704,
851
- "overall_score": 0.6376308721632834
852
- }
853
- ],
854
- "mt_bleu": 0.3785489421990512,
855
- "mt_chrf": 56.9267557487146,
856
- "cls_acc": 0.4,
857
- "mlm_chrf": 94.3625059002704,
858
- "overall_score": 0.6376308721632834,
859
- "commonvoice_hours": 0.3,
860
- "commonvoice_locale": "te",
861
- "population": {
862
- "IN": 95478480
863
- },
864
- "language_family": "Dravidian",
865
- "fleurs_tag": "te_in"
866
- },
867
- {
868
- "language_name": "Marathi",
869
- "bcp_47": "mr",
870
- "speakers": 92826300,
871
- "scores": [
872
- {
873
- "model": "meta-llama/llama-3.3-70b-instruct",
874
- "mt_bleu": 0.29576799752528954,
875
- "mt_chrf": 51.55512571221437,
876
- "cls_acc": 0.5666666666666667,
877
- "mlm_chrf": 95.03930657100632,
878
- "overall_score": 0.6775369964996245
879
- }
880
- ],
881
- "mt_bleu": 0.29576799752528954,
882
- "mt_chrf": 51.55512571221437,
883
- "cls_acc": 0.5666666666666667,
884
- "mlm_chrf": 95.03930657100632,
885
- "overall_score": 0.6775369964996245,
886
- "commonvoice_hours": 20.0,
887
- "commonvoice_locale": "mr",
888
- "population": {
889
- "IN": 92826300
890
- },
891
- "language_family": "Indo-European",
892
- "fleurs_tag": "mr_in"
893
- },
894
- {
895
- "language_name": "Javanese",
896
- "bcp_47": "jv",
897
- "speakers": 91180665,
898
- "scores": [
899
- {
900
- "model": "meta-llama/llama-3.3-70b-instruct",
901
- "mt_bleu": 0.26767127029757953,
902
- "mt_chrf": 48.9335568346396,
903
- "cls_acc": 0.4666666666666667,
904
- "mlm_chrf": 91.68807278010077,
905
- "overall_score": 0.6242943209380235
906
- }
907
- ],
908
- "mt_bleu": 0.26767127029757953,
909
- "mt_chrf": 48.9335568346396,
910
- "cls_acc": 0.4666666666666667,
911
- "mlm_chrf": 91.68807278010077,
912
- "overall_score": 0.6242943209380235,
913
- "commonvoice_hours": 0.0,
914
- "commonvoice_locale": "jv",
915
- "population": {
916
- "ID": 90788840,
917
- "MY": 391825
918
- },
919
- "language_family": "Austronesian",
920
- "fleurs_tag": "jv_id"
921
- },
922
- {
923
- "language_name": "Vietnamese",
924
- "bcp_47": "vi",
925
- "speakers": 86222962,
926
- "scores": [
927
- {
928
- "model": "meta-llama/llama-3.3-70b-instruct",
929
- "mt_bleu": 0.26736329890789995,
930
- "mt_chrf": 49.52763533189073,
931
- "cls_acc": 0.5333333333333333,
932
- "mlm_chrf": 94.33244905535389,
933
- "overall_score": 0.6573113924019266
934
- }
935
- ],
936
- "mt_bleu": 0.26736329890789995,
937
- "mt_chrf": 49.52763533189073,
938
- "cls_acc": 0.5333333333333333,
939
- "mlm_chrf": 94.33244905535389,
940
- "overall_score": 0.6573113924019266,
941
- "commonvoice_hours": 5.9,
942
- "commonvoice_locale": "vi",
943
- "population": {
944
- "CA": 184701,
945
- "CN": 6970,
946
- "US": 1130973,
947
- "VN": 84900318
948
- },
949
- "language_family": "Austroasiatic",
950
- "fleurs_tag": "vi_vn"
951
  }
952
  ]
 
10
  "mt_chrf": 65.25187717981981,
11
  "cls_acc": 0.5666666666666667,
12
  "mlm_chrf": 97.84704595784264,
13
+ "asr_wer": 0,
14
  "overall_score": 0.7325519660144305
15
  },
16
  {
 
19
  "mt_chrf": 63.24229348441665,
20
  "cls_acc": 0.6,
21
  "mlm_chrf": 93.62602669879945,
22
+ "asr_wer": 0,
23
  "overall_score": 0.7228944006107203
24
  },
25
  {
 
28
  "mt_chrf": 63.8187259254881,
29
  "cls_acc": 0.5333333333333333,
30
  "mlm_chrf": 79.91140615317198,
31
+ "asr_wer": 0,
32
  "overall_score": 0.656878218039978
33
  },
34
  {
 
37
  "mt_chrf": 71.2288943066563,
38
  "cls_acc": 0.8666666666666667,
39
  "mlm_chrf": 98.79868693366329,
40
+ "asr_wer": 0,
41
  "overall_score": 0.8556474930232877
42
  },
43
  {
 
46
  "mt_chrf": 66.05410510011644,
47
  "cls_acc": 0.7,
48
  "mlm_chrf": 97.2290729316734,
49
+ "asr_wer": 0,
50
  "overall_score": 0.7776105934392995
51
+ },
52
+ {
53
+ "model": "elevenlabs/scribe_v1",
54
+ "mt_bleu": 0,
55
+ "mt_chrf": 0,
56
+ "cls_acc": 0,
57
+ "mlm_chrf": 0,
58
+ "asr_wer": 0.3384224589434353,
59
+ "overall_score": 0.0
60
+ },
61
+ {
62
+ "model": "openai/whisper-large-v3-turbo",
63
+ "mt_bleu": 0,
64
+ "mt_chrf": 0,
65
+ "cls_acc": 0,
66
+ "mlm_chrf": 0,
67
+ "asr_wer": 0.2670470041301468,
68
+ "overall_score": 0.0
69
  }
70
  ],
71
+ "mt_bleu": 0.37494794450526203,
72
+ "mt_chrf": 47.08512799949961,
73
+ "cls_acc": 0.4666666666666667,
74
+ "mlm_chrf": 66.77317695359297,
75
+ "asr_wer": 0.08649563758194032,
76
+ "overall_score": 0.5350832387325309,
77
  "commonvoice_hours": 2651.0,
78
  "commonvoice_locale": "en",
79
  "population": {
 
233
  "ZM": 2788256,
234
  "ZW": 6109446
235
  },
236
+ "language_family": "Indo-European"
 
237
  },
238
  {
239
  "language_name": "Chinese",
240
  "bcp_47": "zh",
241
  "speakers": 1304678914,
242
  "scores": [
243
+ {
244
+ "model": "openai/gpt-4o-mini",
245
+ "mt_bleu": 0.4887591978835982,
246
+ "mt_chrf": 70.23584222732792,
247
+ "cls_acc": 0.43333333333333335,
248
+ "mlm_chrf": 91.54177259254774,
249
+ "asr_wer": 0,
250
+ "overall_score": 0.6837031605106967
251
+ },
252
  {
253
  "model": "meta-llama/llama-3.3-70b-instruct",
254
  "mt_bleu": 0.38557580495281013,
255
  "mt_chrf": 61.11151378837755,
256
  "cls_acc": 0.5666666666666667,
257
  "mlm_chrf": 94.55849047452216,
258
+ "asr_wer": 0,
259
  "overall_score": 0.7077889030985546
260
+ },
261
+ {
262
+ "model": "mistralai/mistral-small-24b-instruct-2501",
263
+ "mt_bleu": 0.48838341708028316,
264
+ "mt_chrf": 71.48446350451079,
265
+ "cls_acc": 0.7666666666666667,
266
+ "mlm_chrf": 91.82889304045095,
267
+ "asr_wer": 0,
268
+ "overall_score": 0.799933410705428
269
+ },
270
+ {
271
+ "model": "google/gemini-2.0-flash-001",
272
+ "mt_bleu": 0.392664198976078,
273
+ "mt_chrf": 58.52460212908651,
274
+ "cls_acc": 0.8666666666666667,
275
+ "mlm_chrf": 94.26439448464122,
276
+ "asr_wer": 0,
277
+ "overall_score": 0.7981855442679814
278
+ },
279
+ {
280
+ "model": "microsoft/phi-4",
281
+ "mt_bleu": 0.4892212172376435,
282
+ "mt_chrf": 69.23023880157619,
283
+ "cls_acc": 0.7,
284
+ "mlm_chrf": 93.53779735205161,
285
+ "asr_wer": 0,
286
+ "overall_score": 0.7758934538454261
287
+ },
288
+ {
289
+ "model": "elevenlabs/scribe_v1",
290
+ "mt_bleu": 0,
291
+ "mt_chrf": 0,
292
+ "cls_acc": 0,
293
+ "mlm_chrf": 0,
294
+ "asr_wer": 1.0,
295
+ "overall_score": 0.0
296
+ },
297
+ {
298
+ "model": "openai/whisper-large-v3-turbo",
299
+ "mt_bleu": 0,
300
+ "mt_chrf": 0,
301
+ "cls_acc": 0,
302
+ "mlm_chrf": 0,
303
+ "asr_wer": 1.0,
304
+ "overall_score": 0.0
305
  }
306
  ],
307
+ "mt_bleu": 0.3206576908757733,
308
+ "mt_chrf": 47.226665778697,
309
+ "cls_acc": 0.47619047619047616,
310
+ "mlm_chrf": 66.53304970631623,
311
+ "asr_wer": 0.2857142857142857,
312
+ "overall_score": 0.5379292103468696,
313
  "commonvoice_hours": 422.0,
314
  "commonvoice_locale": "zh-TW",
315
  "population": {
 
334
  "US": 2295209,
335
  "VN": 1085934
336
  },
337
+ "language_family": "Sino-Tibetan"
 
338
  },
339
  {
340
  "language_name": "Hindi",
 
347
  "mt_chrf": 53.54085104449268,
348
  "cls_acc": 0.5,
349
  "mlm_chrf": 96.17240172798218,
350
+ "asr_wer": 0,
351
  "overall_score": 0.6657108425749162
352
+ },
353
+ {
354
+ "model": "openai/whisper-large-v3-turbo",
355
+ "mt_bleu": 0,
356
+ "mt_chrf": 0,
357
+ "cls_acc": 0,
358
+ "mlm_chrf": 0,
359
+ "asr_wer": 0.40237814140706235,
360
+ "overall_score": 0.0
361
  }
362
  ],
363
+ "mt_bleu": 0.16202451170343032,
364
+ "mt_chrf": 26.77042552224634,
365
+ "cls_acc": 0.25,
366
+ "mlm_chrf": 48.08620086399109,
367
+ "asr_wer": 0.20118907070353118,
368
+ "overall_score": 0.3328554212874581,
369
  "commonvoice_hours": 16.0,
370
  "commonvoice_locale": "hi-IN",
371
  "population": {
 
376
  "UG": 2206,
377
  "ZA": 1129272
378
  },
379
+ "language_family": "Indo-European"
 
380
  },
381
  {
382
  "language_name": "Spanish",
 
389
  "mt_chrf": 52.142851262301726,
390
  "cls_acc": 0.5,
391
  "mlm_chrf": 96.92768852306384,
392
+ "asr_wer": 0,
393
  "overall_score": 0.6635684659512185
394
+ },
395
+ {
396
+ "model": "openai/whisper-large-v3-turbo",
397
+ "mt_bleu": 0,
398
+ "mt_chrf": 0,
399
+ "cls_acc": 0,
400
+ "mlm_chrf": 0,
401
+ "asr_wer": 0.16641846898275137,
402
+ "overall_score": 0.0
403
  }
404
  ],
405
+ "mt_bleu": 0.15793968558071028,
406
+ "mt_chrf": 26.071425631150863,
407
+ "cls_acc": 0.25,
408
+ "mlm_chrf": 48.46384426153192,
409
+ "asr_wer": 0.08320923449137568,
410
+ "overall_score": 0.3317842329756093,
411
  "commonvoice_hours": 446.0,
412
  "commonvoice_locale": "es",
413
  "population": {
 
451
  "UY": 2981097,
452
  "VE": 23488572
453
  },
454
+ "language_family": "Indo-European"
 
455
  },
456
  {
457
  "language_name": "Arabic",
 
464
  "mt_chrf": 57.51652731936118,
465
  "cls_acc": 0.4666666666666667,
466
  "mlm_chrf": 94.97026443937914,
467
+ "asr_wer": 0,
468
  "overall_score": 0.6638448614180232
469
+ },
470
+ {
471
+ "model": "openai/whisper-large-v3-turbo",
472
+ "mt_bleu": 0,
473
+ "mt_chrf": 0,
474
+ "cls_acc": 0,
475
+ "mlm_chrf": 0,
476
+ "asr_wer": 0.17249214841393012,
477
+ "overall_score": 0.0
478
  }
479
  ],
480
+ "mt_bleu": 0.19773967466885667,
481
+ "mt_chrf": 28.75826365968059,
482
+ "cls_acc": 0.23333333333333334,
483
+ "mlm_chrf": 47.48513221968957,
484
+ "asr_wer": 0.08624607420696506,
485
+ "overall_score": 0.3319224307090116,
486
  "commonvoice_hours": 91.0,
487
  "commonvoice_locale": "ar",
488
  "population": {
 
525
  "TR": 459298,
526
  "YE": 22114456
527
  },
528
+ "language_family": "Afro-Asiatic"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
529
  }
530
  ]
uv.lock CHANGED
@@ -205,15 +205,6 @@ wheels = [
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 = "audioread"
210
- version = "3.0.1"
211
- source = { registry = "https://pypi.org/simple" }
212
- sdist = { url = "https://files.pythonhosted.org/packages/db/d2/87016ca9f083acadffb2d8da59bfa3253e4da7eeb9f71fb8e7708dc97ecd/audioread-3.0.1.tar.gz", hash = "sha256:ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d", size = 116513 }
213
- wheels = [
214
- { url = "https://files.pythonhosted.org/packages/57/8d/30aa32745af16af0a9a650115fbe81bde7c610ed5c21b381fca0196f3a7f/audioread-3.0.1-py3-none-any.whl", hash = "sha256:4cdce70b8adc0da0a3c9e0d85fb10b3ace30fbdf8d1670fd443929b61d117c33", size = 23492 },
215
- ]
216
-
217
  [[package]]
218
  name = "babel"
219
  version = "2.17.0"
@@ -276,63 +267,6 @@ wheels = [
276
  { url = "https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8", size = 167321 },
277
  ]
278
 
279
- [[package]]
280
- name = "cffi"
281
- version = "1.17.1"
282
- source = { registry = "https://pypi.org/simple" }
283
- dependencies = [
284
- { name = "pycparser" },
285
- ]
286
- sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 }
287
- wheels = [
288
- { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 },
289
- { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 },
290
- { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 },
291
- { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 },
292
- { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 },
293
- { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 },
294
- { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 },
295
- { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 },
296
- { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 },
297
- { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 },
298
- { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 },
299
- { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 },
300
- { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 },
301
- { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 },
302
- { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 },
303
- { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 },
304
- { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 },
305
- { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 },
306
- { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 },
307
- { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 },
308
- { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 },
309
- { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 },
310
- { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 },
311
- { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 },
312
- { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 },
313
- { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 },
314
- { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 },
315
- { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 },
316
- { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 },
317
- { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 },
318
- { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 },
319
- { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 },
320
- { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 },
321
- { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 },
322
- { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 },
323
- { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 },
324
- { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 },
325
- { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 },
326
- { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 },
327
- { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 },
328
- { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 },
329
- { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 },
330
- { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 },
331
- { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 },
332
- { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 },
333
- { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 },
334
- ]
335
-
336
  [[package]]
337
  name = "charset-normalizer"
338
  version = "3.4.0"
@@ -613,15 +547,6 @@ wheels = [
613
  { url = "https://files.pythonhosted.org/packages/20/bd/db3d92897ba528d62facd936a5dc1cf867e174323036a632724ab0bc1946/datasets-3.0.2-py3-none-any.whl", hash = "sha256:220bfbea0be9bf81d121bd2ac76fe4ef3f7defe0e8586ce1e7f66dcaaf69f88d", size = 472683 },
614
  ]
615
 
616
- [[package]]
617
- name = "decorator"
618
- version = "5.2.1"
619
- source = { registry = "https://pypi.org/simple" }
620
- sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711 }
621
- wheels = [
622
- { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190 },
623
- ]
624
-
625
  [[package]]
626
  name = "dill"
627
  version = "0.3.8"
@@ -1299,21 +1224,18 @@ dependencies = [
1299
  dev = [
1300
  { name = "aiolimiter" },
1301
  { name = "bert-score" },
1302
- { name = "datasets" },
1303
  { name = "elevenlabs" },
1304
  { name = "evaluate" },
1305
  { name = "huggingface-hub" },
1306
  { name = "jiwer" },
1307
  { name = "joblib" },
1308
  { name = "langcodes" },
1309
- { name = "librosa" },
1310
  { name = "openai" },
1311
  { name = "protobuf" },
1312
  { name = "pyglottolog" },
1313
  { name = "python-dotenv" },
1314
  { name = "sacrebleu" },
1315
  { name = "sentencepiece" },
1316
- { name = "soundfile" },
1317
  { name = "tiktoken" },
1318
  { name = "tqdm" },
1319
  { name = "transformers" },
@@ -1331,21 +1253,18 @@ requires-dist = [
1331
  dev = [
1332
  { name = "aiolimiter", specifier = ">=1.1.0" },
1333
  { name = "bert-score", specifier = ">=0.3.13" },
1334
- { name = "datasets", specifier = ">=3.0.2" },
1335
  { name = "elevenlabs", specifier = ">=1.53.0" },
1336
  { name = "evaluate", specifier = "==0.4.0" },
1337
  { name = "huggingface-hub", specifier = ">=0.29.1" },
1338
  { name = "jiwer", specifier = ">=3.1.0" },
1339
  { name = "joblib", specifier = ">=1.4.2" },
1340
  { name = "langcodes", specifier = ">=3.5.0" },
1341
- { name = "librosa", specifier = ">=0.10.2.post1" },
1342
  { name = "openai", specifier = ">=1.52.2" },
1343
  { name = "protobuf", specifier = ">=5.28.3" },
1344
  { name = "pyglottolog", specifier = ">=3.14.0" },
1345
  { name = "python-dotenv", specifier = ">=1.0.1" },
1346
  { name = "sacrebleu", specifier = ">=2.4.3" },
1347
  { name = "sentencepiece", specifier = ">=0.2.0" },
1348
- { name = "soundfile", specifier = ">=0.13.1" },
1349
  { name = "tiktoken", specifier = ">=0.8.0" },
1350
  { name = "tqdm", specifier = ">=4.66.6" },
1351
  { name = "transformers", specifier = ">=4.46.1" },
@@ -1360,42 +1279,6 @@ wheels = [
1360
  { url = "https://files.pythonhosted.org/packages/b0/bf/ea8887e9f31a8f93ca306699d11909c6140151393a4216f0d9f85a004077/latexcodec-3.0.0-py3-none-any.whl", hash = "sha256:6f3477ad5e61a0a99bd31a6a370c34e88733a6bad9c921a3ffcfacada12f41a7", size = 18150 },
1361
  ]
1362
 
1363
- [[package]]
1364
- name = "lazy-loader"
1365
- version = "0.4"
1366
- source = { registry = "https://pypi.org/simple" }
1367
- dependencies = [
1368
- { name = "packaging" },
1369
- ]
1370
- sdist = { url = "https://files.pythonhosted.org/packages/6f/6b/c875b30a1ba490860c93da4cabf479e03f584eba06fe5963f6f6644653d8/lazy_loader-0.4.tar.gz", hash = "sha256:47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1", size = 15431 }
1371
- wheels = [
1372
- { url = "https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc", size = 12097 },
1373
- ]
1374
-
1375
- [[package]]
1376
- name = "librosa"
1377
- version = "0.10.2.post1"
1378
- source = { registry = "https://pypi.org/simple" }
1379
- dependencies = [
1380
- { name = "audioread" },
1381
- { name = "decorator" },
1382
- { name = "joblib" },
1383
- { name = "lazy-loader" },
1384
- { name = "msgpack" },
1385
- { name = "numba" },
1386
- { name = "numpy" },
1387
- { name = "pooch" },
1388
- { name = "scikit-learn" },
1389
- { name = "scipy" },
1390
- { name = "soundfile" },
1391
- { name = "soxr" },
1392
- { name = "typing-extensions" },
1393
- ]
1394
- sdist = { url = "https://files.pythonhosted.org/packages/0e/2d/77783a52641a21ff7e2230aa588e4fb4a61422a64673096a36776b7e5bd9/librosa-0.10.2.post1.tar.gz", hash = "sha256:cd99f16717cbcd1e0983e37308d1db46a6f7dfc2e396e5a9e61e6821e44bd2e7", size = 325533 }
1395
- wheels = [
1396
- { url = "https://files.pythonhosted.org/packages/8c/8a/2d231b35456506b7c98b3ab9bbf07917b205fed8615d2e59e976ab497fff/librosa-0.10.2.post1-py3-none-any.whl", hash = "sha256:dc882750e8b577a63039f25661b7e39ec4cfbacc99c1cffba666cd664fb0a7a0", size = 260089 },
1397
- ]
1398
-
1399
  [[package]]
1400
  name = "linglit"
1401
  version = "1.7.1"
@@ -1421,34 +1304,6 @@ wheels = [
1421
  { url = "https://files.pythonhosted.org/packages/8e/0f/b548d31d652445db774d8a8214d434b4b5804f7fd988034bcee72ac3895b/linglit-1.7.1-py3-none-any.whl", hash = "sha256:345bb64e83c5dc4a4b9eab9acc50344348848ab654e7a5f418ed7df0b6cfd370", size = 107062 },
1422
  ]
1423
 
1424
- [[package]]
1425
- name = "llvmlite"
1426
- version = "0.44.0"
1427
- source = { registry = "https://pypi.org/simple" }
1428
- sdist = { url = "https://files.pythonhosted.org/packages/89/6a/95a3d3610d5c75293d5dbbb2a76480d5d4eeba641557b69fe90af6c5b84e/llvmlite-0.44.0.tar.gz", hash = "sha256:07667d66a5d150abed9157ab6c0b9393c9356f229784a4385c02f99e94fc94d4", size = 171880 }
1429
- wheels = [
1430
- { url = "https://files.pythonhosted.org/packages/41/75/d4863ddfd8ab5f6e70f4504cf8cc37f4e986ec6910f4ef8502bb7d3c1c71/llvmlite-0.44.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:9fbadbfba8422123bab5535b293da1cf72f9f478a65645ecd73e781f962ca614", size = 28132306 },
1431
- { url = "https://files.pythonhosted.org/packages/37/d9/6e8943e1515d2f1003e8278819ec03e4e653e2eeb71e4d00de6cfe59424e/llvmlite-0.44.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cccf8eb28f24840f2689fb1a45f9c0f7e582dd24e088dcf96e424834af11f791", size = 26201096 },
1432
- { url = "https://files.pythonhosted.org/packages/aa/46/8ffbc114def88cc698906bf5acab54ca9fdf9214fe04aed0e71731fb3688/llvmlite-0.44.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7202b678cdf904823c764ee0fe2dfe38a76981f4c1e51715b4cb5abb6cf1d9e8", size = 42361859 },
1433
- { url = "https://files.pythonhosted.org/packages/30/1c/9366b29ab050a726af13ebaae8d0dff00c3c58562261c79c635ad4f5eb71/llvmlite-0.44.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40526fb5e313d7b96bda4cbb2c85cd5374e04d80732dd36a282d72a560bb6408", size = 41184199 },
1434
- { url = "https://files.pythonhosted.org/packages/69/07/35e7c594b021ecb1938540f5bce543ddd8713cff97f71d81f021221edc1b/llvmlite-0.44.0-cp310-cp310-win_amd64.whl", hash = "sha256:41e3839150db4330e1b2716c0be3b5c4672525b4c9005e17c7597f835f351ce2", size = 30332381 },
1435
- { url = "https://files.pythonhosted.org/packages/b5/e2/86b245397052386595ad726f9742e5223d7aea999b18c518a50e96c3aca4/llvmlite-0.44.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:eed7d5f29136bda63b6d7804c279e2b72e08c952b7c5df61f45db408e0ee52f3", size = 28132305 },
1436
- { url = "https://files.pythonhosted.org/packages/ff/ec/506902dc6870249fbe2466d9cf66d531265d0f3a1157213c8f986250c033/llvmlite-0.44.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ace564d9fa44bb91eb6e6d8e7754977783c68e90a471ea7ce913bff30bd62427", size = 26201090 },
1437
- { url = "https://files.pythonhosted.org/packages/99/fe/d030f1849ebb1f394bb3f7adad5e729b634fb100515594aca25c354ffc62/llvmlite-0.44.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5d22c3bfc842668168a786af4205ec8e3ad29fb1bc03fd11fd48460d0df64c1", size = 42361858 },
1438
- { url = "https://files.pythonhosted.org/packages/d7/7a/ce6174664b9077fc673d172e4c888cb0b128e707e306bc33fff8c2035f0d/llvmlite-0.44.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f01a394e9c9b7b1d4e63c327b096d10f6f0ed149ef53d38a09b3749dcf8c9610", size = 41184200 },
1439
- { url = "https://files.pythonhosted.org/packages/5f/c6/258801143975a6d09a373f2641237992496e15567b907a4d401839d671b8/llvmlite-0.44.0-cp311-cp311-win_amd64.whl", hash = "sha256:d8489634d43c20cd0ad71330dde1d5bc7b9966937a263ff1ec1cebb90dc50955", size = 30331193 },
1440
- { url = "https://files.pythonhosted.org/packages/15/86/e3c3195b92e6e492458f16d233e58a1a812aa2bfbef9bdd0fbafcec85c60/llvmlite-0.44.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:1d671a56acf725bf1b531d5ef76b86660a5ab8ef19bb6a46064a705c6ca80aad", size = 28132297 },
1441
- { url = "https://files.pythonhosted.org/packages/d6/53/373b6b8be67b9221d12b24125fd0ec56b1078b660eeae266ec388a6ac9a0/llvmlite-0.44.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5f79a728e0435493611c9f405168682bb75ffd1fbe6fc360733b850c80a026db", size = 26201105 },
1442
- { url = "https://files.pythonhosted.org/packages/cb/da/8341fd3056419441286c8e26bf436923021005ece0bff5f41906476ae514/llvmlite-0.44.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0143a5ef336da14deaa8ec26c5449ad5b6a2b564df82fcef4be040b9cacfea9", size = 42361901 },
1443
- { url = "https://files.pythonhosted.org/packages/53/ad/d79349dc07b8a395a99153d7ce8b01d6fcdc9f8231355a5df55ded649b61/llvmlite-0.44.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d752f89e31b66db6f8da06df8b39f9b91e78c5feea1bf9e8c1fba1d1c24c065d", size = 41184247 },
1444
- { url = "https://files.pythonhosted.org/packages/e2/3b/a9a17366af80127bd09decbe2a54d8974b6d8b274b39bf47fbaedeec6307/llvmlite-0.44.0-cp312-cp312-win_amd64.whl", hash = "sha256:eae7e2d4ca8f88f89d315b48c6b741dcb925d6a1042da694aa16ab3dd4cbd3a1", size = 30332380 },
1445
- { url = "https://files.pythonhosted.org/packages/89/24/4c0ca705a717514c2092b18476e7a12c74d34d875e05e4d742618ebbf449/llvmlite-0.44.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:319bddd44e5f71ae2689859b7203080716448a3cd1128fb144fe5c055219d516", size = 28132306 },
1446
- { url = "https://files.pythonhosted.org/packages/01/cf/1dd5a60ba6aee7122ab9243fd614abcf22f36b0437cbbe1ccf1e3391461c/llvmlite-0.44.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c58867118bad04a0bb22a2e0068c693719658105e40009ffe95c7000fcde88e", size = 26201090 },
1447
- { url = "https://files.pythonhosted.org/packages/d2/1b/656f5a357de7135a3777bd735cc7c9b8f23b4d37465505bd0eaf4be9befe/llvmlite-0.44.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46224058b13c96af1365290bdfebe9a6264ae62fb79b2b55693deed11657a8bf", size = 42361904 },
1448
- { url = "https://files.pythonhosted.org/packages/d8/e1/12c5f20cb9168fb3464a34310411d5ad86e4163c8ff2d14a2b57e5cc6bac/llvmlite-0.44.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0097052c32bf721a4efc03bd109d335dfa57d9bffb3d4c24cc680711b8b4fc", size = 41184245 },
1449
- { url = "https://files.pythonhosted.org/packages/d0/81/e66fc86539293282fd9cb7c9417438e897f369e79ffb62e1ae5e5154d4dd/llvmlite-0.44.0-cp313-cp313-win_amd64.whl", hash = "sha256:2fb7c4f2fb86cbae6dca3db9ab203eeea0e22d73b99bc2341cdf9de93612e930", size = 30331193 },
1450
- ]
1451
-
1452
  [[package]]
1453
  name = "lxml"
1454
  version = "5.3.0"
@@ -1711,58 +1566,6 @@ wheels = [
1711
  { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
1712
  ]
1713
 
1714
- [[package]]
1715
- name = "msgpack"
1716
- version = "1.1.0"
1717
- source = { registry = "https://pypi.org/simple" }
1718
- sdist = { url = "https://files.pythonhosted.org/packages/cb/d0/7555686ae7ff5731205df1012ede15dd9d927f6227ea151e901c7406af4f/msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e", size = 167260 }
1719
- wheels = [
1720
- { url = "https://files.pythonhosted.org/packages/4b/f9/a892a6038c861fa849b11a2bb0502c07bc698ab6ea53359e5771397d883b/msgpack-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd", size = 150428 },
1721
- { url = "https://files.pythonhosted.org/packages/df/7a/d174cc6a3b6bb85556e6a046d3193294a92f9a8e583cdbd46dc8a1d7e7f4/msgpack-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d", size = 84131 },
1722
- { url = "https://files.pythonhosted.org/packages/08/52/bf4fbf72f897a23a56b822997a72c16de07d8d56d7bf273242f884055682/msgpack-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5", size = 81215 },
1723
- { url = "https://files.pythonhosted.org/packages/02/95/dc0044b439b518236aaf012da4677c1b8183ce388411ad1b1e63c32d8979/msgpack-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5", size = 371229 },
1724
- { url = "https://files.pythonhosted.org/packages/ff/75/09081792db60470bef19d9c2be89f024d366b1e1973c197bb59e6aabc647/msgpack-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e", size = 378034 },
1725
- { url = "https://files.pythonhosted.org/packages/32/d3/c152e0c55fead87dd948d4b29879b0f14feeeec92ef1fd2ec21b107c3f49/msgpack-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b", size = 363070 },
1726
- { url = "https://files.pythonhosted.org/packages/d9/2c/82e73506dd55f9e43ac8aa007c9dd088c6f0de2aa19e8f7330e6a65879fc/msgpack-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f", size = 359863 },
1727
- { url = "https://files.pythonhosted.org/packages/cb/a0/3d093b248837094220e1edc9ec4337de3443b1cfeeb6e0896af8ccc4cc7a/msgpack-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68", size = 368166 },
1728
- { url = "https://files.pythonhosted.org/packages/e4/13/7646f14f06838b406cf5a6ddbb7e8dc78b4996d891ab3b93c33d1ccc8678/msgpack-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b", size = 370105 },
1729
- { url = "https://files.pythonhosted.org/packages/67/fa/dbbd2443e4578e165192dabbc6a22c0812cda2649261b1264ff515f19f15/msgpack-1.1.0-cp310-cp310-win32.whl", hash = "sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044", size = 68513 },
1730
- { url = "https://files.pythonhosted.org/packages/24/ce/c2c8fbf0ded750cb63cbcbb61bc1f2dfd69e16dca30a8af8ba80ec182dcd/msgpack-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f", size = 74687 },
1731
- { url = "https://files.pythonhosted.org/packages/b7/5e/a4c7154ba65d93be91f2f1e55f90e76c5f91ccadc7efc4341e6f04c8647f/msgpack-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7", size = 150803 },
1732
- { url = "https://files.pythonhosted.org/packages/60/c2/687684164698f1d51c41778c838d854965dd284a4b9d3a44beba9265c931/msgpack-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa", size = 84343 },
1733
- { url = "https://files.pythonhosted.org/packages/42/ae/d3adea9bb4a1342763556078b5765e666f8fdf242e00f3f6657380920972/msgpack-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701", size = 81408 },
1734
- { url = "https://files.pythonhosted.org/packages/dc/17/6313325a6ff40ce9c3207293aee3ba50104aed6c2c1559d20d09e5c1ff54/msgpack-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6", size = 396096 },
1735
- { url = "https://files.pythonhosted.org/packages/a8/a1/ad7b84b91ab5a324e707f4c9761633e357820b011a01e34ce658c1dda7cc/msgpack-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59", size = 403671 },
1736
- { url = "https://files.pythonhosted.org/packages/bb/0b/fd5b7c0b308bbf1831df0ca04ec76fe2f5bf6319833646b0a4bd5e9dc76d/msgpack-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0", size = 387414 },
1737
- { url = "https://files.pythonhosted.org/packages/f0/03/ff8233b7c6e9929a1f5da3c7860eccd847e2523ca2de0d8ef4878d354cfa/msgpack-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e", size = 383759 },
1738
- { url = "https://files.pythonhosted.org/packages/1f/1b/eb82e1fed5a16dddd9bc75f0854b6e2fe86c0259c4353666d7fab37d39f4/msgpack-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6", size = 394405 },
1739
- { url = "https://files.pythonhosted.org/packages/90/2e/962c6004e373d54ecf33d695fb1402f99b51832631e37c49273cc564ffc5/msgpack-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5", size = 396041 },
1740
- { url = "https://files.pythonhosted.org/packages/f8/20/6e03342f629474414860c48aeffcc2f7f50ddaf351d95f20c3f1c67399a8/msgpack-1.1.0-cp311-cp311-win32.whl", hash = "sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88", size = 68538 },
1741
- { url = "https://files.pythonhosted.org/packages/aa/c4/5a582fc9a87991a3e6f6800e9bb2f3c82972912235eb9539954f3e9997c7/msgpack-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788", size = 74871 },
1742
- { url = "https://files.pythonhosted.org/packages/e1/d6/716b7ca1dbde63290d2973d22bbef1b5032ca634c3ff4384a958ec3f093a/msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d", size = 152421 },
1743
- { url = "https://files.pythonhosted.org/packages/70/da/5312b067f6773429cec2f8f08b021c06af416bba340c912c2ec778539ed6/msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2", size = 85277 },
1744
- { url = "https://files.pythonhosted.org/packages/28/51/da7f3ae4462e8bb98af0d5bdf2707f1b8c65a0d4f496e46b6afb06cbc286/msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420", size = 82222 },
1745
- { url = "https://files.pythonhosted.org/packages/33/af/dc95c4b2a49cff17ce47611ca9ba218198806cad7796c0b01d1e332c86bb/msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2", size = 392971 },
1746
- { url = "https://files.pythonhosted.org/packages/f1/54/65af8de681fa8255402c80eda2a501ba467921d5a7a028c9c22a2c2eedb5/msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39", size = 401403 },
1747
- { url = "https://files.pythonhosted.org/packages/97/8c/e333690777bd33919ab7024269dc3c41c76ef5137b211d776fbb404bfead/msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f", size = 385356 },
1748
- { url = "https://files.pythonhosted.org/packages/57/52/406795ba478dc1c890559dd4e89280fa86506608a28ccf3a72fbf45df9f5/msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247", size = 383028 },
1749
- { url = "https://files.pythonhosted.org/packages/e7/69/053b6549bf90a3acadcd8232eae03e2fefc87f066a5b9fbb37e2e608859f/msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c", size = 391100 },
1750
- { url = "https://files.pythonhosted.org/packages/23/f0/d4101d4da054f04274995ddc4086c2715d9b93111eb9ed49686c0f7ccc8a/msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b", size = 394254 },
1751
- { url = "https://files.pythonhosted.org/packages/1c/12/cf07458f35d0d775ff3a2dc5559fa2e1fcd06c46f1ef510e594ebefdca01/msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b", size = 69085 },
1752
- { url = "https://files.pythonhosted.org/packages/73/80/2708a4641f7d553a63bc934a3eb7214806b5b39d200133ca7f7afb0a53e8/msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f", size = 75347 },
1753
- { url = "https://files.pythonhosted.org/packages/c8/b0/380f5f639543a4ac413e969109978feb1f3c66e931068f91ab6ab0f8be00/msgpack-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf", size = 151142 },
1754
- { url = "https://files.pythonhosted.org/packages/c8/ee/be57e9702400a6cb2606883d55b05784fada898dfc7fd12608ab1fdb054e/msgpack-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330", size = 84523 },
1755
- { url = "https://files.pythonhosted.org/packages/7e/3a/2919f63acca3c119565449681ad08a2f84b2171ddfcff1dba6959db2cceb/msgpack-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734", size = 81556 },
1756
- { url = "https://files.pythonhosted.org/packages/7c/43/a11113d9e5c1498c145a8925768ea2d5fce7cbab15c99cda655aa09947ed/msgpack-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e", size = 392105 },
1757
- { url = "https://files.pythonhosted.org/packages/2d/7b/2c1d74ca6c94f70a1add74a8393a0138172207dc5de6fc6269483519d048/msgpack-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca", size = 399979 },
1758
- { url = "https://files.pythonhosted.org/packages/82/8c/cf64ae518c7b8efc763ca1f1348a96f0e37150061e777a8ea5430b413a74/msgpack-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915", size = 383816 },
1759
- { url = "https://files.pythonhosted.org/packages/69/86/a847ef7a0f5ef3fa94ae20f52a4cacf596a4e4a010197fbcc27744eb9a83/msgpack-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d", size = 380973 },
1760
- { url = "https://files.pythonhosted.org/packages/aa/90/c74cf6e1126faa93185d3b830ee97246ecc4fe12cf9d2d31318ee4246994/msgpack-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434", size = 387435 },
1761
- { url = "https://files.pythonhosted.org/packages/7a/40/631c238f1f338eb09f4acb0f34ab5862c4e9d7eda11c1b685471a4c5ea37/msgpack-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c", size = 399082 },
1762
- { url = "https://files.pythonhosted.org/packages/e9/1b/fa8a952be252a1555ed39f97c06778e3aeb9123aa4cccc0fd2acd0b4e315/msgpack-1.1.0-cp313-cp313-win32.whl", hash = "sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc", size = 69037 },
1763
- { url = "https://files.pythonhosted.org/packages/b6/bc/8bd826dd03e022153bfa1766dcdec4976d6c818865ed54223d71f07862b3/msgpack-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f", size = 75140 },
1764
- ]
1765
-
1766
  [[package]]
1767
  name = "multidict"
1768
  version = "6.1.0"
@@ -1889,38 +1692,6 @@ wheels = [
1889
  { url = "https://files.pythonhosted.org/packages/7d/32/2c71e873773a86abc2820fe3813372f9c53f6e5b8c1e42f69f2d82cd0221/newick-1.9.0-py2.py3-none-any.whl", hash = "sha256:25c262ca88a7752b5d759ff5bce7c85d50289ac2b06b13bb340e0a599c05bd02", size = 15710 },
1890
  ]
1891
 
1892
- [[package]]
1893
- name = "numba"
1894
- version = "0.61.0"
1895
- source = { registry = "https://pypi.org/simple" }
1896
- dependencies = [
1897
- { name = "llvmlite" },
1898
- { name = "numpy" },
1899
- ]
1900
- sdist = { url = "https://files.pythonhosted.org/packages/3c/88/c13a935f200fda51384411e49840a8e7f70c9cb1ee8d809dd0f2477cf7ef/numba-0.61.0.tar.gz", hash = "sha256:888d2e89b8160899e19591467e8fdd4970e07606e1fbc248f239c89818d5f925", size = 2816484 }
1901
- wheels = [
1902
- { url = "https://files.pythonhosted.org/packages/77/97/8568a025b9ab8b4d53491e70d4206d5f3fc71fbe94f3097058e01ad8e7ff/numba-0.61.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:9cab9783a700fa428b1a54d65295122bc03b3de1d01fb819a6b9dbbddfdb8c43", size = 2769008 },
1903
- { url = "https://files.pythonhosted.org/packages/8c/ab/a88c20755f66543ee01c85c98b866595b92e1bd0ed80565a4889e22929a8/numba-0.61.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:46c5ae094fb3706f5adf9021bfb7fc11e44818d61afee695cdee4eadfed45e98", size = 2771815 },
1904
- { url = "https://files.pythonhosted.org/packages/ae/f4/b357913089ecec1a9ddc6adc04090396928f36a484a5ab9e71b24ddba4cd/numba-0.61.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6fb74e81aa78a2303e30593d8331327dfc0d2522b5db05ac967556a26db3ef87", size = 3820233 },
1905
- { url = "https://files.pythonhosted.org/packages/ea/60/0e21bcf3baaf10e39d48cd224618e46a6b75d3394f465c37ce57bf98cbfa/numba-0.61.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:0ebbd4827091384ab8c4615ba1b3ca8bc639a3a000157d9c37ba85d34cd0da1b", size = 3514707 },
1906
- { url = "https://files.pythonhosted.org/packages/a0/08/45c136ab59e6b11e61ce15a0d17ef03fd89eaccb0db05ad67912aaf5218a/numba-0.61.0-cp310-cp310-win_amd64.whl", hash = "sha256:43aa4d7d10c542d3c78106b8481e0cbaaec788c39ee8e3d7901682748ffdf0b4", size = 2827753 },
1907
- { url = "https://files.pythonhosted.org/packages/63/8f/f983a7c859ccad73d3cc3f86fbba94f16e137cd1ee464631d61b624363b2/numba-0.61.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:bf64c2d0f3d161af603de3825172fb83c2600bcb1d53ae8ea568d4c53ba6ac08", size = 2768960 },
1908
- { url = "https://files.pythonhosted.org/packages/be/1b/c33dc847d475d5b647b4ad5aefc38df7a72283763f4cda47745050375a81/numba-0.61.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:de5aa7904741425f28e1028b85850b31f0a245e9eb4f7c38507fb893283a066c", size = 2771862 },
1909
- { url = "https://files.pythonhosted.org/packages/14/91/18b9f64b34ff318a14d072251480547f89ebfb864b2b7168e5dc5f64f502/numba-0.61.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:21c2fe25019267a608e2710a6a947f557486b4b0478b02e45a81cf606a05a7d4", size = 3825411 },
1910
- { url = "https://files.pythonhosted.org/packages/f2/97/1a38030c2a331e273ace1de2b61988e33d80878fda8a5eedee0cd78399d3/numba-0.61.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:74250b26ed6a1428763e774dc5b2d4e70d93f73795635b5412b8346a4d054574", size = 3519604 },
1911
- { url = "https://files.pythonhosted.org/packages/df/a7/56f547de8fc197963f238fd62beb5f1d2cace047602d0577956bf6840970/numba-0.61.0-cp311-cp311-win_amd64.whl", hash = "sha256:b72bbc8708e98b3741ad0c63f9929c47b623cc4ee86e17030a4f3e301e8401ac", size = 2827642 },
1912
- { url = "https://files.pythonhosted.org/packages/63/c9/c61881e7f2e253e745209f078bbd428ce23b6cf901f7d93afe166720ff95/numba-0.61.0-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:152146ecdbb8d8176f294e9f755411e6f270103a11c3ff50cecc413f794e52c8", size = 2769758 },
1913
- { url = "https://files.pythonhosted.org/packages/e1/28/ddec0147a4933f86ceaca580aa9bb767d5632ecdb1ece6cfb3eab4ac78e5/numba-0.61.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5cafa6095716fcb081618c28a8d27bf7c001e09696f595b41836dec114be2905", size = 2772445 },
1914
- { url = "https://files.pythonhosted.org/packages/18/74/6a9f0e6c76c088f8a6aa702eab31734068061dca5cc0f34e8bc1eb447de1/numba-0.61.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ffe9fe373ed30638d6e20a0269f817b2c75d447141f55a675bfcf2d1fe2e87fb", size = 3882115 },
1915
- { url = "https://files.pythonhosted.org/packages/53/68/d7c31e53f08e6b4669c9b5a3cd7c5fb9097220c5ef388bc099ca8ab9749f/numba-0.61.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:9f25f7fef0206d55c1cfb796ad833cbbc044e2884751e56e798351280038484c", size = 3573296 },
1916
- { url = "https://files.pythonhosted.org/packages/94/4f/8357a99a14f331b865a42cb4756ae37da85599b9c95e01277ea10361e91a/numba-0.61.0-cp312-cp312-win_amd64.whl", hash = "sha256:550d389573bc3b895e1ccb18289feea11d937011de4d278b09dc7ed585d1cdcb", size = 2828077 },
1917
- { url = "https://files.pythonhosted.org/packages/3b/54/71fba18e4af5619f1ea8175ee92e82dd8e220bd6feb8c0153c6b814c8a60/numba-0.61.0-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:b96fafbdcf6f69b69855273e988696aae4974115a815f6818fef4af7afa1f6b8", size = 2768024 },
1918
- { url = "https://files.pythonhosted.org/packages/39/76/2448b43d08e904aad1b1b9cd12835b19411e84a81aa9192f83642a5e0afd/numba-0.61.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5f6c452dca1de8e60e593f7066df052dd8da09b243566ecd26d2b796e5d3087d", size = 2769541 },
1919
- { url = "https://files.pythonhosted.org/packages/32/8f/4bb2374247ab988c9eac587b304b2947a36d605b9bb9ba4bf06e955c17d3/numba-0.61.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:44240e694d4aa321430c97b21453e46014fe6c7b8b7d932afa7f6a88cc5d7e5e", size = 3890102 },
1920
- { url = "https://files.pythonhosted.org/packages/ab/bc/dc2d03555289ae5263f65c01d45eb186ce347585c191daf0e60021d5ed39/numba-0.61.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:764f0e47004f126f58c3b28e0a02374c420a9d15157b90806d68590f5c20cc89", size = 3580239 },
1921
- { url = "https://files.pythonhosted.org/packages/61/08/71247ce560d2c222d9ca705c7d3547fc4069b96fc85d71aabeb890befe9f/numba-0.61.0-cp313-cp313-win_amd64.whl", hash = "sha256:074cd38c5b1f9c65a4319d1f3928165f48975ef0537ad43385b2bd908e6e2e35", size = 2828035 },
1922
- ]
1923
-
1924
  [[package]]
1925
  name = "numpy"
1926
  version = "2.1.2"
@@ -2326,20 +2097,6 @@ wheels = [
2326
  { url = "https://files.pythonhosted.org/packages/0e/77/a946f38b57fb88e736c71fbdd737a1aebd27b532bda0779c137f357cf5fc/plotly-6.0.0-py3-none-any.whl", hash = "sha256:f708871c3a9349a68791ff943a5781b1ec04de7769ea69068adcd9202e57653a", size = 14805949 },
2327
  ]
2328
 
2329
- [[package]]
2330
- name = "pooch"
2331
- version = "1.8.2"
2332
- source = { registry = "https://pypi.org/simple" }
2333
- dependencies = [
2334
- { name = "packaging" },
2335
- { name = "platformdirs" },
2336
- { name = "requests" },
2337
- ]
2338
- sdist = { url = "https://files.pythonhosted.org/packages/c6/77/b3d3e00c696c16cf99af81ef7b1f5fe73bd2a307abca41bd7605429fe6e5/pooch-1.8.2.tar.gz", hash = "sha256:76561f0de68a01da4df6af38e9955c4c9d1a5c90da73f7e40276a5728ec83d10", size = 59353 }
2339
- wheels = [
2340
- { url = "https://files.pythonhosted.org/packages/a8/87/77cc11c7a9ea9fd05503def69e3d18605852cd0d4b0d3b8f15bbeb3ef1d1/pooch-1.8.2-py3-none-any.whl", hash = "sha256:3529a57096f7198778a5ceefd5ac3ef0e4d06a6ddaf9fc2d609b806f25302c47", size = 64574 },
2341
- ]
2342
-
2343
  [[package]]
2344
  name = "portalocker"
2345
  version = "2.10.1"
@@ -2528,15 +2285,6 @@ wheels = [
2528
  { url = "https://files.pythonhosted.org/packages/b1/ec/1fb891d8a2660716aadb2143235481d15ed1cbfe3ad669194690b0604492/pycountry-24.6.1-py3-none-any.whl", hash = "sha256:f1a4fb391cd7214f8eefd39556d740adcc233c778a27f8942c8dca351d6ce06f", size = 6335189 },
2529
  ]
2530
 
2531
- [[package]]
2532
- name = "pycparser"
2533
- version = "2.22"
2534
- source = { registry = "https://pypi.org/simple" }
2535
- sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 }
2536
- wheels = [
2537
- { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 },
2538
- ]
2539
-
2540
  [[package]]
2541
  name = "pydantic"
2542
  version = "2.9.2"
@@ -3240,100 +2988,6 @@ wheels = [
3240
  { 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 },
3241
  ]
3242
 
3243
- [[package]]
3244
- name = "scikit-learn"
3245
- version = "1.6.1"
3246
- source = { registry = "https://pypi.org/simple" }
3247
- dependencies = [
3248
- { name = "joblib" },
3249
- { name = "numpy" },
3250
- { name = "scipy" },
3251
- { name = "threadpoolctl" },
3252
- ]
3253
- sdist = { url = "https://files.pythonhosted.org/packages/9e/a5/4ae3b3a0755f7b35a280ac90b28817d1f380318973cff14075ab41ef50d9/scikit_learn-1.6.1.tar.gz", hash = "sha256:b4fc2525eca2c69a59260f583c56a7557c6ccdf8deafdba6e060f94c1c59738e", size = 7068312 }
3254
- wheels = [
3255
- { url = "https://files.pythonhosted.org/packages/2e/3a/f4597eb41049110b21ebcbb0bcb43e4035017545daa5eedcfeb45c08b9c5/scikit_learn-1.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d056391530ccd1e501056160e3c9673b4da4805eb67eb2bdf4e983e1f9c9204e", size = 12067702 },
3256
- { url = "https://files.pythonhosted.org/packages/37/19/0423e5e1fd1c6ec5be2352ba05a537a473c1677f8188b9306097d684b327/scikit_learn-1.6.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:0c8d036eb937dbb568c6242fa598d551d88fb4399c0344d95c001980ec1c7d36", size = 11112765 },
3257
- { url = "https://files.pythonhosted.org/packages/70/95/d5cb2297a835b0f5fc9a77042b0a2d029866379091ab8b3f52cc62277808/scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8634c4bd21a2a813e0a7e3900464e6d593162a29dd35d25bdf0103b3fce60ed5", size = 12643991 },
3258
- { url = "https://files.pythonhosted.org/packages/b7/91/ab3c697188f224d658969f678be86b0968ccc52774c8ab4a86a07be13c25/scikit_learn-1.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:775da975a471c4f6f467725dff0ced5c7ac7bda5e9316b260225b48475279a1b", size = 13497182 },
3259
- { url = "https://files.pythonhosted.org/packages/17/04/d5d556b6c88886c092cc989433b2bab62488e0f0dafe616a1d5c9cb0efb1/scikit_learn-1.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:8a600c31592bd7dab31e1c61b9bbd6dea1b3433e67d264d17ce1017dbdce8002", size = 11125517 },
3260
- { url = "https://files.pythonhosted.org/packages/6c/2a/e291c29670795406a824567d1dfc91db7b699799a002fdaa452bceea8f6e/scikit_learn-1.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:72abc587c75234935e97d09aa4913a82f7b03ee0b74111dcc2881cba3c5a7b33", size = 12102620 },
3261
- { url = "https://files.pythonhosted.org/packages/25/92/ee1d7a00bb6b8c55755d4984fd82608603a3cc59959245068ce32e7fb808/scikit_learn-1.6.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b3b00cdc8f1317b5f33191df1386c0befd16625f49d979fe77a8d44cae82410d", size = 11116234 },
3262
- { url = "https://files.pythonhosted.org/packages/30/cd/ed4399485ef364bb25f388ab438e3724e60dc218c547a407b6e90ccccaef/scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc4765af3386811c3ca21638f63b9cf5ecf66261cc4815c1db3f1e7dc7b79db2", size = 12592155 },
3263
- { url = "https://files.pythonhosted.org/packages/a8/f3/62fc9a5a659bb58a03cdd7e258956a5824bdc9b4bb3c5d932f55880be569/scikit_learn-1.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:25fc636bdaf1cc2f4a124a116312d837148b5e10872147bdaf4887926b8c03d8", size = 13497069 },
3264
- { url = "https://files.pythonhosted.org/packages/a1/a6/c5b78606743a1f28eae8f11973de6613a5ee87366796583fb74c67d54939/scikit_learn-1.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:fa909b1a36e000a03c382aade0bd2063fd5680ff8b8e501660c0f59f021a6415", size = 11139809 },
3265
- { url = "https://files.pythonhosted.org/packages/0a/18/c797c9b8c10380d05616db3bfb48e2a3358c767affd0857d56c2eb501caa/scikit_learn-1.6.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:926f207c804104677af4857b2c609940b743d04c4c35ce0ddc8ff4f053cddc1b", size = 12104516 },
3266
- { url = "https://files.pythonhosted.org/packages/c4/b7/2e35f8e289ab70108f8cbb2e7a2208f0575dc704749721286519dcf35f6f/scikit_learn-1.6.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c2cae262064e6a9b77eee1c8e768fc46aa0b8338c6a8297b9b6759720ec0ff2", size = 11167837 },
3267
- { url = "https://files.pythonhosted.org/packages/a4/f6/ff7beaeb644bcad72bcfd5a03ff36d32ee4e53a8b29a639f11bcb65d06cd/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1061b7c028a8663fb9a1a1baf9317b64a257fcb036dae5c8752b2abef31d136f", size = 12253728 },
3268
- { url = "https://files.pythonhosted.org/packages/29/7a/8bce8968883e9465de20be15542f4c7e221952441727c4dad24d534c6d99/scikit_learn-1.6.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e69fab4ebfc9c9b580a7a80111b43d214ab06250f8a7ef590a4edf72464dd86", size = 13147700 },
3269
- { url = "https://files.pythonhosted.org/packages/62/27/585859e72e117fe861c2079bcba35591a84f801e21bc1ab85bce6ce60305/scikit_learn-1.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:70b1d7e85b1c96383f872a519b3375f92f14731e279a7b4c6cfd650cf5dffc52", size = 11110613 },
3270
- { url = "https://files.pythonhosted.org/packages/2e/59/8eb1872ca87009bdcdb7f3cdc679ad557b992c12f4b61f9250659e592c63/scikit_learn-1.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ffa1e9e25b3d93990e74a4be2c2fc61ee5af85811562f1288d5d055880c4322", size = 12010001 },
3271
- { url = "https://files.pythonhosted.org/packages/9d/05/f2fc4effc5b32e525408524c982c468c29d22f828834f0625c5ef3d601be/scikit_learn-1.6.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:dc5cf3d68c5a20ad6d571584c0750ec641cc46aeef1c1507be51300e6003a7e1", size = 11096360 },
3272
- { url = "https://files.pythonhosted.org/packages/c8/e4/4195d52cf4f113573fb8ebc44ed5a81bd511a92c0228889125fac2f4c3d1/scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c06beb2e839ecc641366000ca84f3cf6fa9faa1777e29cf0c04be6e4d096a348", size = 12209004 },
3273
- { url = "https://files.pythonhosted.org/packages/94/be/47e16cdd1e7fcf97d95b3cb08bde1abb13e627861af427a3651fcb80b517/scikit_learn-1.6.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e8ca8cb270fee8f1f76fa9bfd5c3507d60c6438bbee5687f81042e2bb98e5a97", size = 13171776 },
3274
- { url = "https://files.pythonhosted.org/packages/34/b0/ca92b90859070a1487827dbc672f998da95ce83edce1270fc23f96f1f61a/scikit_learn-1.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:7a1c43c8ec9fde528d664d947dc4c0789be4077a3647f232869f41d9bf50e0fb", size = 11071865 },
3275
- { url = "https://files.pythonhosted.org/packages/12/ae/993b0fb24a356e71e9a894e42b8a9eec528d4c70217353a1cd7a48bc25d4/scikit_learn-1.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a17c1dea1d56dcda2fac315712f3651a1fea86565b64b48fa1bc090249cbf236", size = 11955804 },
3276
- { url = "https://files.pythonhosted.org/packages/d6/54/32fa2ee591af44507eac86406fa6bba968d1eb22831494470d0a2e4a1eb1/scikit_learn-1.6.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a7aa5f9908f0f28f4edaa6963c0a6183f1911e63a69aa03782f0d924c830a35", size = 11100530 },
3277
- { url = "https://files.pythonhosted.org/packages/3f/58/55856da1adec655bdce77b502e94a267bf40a8c0b89f8622837f89503b5a/scikit_learn-1.6.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0650e730afb87402baa88afbf31c07b84c98272622aaba002559b614600ca691", size = 12433852 },
3278
- { url = "https://files.pythonhosted.org/packages/ff/4f/c83853af13901a574f8f13b645467285a48940f185b690936bb700a50863/scikit_learn-1.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:3f59fe08dc03ea158605170eb52b22a105f238a5d512c4470ddeca71feae8e5f", size = 11337256 },
3279
- ]
3280
-
3281
- [[package]]
3282
- name = "scipy"
3283
- version = "1.15.2"
3284
- source = { registry = "https://pypi.org/simple" }
3285
- dependencies = [
3286
- { name = "numpy" },
3287
- ]
3288
- sdist = { url = "https://files.pythonhosted.org/packages/b7/b9/31ba9cd990e626574baf93fbc1ac61cf9ed54faafd04c479117517661637/scipy-1.15.2.tar.gz", hash = "sha256:cd58a314d92838f7e6f755c8a2167ead4f27e1fd5c1251fd54289569ef3495ec", size = 59417316 }
3289
- wheels = [
3290
- { url = "https://files.pythonhosted.org/packages/95/df/ef233fff6838fe6f7840d69b5ef9f20d2b5c912a8727b21ebf876cb15d54/scipy-1.15.2-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a2ec871edaa863e8213ea5df811cd600734f6400b4af272e1c011e69401218e9", size = 38692502 },
3291
- { url = "https://files.pythonhosted.org/packages/5c/20/acdd4efb8a68b842968f7bc5611b1aeb819794508771ad104de418701422/scipy-1.15.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:6f223753c6ea76983af380787611ae1291e3ceb23917393079dcc746ba60cfb5", size = 30085508 },
3292
- { url = "https://files.pythonhosted.org/packages/42/55/39cf96ca7126f1e78ee72a6344ebdc6702fc47d037319ad93221063e6cf4/scipy-1.15.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:ecf797d2d798cf7c838c6d98321061eb3e72a74710e6c40540f0e8087e3b499e", size = 22359166 },
3293
- { url = "https://files.pythonhosted.org/packages/51/48/708d26a4ab8a1441536bf2dfcad1df0ca14a69f010fba3ccbdfc02df7185/scipy-1.15.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:9b18aa747da280664642997e65aab1dd19d0c3d17068a04b3fe34e2559196cb9", size = 25112047 },
3294
- { url = "https://files.pythonhosted.org/packages/dd/65/f9c5755b995ad892020381b8ae11f16d18616208e388621dfacc11df6de6/scipy-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87994da02e73549dfecaed9e09a4f9d58a045a053865679aeb8d6d43747d4df3", size = 35536214 },
3295
- { url = "https://files.pythonhosted.org/packages/de/3c/c96d904b9892beec978562f64d8cc43f9cca0842e65bd3cd1b7f7389b0ba/scipy-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69ea6e56d00977f355c0f84eba69877b6df084516c602d93a33812aa04d90a3d", size = 37646981 },
3296
- { url = "https://files.pythonhosted.org/packages/3d/74/c2d8a24d18acdeae69ed02e132b9bc1bb67b7bee90feee1afe05a68f9d67/scipy-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:888307125ea0c4466287191e5606a2c910963405ce9671448ff9c81c53f85f58", size = 37230048 },
3297
- { url = "https://files.pythonhosted.org/packages/42/19/0aa4ce80eca82d487987eff0bc754f014dec10d20de2f66754fa4ea70204/scipy-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9412f5e408b397ff5641080ed1e798623dbe1ec0d78e72c9eca8992976fa65aa", size = 40010322 },
3298
- { url = "https://files.pythonhosted.org/packages/d0/d2/f0683b7e992be44d1475cc144d1f1eeae63c73a14f862974b4db64af635e/scipy-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:b5e025e903b4f166ea03b109bb241355b9c42c279ea694d8864d033727205e65", size = 41233385 },
3299
- { url = "https://files.pythonhosted.org/packages/40/1f/bf0a5f338bda7c35c08b4ed0df797e7bafe8a78a97275e9f439aceb46193/scipy-1.15.2-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:92233b2df6938147be6fa8824b8136f29a18f016ecde986666be5f4d686a91a4", size = 38703651 },
3300
- { url = "https://files.pythonhosted.org/packages/de/54/db126aad3874601048c2c20ae3d8a433dbfd7ba8381551e6f62606d9bd8e/scipy-1.15.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:62ca1ff3eb513e09ed17a5736929429189adf16d2d740f44e53270cc800ecff1", size = 30102038 },
3301
- { url = "https://files.pythonhosted.org/packages/61/d8/84da3fffefb6c7d5a16968fe5b9f24c98606b165bb801bb0b8bc3985200f/scipy-1.15.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4c6676490ad76d1c2894d77f976144b41bd1a4052107902238047fb6a473e971", size = 22375518 },
3302
- { url = "https://files.pythonhosted.org/packages/44/78/25535a6e63d3b9c4c90147371aedb5d04c72f3aee3a34451f2dc27c0c07f/scipy-1.15.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:a8bf5cb4a25046ac61d38f8d3c3426ec11ebc350246a4642f2f315fe95bda655", size = 25142523 },
3303
- { url = "https://files.pythonhosted.org/packages/e0/22/4b4a26fe1cd9ed0bc2b2cb87b17d57e32ab72c346949eaf9288001f8aa8e/scipy-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a8e34cf4c188b6dd004654f88586d78f95639e48a25dfae9c5e34a6dc34547e", size = 35491547 },
3304
- { url = "https://files.pythonhosted.org/packages/32/ea/564bacc26b676c06a00266a3f25fdfe91a9d9a2532ccea7ce6dd394541bc/scipy-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28a0d2c2075946346e4408b211240764759e0fabaeb08d871639b5f3b1aca8a0", size = 37634077 },
3305
- { url = "https://files.pythonhosted.org/packages/43/c2/bfd4e60668897a303b0ffb7191e965a5da4056f0d98acfb6ba529678f0fb/scipy-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:42dabaaa798e987c425ed76062794e93a243be8f0f20fff6e7a89f4d61cb3d40", size = 37231657 },
3306
- { url = "https://files.pythonhosted.org/packages/4a/75/5f13050bf4f84c931bcab4f4e83c212a36876c3c2244475db34e4b5fe1a6/scipy-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f5e296ec63c5da6ba6fa0343ea73fd51b8b3e1a300b0a8cae3ed4b1122c7462", size = 40035857 },
3307
- { url = "https://files.pythonhosted.org/packages/b9/8b/7ec1832b09dbc88f3db411f8cdd47db04505c4b72c99b11c920a8f0479c3/scipy-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:597a0c7008b21c035831c39927406c6181bcf8f60a73f36219b69d010aa04737", size = 41217654 },
3308
- { url = "https://files.pythonhosted.org/packages/4b/5d/3c78815cbab499610f26b5bae6aed33e227225a9fa5290008a733a64f6fc/scipy-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c4697a10da8f8765bb7c83e24a470da5797e37041edfd77fd95ba3811a47c4fd", size = 38756184 },
3309
- { url = "https://files.pythonhosted.org/packages/37/20/3d04eb066b471b6e171827548b9ddb3c21c6bbea72a4d84fc5989933910b/scipy-1.15.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:869269b767d5ee7ea6991ed7e22b3ca1f22de73ab9a49c44bad338b725603301", size = 30163558 },
3310
- { url = "https://files.pythonhosted.org/packages/a4/98/e5c964526c929ef1f795d4c343b2ff98634ad2051bd2bbadfef9e772e413/scipy-1.15.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:bad78d580270a4d32470563ea86c6590b465cb98f83d760ff5b0990cb5518a93", size = 22437211 },
3311
- { url = "https://files.pythonhosted.org/packages/1d/cd/1dc7371e29195ecbf5222f9afeedb210e0a75057d8afbd942aa6cf8c8eca/scipy-1.15.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b09ae80010f52efddb15551025f9016c910296cf70adbf03ce2a8704f3a5ad20", size = 25232260 },
3312
- { url = "https://files.pythonhosted.org/packages/f0/24/1a181a9e5050090e0b5138c5f496fee33293c342b788d02586bc410c6477/scipy-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a6fd6eac1ce74a9f77a7fc724080d507c5812d61e72bd5e4c489b042455865e", size = 35198095 },
3313
- { url = "https://files.pythonhosted.org/packages/c0/53/eaada1a414c026673eb983f8b4a55fe5eb172725d33d62c1b21f63ff6ca4/scipy-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b871df1fe1a3ba85d90e22742b93584f8d2b8e6124f8372ab15c71b73e428b8", size = 37297371 },
3314
- { url = "https://files.pythonhosted.org/packages/e9/06/0449b744892ed22b7e7b9a1994a866e64895363572677a316a9042af1fe5/scipy-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:03205d57a28e18dfd39f0377d5002725bf1f19a46f444108c29bdb246b6c8a11", size = 36872390 },
3315
- { url = "https://files.pythonhosted.org/packages/6a/6f/a8ac3cfd9505ec695c1bc35edc034d13afbd2fc1882a7c6b473e280397bb/scipy-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:601881dfb761311045b03114c5fe718a12634e5608c3b403737ae463c9885d53", size = 39700276 },
3316
- { url = "https://files.pythonhosted.org/packages/f5/6f/e6e5aff77ea2a48dd96808bb51d7450875af154ee7cbe72188afb0b37929/scipy-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:e7c68b6a43259ba0aab737237876e5c2c549a031ddb7abc28c7b47f22e202ded", size = 40942317 },
3317
- { url = "https://files.pythonhosted.org/packages/53/40/09319f6e0f276ea2754196185f95cd191cb852288440ce035d5c3a931ea2/scipy-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01edfac9f0798ad6b46d9c4c9ca0e0ad23dbf0b1eb70e96adb9fa7f525eff0bf", size = 38717587 },
3318
- { url = "https://files.pythonhosted.org/packages/fe/c3/2854f40ecd19585d65afaef601e5e1f8dbf6758b2f95b5ea93d38655a2c6/scipy-1.15.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:08b57a9336b8e79b305a143c3655cc5bdbe6d5ece3378578888d2afbb51c4e37", size = 30100266 },
3319
- { url = "https://files.pythonhosted.org/packages/dd/b1/f9fe6e3c828cb5930b5fe74cb479de5f3d66d682fa8adb77249acaf545b8/scipy-1.15.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:54c462098484e7466362a9f1672d20888f724911a74c22ae35b61f9c5919183d", size = 22373768 },
3320
- { url = "https://files.pythonhosted.org/packages/15/9d/a60db8c795700414c3f681908a2b911e031e024d93214f2d23c6dae174ab/scipy-1.15.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:cf72ff559a53a6a6d77bd8eefd12a17995ffa44ad86c77a5df96f533d4e6c6bb", size = 25154719 },
3321
- { url = "https://files.pythonhosted.org/packages/37/3b/9bda92a85cd93f19f9ed90ade84aa1e51657e29988317fabdd44544f1dd4/scipy-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9de9d1416b3d9e7df9923ab23cd2fe714244af10b763975bea9e4f2e81cebd27", size = 35163195 },
3322
- { url = "https://files.pythonhosted.org/packages/03/5a/fc34bf1aa14dc7c0e701691fa8685f3faec80e57d816615e3625f28feb43/scipy-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb530e4794fc8ea76a4a21ccb67dea33e5e0e60f07fc38a49e821e1eae3b71a0", size = 37255404 },
3323
- { url = "https://files.pythonhosted.org/packages/4a/71/472eac45440cee134c8a180dbe4c01b3ec247e0338b7c759e6cd71f199a7/scipy-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5ea7ed46d437fc52350b028b1d44e002646e28f3e8ddc714011aaf87330f2f32", size = 36860011 },
3324
- { url = "https://files.pythonhosted.org/packages/01/b3/21f890f4f42daf20e4d3aaa18182dddb9192771cd47445aaae2e318f6738/scipy-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11e7ad32cf184b74380f43d3c0a706f49358b904fa7d5345f16ddf993609184d", size = 39657406 },
3325
- { url = "https://files.pythonhosted.org/packages/0d/76/77cf2ac1f2a9cc00c073d49e1e16244e389dd88e2490c91d84e1e3e4d126/scipy-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:a5080a79dfb9b78b768cebf3c9dcbc7b665c5875793569f48bf0e2b1d7f68f6f", size = 40961243 },
3326
- { url = "https://files.pythonhosted.org/packages/4c/4b/a57f8ddcf48e129e6054fa9899a2a86d1fc6b07a0e15c7eebff7ca94533f/scipy-1.15.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:447ce30cee6a9d5d1379087c9e474628dab3db4a67484be1b7dc3196bfb2fac9", size = 38870286 },
3327
- { url = "https://files.pythonhosted.org/packages/0c/43/c304d69a56c91ad5f188c0714f6a97b9c1fed93128c691148621274a3a68/scipy-1.15.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:c90ebe8aaa4397eaefa8455a8182b164a6cc1d59ad53f79943f266d99f68687f", size = 30141634 },
3328
- { url = "https://files.pythonhosted.org/packages/44/1a/6c21b45d2548eb73be9b9bff421aaaa7e85e22c1f9b3bc44b23485dfce0a/scipy-1.15.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:def751dd08243934c884a3221156d63e15234a3155cf25978b0a668409d45eb6", size = 22415179 },
3329
- { url = "https://files.pythonhosted.org/packages/74/4b/aefac4bba80ef815b64f55da06f62f92be5d03b467f2ce3668071799429a/scipy-1.15.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:302093e7dfb120e55515936cb55618ee0b895f8bcaf18ff81eca086c17bd80af", size = 25126412 },
3330
- { url = "https://files.pythonhosted.org/packages/b1/53/1cbb148e6e8f1660aacd9f0a9dfa2b05e9ff1cb54b4386fe868477972ac2/scipy-1.15.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd5b77413e1855351cdde594eca99c1f4a588c2d63711388b6a1f1c01f62274", size = 34952867 },
3331
- { url = "https://files.pythonhosted.org/packages/2c/23/e0eb7f31a9c13cf2dca083828b97992dd22f8184c6ce4fec5deec0c81fcf/scipy-1.15.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d0194c37037707b2afa7a2f2a924cf7bac3dc292d51b6a925e5fcb89bc5c776", size = 36890009 },
3332
- { url = "https://files.pythonhosted.org/packages/03/f3/e699e19cabe96bbac5189c04aaa970718f0105cff03d458dc5e2b6bd1e8c/scipy-1.15.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:bae43364d600fdc3ac327db99659dcb79e6e7ecd279a75fe1266669d9a652828", size = 36545159 },
3333
- { url = "https://files.pythonhosted.org/packages/af/f5/ab3838e56fe5cc22383d6fcf2336e48c8fe33e944b9037fbf6cbdf5a11f8/scipy-1.15.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f031846580d9acccd0044efd1a90e6f4df3a6e12b4b6bd694a7bc03a89892b28", size = 39136566 },
3334
- { url = "https://files.pythonhosted.org/packages/0a/c8/b3f566db71461cabd4b2d5b39bcc24a7e1c119535c8361f81426be39bb47/scipy-1.15.2-cp313-cp313t-win_amd64.whl", hash = "sha256:fe8a9eb875d430d81755472c5ba75e84acc980e4a8f6204d402849234d3017db", size = 40477705 },
3335
- ]
3336
-
3337
  [[package]]
3338
  name = "segments"
3339
  version = "2.3.0"
@@ -3433,25 +3087,6 @@ wheels = [
3433
  { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
3434
  ]
3435
 
3436
- [[package]]
3437
- name = "soundfile"
3438
- version = "0.13.1"
3439
- source = { registry = "https://pypi.org/simple" }
3440
- dependencies = [
3441
- { name = "cffi" },
3442
- { name = "numpy" },
3443
- ]
3444
- sdist = { url = "https://files.pythonhosted.org/packages/e1/41/9b873a8c055582859b239be17902a85339bec6a30ad162f98c9b0288a2cc/soundfile-0.13.1.tar.gz", hash = "sha256:b2c68dab1e30297317080a5b43df57e302584c49e2942defdde0acccc53f0e5b", size = 46156 }
3445
- wheels = [
3446
- { url = "https://files.pythonhosted.org/packages/64/28/e2a36573ccbcf3d57c00626a21fe51989380636e821b341d36ccca0c1c3a/soundfile-0.13.1-py2.py3-none-any.whl", hash = "sha256:a23c717560da2cf4c7b5ae1142514e0fd82d6bbd9dfc93a50423447142f2c445", size = 25751 },
3447
- { url = "https://files.pythonhosted.org/packages/ea/ab/73e97a5b3cc46bba7ff8650a1504348fa1863a6f9d57d7001c6b67c5f20e/soundfile-0.13.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:82dc664d19831933fe59adad199bf3945ad06d84bc111a5b4c0d3089a5b9ec33", size = 1142250 },
3448
- { url = "https://files.pythonhosted.org/packages/a0/e5/58fd1a8d7b26fc113af244f966ee3aecf03cb9293cb935daaddc1e455e18/soundfile-0.13.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:743f12c12c4054921e15736c6be09ac26b3b3d603aef6fd69f9dde68748f2593", size = 1101406 },
3449
- { url = "https://files.pythonhosted.org/packages/58/ae/c0e4a53d77cf6e9a04179535766b3321b0b9ced5f70522e4caf9329f0046/soundfile-0.13.1-py2.py3-none-manylinux_2_28_aarch64.whl", hash = "sha256:9c9e855f5a4d06ce4213f31918653ab7de0c5a8d8107cd2427e44b42df547deb", size = 1235729 },
3450
- { url = "https://files.pythonhosted.org/packages/57/5e/70bdd9579b35003a489fc850b5047beeda26328053ebadc1fb60f320f7db/soundfile-0.13.1-py2.py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:03267c4e493315294834a0870f31dbb3b28a95561b80b134f0bd3cf2d5f0e618", size = 1313646 },
3451
- { url = "https://files.pythonhosted.org/packages/fe/df/8c11dc4dfceda14e3003bb81a0d0edcaaf0796dd7b4f826ea3e532146bba/soundfile-0.13.1-py2.py3-none-win32.whl", hash = "sha256:c734564fab7c5ddf8e9be5bf70bab68042cd17e9c214c06e365e20d64f9a69d5", size = 899881 },
3452
- { url = "https://files.pythonhosted.org/packages/14/e9/6b761de83277f2f02ded7e7ea6f07828ec78e4b229b80e4ca55dd205b9dc/soundfile-0.13.1-py2.py3-none-win_amd64.whl", hash = "sha256:1e70a05a0626524a69e9f0f4dd2ec174b4e9567f4d8b6c11d38b5c289be36ee9", size = 1019162 },
3453
- ]
3454
-
3455
  [[package]]
3456
  name = "soupsieve"
3457
  version = "2.6"
@@ -3461,32 +3096,6 @@ wheels = [
3461
  { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 },
3462
  ]
3463
 
3464
- [[package]]
3465
- name = "soxr"
3466
- version = "0.5.0.post1"
3467
- source = { registry = "https://pypi.org/simple" }
3468
- dependencies = [
3469
- { name = "numpy" },
3470
- ]
3471
- sdist = { url = "https://files.pythonhosted.org/packages/02/c0/4429bf9b3be10e749149e286aa5c53775399ec62891c6b970456c6dca325/soxr-0.5.0.post1.tar.gz", hash = "sha256:7092b9f3e8a416044e1fa138c8172520757179763b85dc53aa9504f4813cff73", size = 170853 }
3472
- wheels = [
3473
- { url = "https://files.pythonhosted.org/packages/7d/96/bee1eb69d66fc28c3b219ba9b8674b49d3dcc6cd2f9b3e5114ff28cf88b5/soxr-0.5.0.post1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:7406d782d85f8cf64e66b65e6b7721973de8a1dc50b9e88bc2288c343a987484", size = 203841 },
3474
- { url = "https://files.pythonhosted.org/packages/1f/5d/56ad3d181d30d103128f65cc44f4c4e24c199e6d5723e562704e47c89f78/soxr-0.5.0.post1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fa0a382fb8d8e2afed2c1642723b2d2d1b9a6728ff89f77f3524034c8885b8c9", size = 160192 },
3475
- { url = "https://files.pythonhosted.org/packages/7f/09/e43c39390e26b4c1b8d46f8a1c252a5077fa9f81cc2326b03c3d2b85744e/soxr-0.5.0.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b01d3efb95a2851f78414bcd00738b0253eec3f5a1e5482838e965ffef84969", size = 221176 },
3476
- { url = "https://files.pythonhosted.org/packages/ba/e6/059070b4cdb7fdd8ffbb67c5087c1da9716577127fb0540cd11dbf77923b/soxr-0.5.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fcc049b0a151a65aa75b92f0ac64bb2dba785d16b78c31c2b94e68c141751d6d", size = 252779 },
3477
- { url = "https://files.pythonhosted.org/packages/ad/64/86082b6372e5ff807dfa79b857da9f50e94e155706000daa43fdc3b59851/soxr-0.5.0.post1-cp310-cp310-win_amd64.whl", hash = "sha256:97f269bc26937c267a2ace43a77167d0c5c8bba5a2b45863bb6042b5b50c474e", size = 166881 },
3478
- { url = "https://files.pythonhosted.org/packages/29/28/dc62dae260a77603e8257e9b79078baa2ca4c0b4edc6f9f82c9113d6ef18/soxr-0.5.0.post1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:6fb77b626773a966e3d8f6cb24f6f74b5327fa5dc90f1ff492450e9cdc03a378", size = 203648 },
3479
- { url = "https://files.pythonhosted.org/packages/0e/48/3e88329a695f6e0e38a3b171fff819d75d7cc055dae1ec5d5074f34d61e3/soxr-0.5.0.post1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:39e0f791ba178d69cd676485dbee37e75a34f20daa478d90341ecb7f6d9d690f", size = 159933 },
3480
- { url = "https://files.pythonhosted.org/packages/9c/a5/6b439164be6871520f3d199554568a7656e96a867adbbe5bac179caf5776/soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f0b558f445ba4b64dbcb37b5f803052eee7d93b1dbbbb97b3ec1787cb5a28eb", size = 221010 },
3481
- { url = "https://files.pythonhosted.org/packages/9f/e5/400e3bf7f29971abad85cb877e290060e5ec61fccd2fa319e3d85709c1be/soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca6903671808e0a6078b0d146bb7a2952b118dfba44008b2aa60f221938ba829", size = 252471 },
3482
- { url = "https://files.pythonhosted.org/packages/86/94/6a7e91bea7e6ca193ee429869b8f18548cd79759e064021ecb5756024c7c/soxr-0.5.0.post1-cp311-cp311-win_amd64.whl", hash = "sha256:c4d8d5283ed6f5efead0df2c05ae82c169cfdfcf5a82999c2d629c78b33775e8", size = 166723 },
3483
- { url = "https://files.pythonhosted.org/packages/5d/e3/d422d279e51e6932e7b64f1170a4f61a7ee768e0f84c9233a5b62cd2c832/soxr-0.5.0.post1-cp312-abi3-macosx_10_14_x86_64.whl", hash = "sha256:fef509466c9c25f65eae0ce1e4b9ac9705d22c6038c914160ddaf459589c6e31", size = 199993 },
3484
- { url = "https://files.pythonhosted.org/packages/20/f1/88adaca3c52e03bcb66b63d295df2e2d35bf355d19598c6ce84b20be7fca/soxr-0.5.0.post1-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:4704ba6b13a3f1e41d12acf192878384c1c31f71ce606829c64abdf64a8d7d32", size = 156373 },
3485
- { url = "https://files.pythonhosted.org/packages/b8/38/bad15a9e615215c8219652ca554b601663ac3b7ac82a284aca53ec2ff48c/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd052a66471a7335b22a6208601a9d0df7b46b8d087dce4ff6e13eed6a33a2a1", size = 216564 },
3486
- { url = "https://files.pythonhosted.org/packages/e1/1a/569ea0420a0c4801c2c8dd40d8d544989522f6014d51def689125f3f2935/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3f16810dd649ab1f433991d2a9661e9e6a116c2b4101039b53b3c3e90a094fc", size = 248455 },
3487
- { url = "https://files.pythonhosted.org/packages/bc/10/440f1ba3d4955e0dc740bbe4ce8968c254a3d644d013eb75eea729becdb8/soxr-0.5.0.post1-cp312-abi3-win_amd64.whl", hash = "sha256:b1be9fee90afb38546bdbd7bde714d1d9a8c5a45137f97478a83b65e7f3146f6", size = 164937 },
3488
- ]
3489
-
3490
  [[package]]
3491
  name = "sqlalchemy"
3492
  version = "1.4.54"
@@ -3578,15 +3187,6 @@ wheels = [
3578
  { url = "https://files.pythonhosted.org/packages/82/4f/1695e70ceb3604f19eda9908e289c687ea81c4fecef4d90a9d1d0f2f7ae9/thefuzz-0.22.1-py3-none-any.whl", hash = "sha256:59729b33556850b90e1093c4cf9e618af6f2e4c985df193fdf3c5b5cf02ca481", size = 8245 },
3579
  ]
3580
 
3581
- [[package]]
3582
- name = "threadpoolctl"
3583
- version = "3.5.0"
3584
- source = { registry = "https://pypi.org/simple" }
3585
- sdist = { url = "https://files.pythonhosted.org/packages/bd/55/b5148dcbf72f5cde221f8bfe3b6a540da7aa1842f6b491ad979a6c8b84af/threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107", size = 41936 }
3586
- wheels = [
3587
- { url = "https://files.pythonhosted.org/packages/4b/2c/ffbf7a134b9ab11a67b0cf0726453cedd9c5043a4fe7a35d1cefa9a1bcfb/threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467", size = 18414 },
3588
- ]
3589
-
3590
  [[package]]
3591
  name = "tiktoken"
3592
  version = "0.8.0"
 
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 = "babel"
210
  version = "2.17.0"
 
267
  { url = "https://files.pythonhosted.org/packages/12/90/3c9ff0512038035f59d279fddeb79f5f1eccd8859f06d6163c58798b9487/certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8", size = 167321 },
268
  ]
269
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  [[package]]
271
  name = "charset-normalizer"
272
  version = "3.4.0"
 
547
  { url = "https://files.pythonhosted.org/packages/20/bd/db3d92897ba528d62facd936a5dc1cf867e174323036a632724ab0bc1946/datasets-3.0.2-py3-none-any.whl", hash = "sha256:220bfbea0be9bf81d121bd2ac76fe4ef3f7defe0e8586ce1e7f66dcaaf69f88d", size = 472683 },
548
  ]
549
 
 
 
 
 
 
 
 
 
 
550
  [[package]]
551
  name = "dill"
552
  version = "0.3.8"
 
1224
  dev = [
1225
  { name = "aiolimiter" },
1226
  { name = "bert-score" },
 
1227
  { name = "elevenlabs" },
1228
  { name = "evaluate" },
1229
  { name = "huggingface-hub" },
1230
  { name = "jiwer" },
1231
  { name = "joblib" },
1232
  { name = "langcodes" },
 
1233
  { name = "openai" },
1234
  { name = "protobuf" },
1235
  { name = "pyglottolog" },
1236
  { name = "python-dotenv" },
1237
  { name = "sacrebleu" },
1238
  { name = "sentencepiece" },
 
1239
  { name = "tiktoken" },
1240
  { name = "tqdm" },
1241
  { name = "transformers" },
 
1253
  dev = [
1254
  { name = "aiolimiter", specifier = ">=1.1.0" },
1255
  { name = "bert-score", specifier = ">=0.3.13" },
 
1256
  { name = "elevenlabs", specifier = ">=1.53.0" },
1257
  { name = "evaluate", specifier = "==0.4.0" },
1258
  { name = "huggingface-hub", specifier = ">=0.29.1" },
1259
  { name = "jiwer", specifier = ">=3.1.0" },
1260
  { name = "joblib", specifier = ">=1.4.2" },
1261
  { name = "langcodes", specifier = ">=3.5.0" },
 
1262
  { name = "openai", specifier = ">=1.52.2" },
1263
  { name = "protobuf", specifier = ">=5.28.3" },
1264
  { name = "pyglottolog", specifier = ">=3.14.0" },
1265
  { name = "python-dotenv", specifier = ">=1.0.1" },
1266
  { name = "sacrebleu", specifier = ">=2.4.3" },
1267
  { name = "sentencepiece", specifier = ">=0.2.0" },
 
1268
  { name = "tiktoken", specifier = ">=0.8.0" },
1269
  { name = "tqdm", specifier = ">=4.66.6" },
1270
  { name = "transformers", specifier = ">=4.46.1" },
 
1279
  { url = "https://files.pythonhosted.org/packages/b0/bf/ea8887e9f31a8f93ca306699d11909c6140151393a4216f0d9f85a004077/latexcodec-3.0.0-py3-none-any.whl", hash = "sha256:6f3477ad5e61a0a99bd31a6a370c34e88733a6bad9c921a3ffcfacada12f41a7", size = 18150 },
1280
  ]
1281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1282
  [[package]]
1283
  name = "linglit"
1284
  version = "1.7.1"
 
1304
  { url = "https://files.pythonhosted.org/packages/8e/0f/b548d31d652445db774d8a8214d434b4b5804f7fd988034bcee72ac3895b/linglit-1.7.1-py3-none-any.whl", hash = "sha256:345bb64e83c5dc4a4b9eab9acc50344348848ab654e7a5f418ed7df0b6cfd370", size = 107062 },
1305
  ]
1306
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1307
  [[package]]
1308
  name = "lxml"
1309
  version = "5.3.0"
 
1566
  { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198 },
1567
  ]
1568
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1569
  [[package]]
1570
  name = "multidict"
1571
  version = "6.1.0"
 
1692
  { url = "https://files.pythonhosted.org/packages/7d/32/2c71e873773a86abc2820fe3813372f9c53f6e5b8c1e42f69f2d82cd0221/newick-1.9.0-py2.py3-none-any.whl", hash = "sha256:25c262ca88a7752b5d759ff5bce7c85d50289ac2b06b13bb340e0a599c05bd02", size = 15710 },
1693
  ]
1694
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1695
  [[package]]
1696
  name = "numpy"
1697
  version = "2.1.2"
 
2097
  { url = "https://files.pythonhosted.org/packages/0e/77/a946f38b57fb88e736c71fbdd737a1aebd27b532bda0779c137f357cf5fc/plotly-6.0.0-py3-none-any.whl", hash = "sha256:f708871c3a9349a68791ff943a5781b1ec04de7769ea69068adcd9202e57653a", size = 14805949 },
2098
  ]
2099
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2100
  [[package]]
2101
  name = "portalocker"
2102
  version = "2.10.1"
 
2285
  { url = "https://files.pythonhosted.org/packages/b1/ec/1fb891d8a2660716aadb2143235481d15ed1cbfe3ad669194690b0604492/pycountry-24.6.1-py3-none-any.whl", hash = "sha256:f1a4fb391cd7214f8eefd39556d740adcc233c778a27f8942c8dca351d6ce06f", size = 6335189 },
2286
  ]
2287
 
 
 
 
 
 
 
 
 
 
2288
  [[package]]
2289
  name = "pydantic"
2290
  version = "2.9.2"
 
2988
  { 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 },
2989
  ]
2990
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2991
  [[package]]
2992
  name = "segments"
2993
  version = "2.3.0"
 
3087
  { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
3088
  ]
3089
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3090
  [[package]]
3091
  name = "soupsieve"
3092
  version = "2.6"
 
3096
  { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 },
3097
  ]
3098
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3099
  [[package]]
3100
  name = "sqlalchemy"
3101
  version = "1.4.54"
 
3187
  { url = "https://files.pythonhosted.org/packages/82/4f/1695e70ceb3604f19eda9908e289c687ea81c4fecef4d90a9d1d0f2f7ae9/thefuzz-0.22.1-py3-none-any.whl", hash = "sha256:59729b33556850b90e1093c4cf9e618af6f2e4c985df193fdf3c5b5cf02ca481", size = 8245 },
3188
  ]
3189
 
 
 
 
 
 
 
 
 
 
3190
  [[package]]
3191
  name = "tiktoken"
3192
  version = "0.8.0"