xfmr-zem 0.2.8__tar.gz → 0.2.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/CHANGELOG.md +6 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/PKG-INFO +5 -1
- xfmr_zem-0.2.9/data/chunk_122.wav +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/pyproject.toml +6 -1
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/cli.py +38 -1
- xfmr_zem-0.2.9/src/xfmr_zem/servers/voice/engines.py +66 -0
- xfmr_zem-0.2.9/src/xfmr_zem/servers/voice/parameters.yml +2 -0
- xfmr_zem-0.2.9/src/xfmr_zem/servers/voice/server.py +54 -0
- xfmr_zem-0.2.9/tests/manual/voice_test.yaml +15 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/uv.lock +245 -2
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/.github/workflows/deploy.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/.github/workflows/pypi-publish.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/.gitignore +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/AGENTS.md +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/LICENSE +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/README.md +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/big_data_output.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/big_data_sim.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/dup_cleaned.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/dup_data.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/dup_data_large.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/nemo_full_stack_result.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/nemo_real_result.parquet +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/ocr_test.png +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/output_result.jsonl +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/sample.jsonl +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/sample_digital.pdf +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/sample_scanned.pdf +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/data/vietnamese_ocr.png +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/__init__.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/client.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/orchestrators/parallel_local.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/schemas.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/data_juicer/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/data_juicer/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/instruction_gen/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/instruction_gen/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/io/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/io/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/llm/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/llm/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/nemo_curator/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/nemo_curator/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/__init__.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/implementations.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/layout_recognizer.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/ocr.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/onnx/.gitattributes +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/onnx/README.md +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/onnx/ocr.res +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/operators.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/phases.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/pipeline.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/postprocess.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/recognizer.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/table_structure_recognizer.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/utils/__init__.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/utils/file_utils.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/__init__.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/config/base.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/config/vgg-seq2seq.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/__init__.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/backbone/cnn.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/backbone/vgg.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/seqmodel/seq2seq.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/transformerocr.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/vocab.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/tool/config.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/tool/translate.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/engines.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/install_models.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/profiler/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/profiler/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/sinks/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/sinks/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/unstructured/parameters.yml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/unstructured/server.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/zenml_wrapper.py +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/caching_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/hf_ocr_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/llm_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/multimodal_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/ocr_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/parallel_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/parquet_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/pdf_ocr_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/phase4_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/profiler_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/standard_data_pipeline.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/tests/manual/viet_ocr_test.yaml +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/website/docs/docs.css +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/website/docs/index.html +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/website/index.html +0 -0
- {xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/website/style.css +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.2.9] - 2026-02-03
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Voice Processing Module**: Added a new `voice` server with Automatic Speech Recognition (ASR) support using OpenAI Whisper.
|
|
9
|
+
- **Voice Transcription Tool**: Introduced `transcribe` tool for high-quality audio-to-text conversion.
|
|
10
|
+
|
|
5
11
|
## [0.2.8] - 2026-02-03
|
|
6
12
|
|
|
7
13
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xfmr-zem
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.9
|
|
4
4
|
Summary: Zem: Unified Data Pipeline Framework (ZenML + NeMo Curator + DataJuicer) for multi-domain processing
|
|
5
5
|
Project-URL: Homepage, https://github.com/OAI-Labs/xfmr-zem
|
|
6
6
|
Project-URL: Repository, https://github.com/OAI-Labs/xfmr-zem
|
|
@@ -58,6 +58,10 @@ Requires-Dist: shapely; extra == 'ocr'
|
|
|
58
58
|
Requires-Dist: torch==2.5.1; extra == 'ocr'
|
|
59
59
|
Requires-Dist: torchvision==0.20.1; extra == 'ocr'
|
|
60
60
|
Requires-Dist: transformers>=4.40.0; extra == 'ocr'
|
|
61
|
+
Provides-Extra: voice
|
|
62
|
+
Requires-Dist: librosa; extra == 'voice'
|
|
63
|
+
Requires-Dist: openai-whisper; extra == 'voice'
|
|
64
|
+
Requires-Dist: soundfile; extra == 'voice'
|
|
61
65
|
Provides-Extra: zenml
|
|
62
66
|
Requires-Dist: zenml>=0.75.0; extra == 'zenml'
|
|
63
67
|
Description-Content-Type: text/markdown
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "xfmr-zem"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.9"
|
|
4
4
|
description = "Zem: Unified Data Pipeline Framework (ZenML + NeMo Curator + DataJuicer) for multi-domain processing"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.10,<3.13"
|
|
@@ -68,6 +68,11 @@ ocr = [
|
|
|
68
68
|
"ruamel.yaml>=0.17.0",
|
|
69
69
|
"cachetools>=5.0.0",
|
|
70
70
|
]
|
|
71
|
+
voice = [
|
|
72
|
+
"openai-whisper",
|
|
73
|
+
"librosa",
|
|
74
|
+
"soundfile",
|
|
75
|
+
]
|
|
71
76
|
dev = [
|
|
72
77
|
"pytest>=7.0.0",
|
|
73
78
|
"pytest-cov>=4.0.0",
|
|
@@ -193,15 +193,52 @@ def run(config_file, params, verbose):
|
|
|
193
193
|
|
|
194
194
|
try:
|
|
195
195
|
client = PipelineClient(abs_config, params_path=params)
|
|
196
|
+
|
|
197
|
+
# Dashboard URL (Pre-run)
|
|
198
|
+
try:
|
|
199
|
+
workspace_name = "default"
|
|
200
|
+
try:
|
|
201
|
+
from zenml.client import Client
|
|
202
|
+
zn_client = Client()
|
|
203
|
+
workspace_name = getattr(zn_client, "active_workspace_name",
|
|
204
|
+
getattr(zn_client.active_workspace, "name", "default"))
|
|
205
|
+
except:
|
|
206
|
+
pass
|
|
207
|
+
pre_run_url = f"http://127.0.0.1:8871/projects/{workspace_name}/runs"
|
|
208
|
+
console.print(f"[bold blue]Dashboard URL (Pre-run):[/bold blue] [link={pre_run_url}]{pre_run_url}[/link]")
|
|
209
|
+
except:
|
|
210
|
+
pass
|
|
211
|
+
|
|
196
212
|
run_response = client.run()
|
|
197
213
|
|
|
198
214
|
console.print(f"\n[bold blue]Pipeline Execution Finished![/bold blue]")
|
|
199
215
|
console.print(f"Run Name: [cyan]{run_response.name}[/cyan]")
|
|
200
216
|
console.print(f"Status: [yellow]{run_response.status}[/yellow]")
|
|
201
217
|
|
|
218
|
+
# ZenML dashboard URL
|
|
219
|
+
try:
|
|
220
|
+
run_id = getattr(run_response, "id", None)
|
|
221
|
+
if run_id:
|
|
222
|
+
workspace_name = "default"
|
|
223
|
+
try:
|
|
224
|
+
from zenml.client import Client
|
|
225
|
+
client = Client()
|
|
226
|
+
# Try to get active workspace name
|
|
227
|
+
if hasattr(client, "active_workspace_name"):
|
|
228
|
+
workspace_name = client.active_workspace_name
|
|
229
|
+
elif hasattr(client, "active_workspace"):
|
|
230
|
+
workspace_name = client.active_workspace.name
|
|
231
|
+
except:
|
|
232
|
+
pass
|
|
233
|
+
|
|
234
|
+
dashboard_url = f"http://127.0.0.1:8871/projects/{workspace_name}/runs/{run_id}/dag"
|
|
235
|
+
console.print(f"Dashboard URL (Run): [link={dashboard_url}]{dashboard_url}[/link]")
|
|
236
|
+
except Exception as e:
|
|
237
|
+
logger.debug(f"Could not generate dashboard URL: {e}")
|
|
238
|
+
|
|
202
239
|
console.print(f"\n[dim]To visualize this run, ensure ZenML dashboard is running:[/dim]")
|
|
203
240
|
console.print(f"[dim]uv run zenml up --port 8871[/dim]")
|
|
204
|
-
console.print(f"[dim]Or view runs via: zem dashboard[/dim]")
|
|
241
|
+
console.print(f"[dim]Or view runs via: zem dashboard[/dim]")
|
|
205
242
|
|
|
206
243
|
except Exception as e:
|
|
207
244
|
console.print(f"\n[bold red]Pipeline Failed:[/bold red] {e}")
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import abc
|
|
3
|
+
from typing import Dict, Any, List
|
|
4
|
+
from loguru import logger
|
|
5
|
+
|
|
6
|
+
class VoiceEngineBase(abc.ABC):
|
|
7
|
+
"""
|
|
8
|
+
Abstract Base Class for Voice Engines.
|
|
9
|
+
"""
|
|
10
|
+
@abc.abstractmethod
|
|
11
|
+
def transcribe(self, audio_path: str) -> Dict[str, Any]:
|
|
12
|
+
"""Transcribe an audio file and return text and metadata."""
|
|
13
|
+
pass
|
|
14
|
+
|
|
15
|
+
class WhisperEngine(VoiceEngineBase):
|
|
16
|
+
"""
|
|
17
|
+
ASR using OpenAI Whisper.
|
|
18
|
+
"""
|
|
19
|
+
def __init__(self, model_size: str = "base"):
|
|
20
|
+
self.model_size = model_size or "base"
|
|
21
|
+
self.model = None
|
|
22
|
+
|
|
23
|
+
def _lazy_load(self):
|
|
24
|
+
if self.model is None:
|
|
25
|
+
try:
|
|
26
|
+
import whisper
|
|
27
|
+
import torch
|
|
28
|
+
|
|
29
|
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
30
|
+
logger.info(f"Loading Whisper model: {self.model_size} on {device}...")
|
|
31
|
+
self.model = whisper.load_model(self.model_size, device=device)
|
|
32
|
+
logger.debug("Whisper model loaded successfully")
|
|
33
|
+
except ImportError:
|
|
34
|
+
logger.error("openai-whisper not installed. Please install with 'pip install openai-whisper'")
|
|
35
|
+
raise
|
|
36
|
+
except Exception as e:
|
|
37
|
+
logger.error(f"Error loading Whisper model: {e}")
|
|
38
|
+
raise
|
|
39
|
+
|
|
40
|
+
def transcribe(self, audio_path: str) -> Dict[str, Any]:
|
|
41
|
+
self._lazy_load()
|
|
42
|
+
logger.info(f"Using Whisper ({self.model_size}) to transcribe: {audio_path}")
|
|
43
|
+
|
|
44
|
+
result = self.model.transcribe(audio_path)
|
|
45
|
+
|
|
46
|
+
return {
|
|
47
|
+
"text": result["text"],
|
|
48
|
+
"segments": result.get("segments", []),
|
|
49
|
+
"language": result.get("language"),
|
|
50
|
+
"engine": f"whisper-{self.model_size}",
|
|
51
|
+
"metadata": {
|
|
52
|
+
"model_size": self.model_size,
|
|
53
|
+
"file": audio_path
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
class VoiceEngineFactory:
|
|
58
|
+
"""
|
|
59
|
+
Factory to create Voice engines.
|
|
60
|
+
"""
|
|
61
|
+
@staticmethod
|
|
62
|
+
def get_engine(engine_type: str, **kwargs) -> VoiceEngineBase:
|
|
63
|
+
if engine_type == "whisper":
|
|
64
|
+
return WhisperEngine(model_size=kwargs.get("model_size"))
|
|
65
|
+
else:
|
|
66
|
+
raise ValueError(f"Unknown voice engine type: {engine_type}")
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import pandas as pd
|
|
3
|
+
from xfmr_zem.server import ZemServer
|
|
4
|
+
from xfmr_zem.servers.voice.engines import VoiceEngineFactory
|
|
5
|
+
from loguru import logger
|
|
6
|
+
|
|
7
|
+
# Initialize ZemServer for Voice
|
|
8
|
+
mcp = ZemServer("voice")
|
|
9
|
+
|
|
10
|
+
@mcp.tool()
|
|
11
|
+
async def transcribe(
|
|
12
|
+
file_path: str,
|
|
13
|
+
engine: str = "whisper",
|
|
14
|
+
model_size: str = "base"
|
|
15
|
+
) -> pd.DataFrame:
|
|
16
|
+
"""
|
|
17
|
+
Transcribes an audio file using the specified voice engine.
|
|
18
|
+
|
|
19
|
+
Args:
|
|
20
|
+
file_path: Path to the audio file (wav, mp3, m4a, etc.).
|
|
21
|
+
engine: The voice engine to use (currently only "whisper"). Defaults to "whisper".
|
|
22
|
+
model_size: Whisper model size ("tiny", "base", "small", "medium", "large"). Defaults to "base".
|
|
23
|
+
"""
|
|
24
|
+
logger.info(f"Voice Transcription: {file_path} using {engine} ({model_size})")
|
|
25
|
+
|
|
26
|
+
if not os.path.exists(file_path):
|
|
27
|
+
raise FileNotFoundError(f"File not found: {file_path}")
|
|
28
|
+
|
|
29
|
+
try:
|
|
30
|
+
# Get engine from factory
|
|
31
|
+
voice_engine = VoiceEngineFactory.get_engine(engine, model_size=model_size)
|
|
32
|
+
|
|
33
|
+
# Transcribe
|
|
34
|
+
result = voice_engine.transcribe(file_path)
|
|
35
|
+
|
|
36
|
+
# Format as DataFrame
|
|
37
|
+
df = pd.DataFrame([{
|
|
38
|
+
"text": result["text"].strip(),
|
|
39
|
+
"language": result["language"],
|
|
40
|
+
"engine": result["engine"],
|
|
41
|
+
"metadata": result["metadata"]
|
|
42
|
+
}])
|
|
43
|
+
|
|
44
|
+
logger.info(f"Successfully transcribed {file_path}")
|
|
45
|
+
return df.to_dict(orient="records")
|
|
46
|
+
|
|
47
|
+
except Exception as e:
|
|
48
|
+
logger.error(f"Voice Error with {engine}: {e}")
|
|
49
|
+
import traceback
|
|
50
|
+
logger.error(traceback.format_exc())
|
|
51
|
+
raise RuntimeError(f"Transcription failed: {str(e)}")
|
|
52
|
+
|
|
53
|
+
if __name__ == "__main__":
|
|
54
|
+
mcp.run()
|
|
@@ -256,6 +256,15 @@ wheels = [
|
|
|
256
256
|
{ url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" },
|
|
257
257
|
]
|
|
258
258
|
|
|
259
|
+
[[package]]
|
|
260
|
+
name = "audioread"
|
|
261
|
+
version = "3.1.0"
|
|
262
|
+
source = { registry = "https://pypi.org/simple" }
|
|
263
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a1/4a/874ecf9b472f998130c2b5e145dcdb9f6131e84786111489103b66772143/audioread-3.1.0.tar.gz", hash = "sha256:1c4ab2f2972764c896a8ac61ac53e261c8d29f0c6ccd652f84e18f08a4cab190", size = 20082, upload-time = "2025-10-26T19:44:13.484Z" }
|
|
264
|
+
wheels = [
|
|
265
|
+
{ url = "https://files.pythonhosted.org/packages/7e/16/fbe8e1e185a45042f7cd3a282def5bb8d95bb69ab9e9ef6a5368aa17e426/audioread-3.1.0-py3-none-any.whl", hash = "sha256:b30d1df6c5d3de5dcef0fb0e256f6ea17bdcf5f979408df0297d8a408e2971b4", size = 23143, upload-time = "2025-10-26T19:44:12.016Z" },
|
|
266
|
+
]
|
|
267
|
+
|
|
259
268
|
[[package]]
|
|
260
269
|
name = "authlib"
|
|
261
270
|
version = "1.6.6"
|
|
@@ -889,6 +898,15 @@ wheels = [
|
|
|
889
898
|
{ url = "https://files.pythonhosted.org/packages/c3/be/d0d44e092656fe7a06b55e6103cbce807cdbdee17884a5367c68c9860853/dataclasses_json-0.6.7-py3-none-any.whl", hash = "sha256:0dbf33f26c8d5305befd61b39d2b3414e8a407bedc2834dea9b8d642666fb40a", size = 28686, upload-time = "2024-06-09T16:20:16.715Z" },
|
|
890
899
|
]
|
|
891
900
|
|
|
901
|
+
[[package]]
|
|
902
|
+
name = "decorator"
|
|
903
|
+
version = "5.2.1"
|
|
904
|
+
source = { registry = "https://pypi.org/simple" }
|
|
905
|
+
sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" }
|
|
906
|
+
wheels = [
|
|
907
|
+
{ url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" },
|
|
908
|
+
]
|
|
909
|
+
|
|
892
910
|
[[package]]
|
|
893
911
|
name = "deprecated"
|
|
894
912
|
version = "1.3.1"
|
|
@@ -1796,6 +1814,32 @@ wheels = [
|
|
|
1796
1814
|
{ url = "https://files.pythonhosted.org/packages/83/60/d497a310bde3f01cb805196ac61b7ad6dc5dcf8dce66634dc34364b20b4f/lazy_loader-0.4-py3-none-any.whl", hash = "sha256:342aa8e14d543a154047afb4ba8ef17f5563baad3fc610d7b15b213b0f119efc", size = 12097, upload-time = "2024-04-05T13:03:10.514Z" },
|
|
1797
1815
|
]
|
|
1798
1816
|
|
|
1817
|
+
[[package]]
|
|
1818
|
+
name = "librosa"
|
|
1819
|
+
version = "0.11.0"
|
|
1820
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1821
|
+
dependencies = [
|
|
1822
|
+
{ name = "audioread" },
|
|
1823
|
+
{ name = "decorator" },
|
|
1824
|
+
{ name = "joblib" },
|
|
1825
|
+
{ name = "lazy-loader" },
|
|
1826
|
+
{ name = "msgpack" },
|
|
1827
|
+
{ name = "numba" },
|
|
1828
|
+
{ name = "numpy" },
|
|
1829
|
+
{ name = "pooch" },
|
|
1830
|
+
{ name = "scikit-learn", version = "1.7.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
|
|
1831
|
+
{ name = "scikit-learn", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
|
|
1832
|
+
{ name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
|
|
1833
|
+
{ name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
|
|
1834
|
+
{ name = "soundfile" },
|
|
1835
|
+
{ name = "soxr" },
|
|
1836
|
+
{ name = "typing-extensions" },
|
|
1837
|
+
]
|
|
1838
|
+
sdist = { url = "https://files.pythonhosted.org/packages/64/36/360b5aafa0238e29758729e9486c6ed92a6f37fa403b7875e06c115cdf4a/librosa-0.11.0.tar.gz", hash = "sha256:f5ed951ca189b375bbe2e33b2abd7e040ceeee302b9bbaeeffdfddb8d0ace908", size = 327001, upload-time = "2025-03-11T15:09:54.884Z" }
|
|
1839
|
+
wheels = [
|
|
1840
|
+
{ url = "https://files.pythonhosted.org/packages/b5/ba/c63c5786dfee4c3417094c4b00966e61e4a63efecee22cb7b4c0387dda83/librosa-0.11.0-py3-none-any.whl", hash = "sha256:0b6415c4fd68bff4c29288abe67c6d80b587e0e1e2cfb0aad23e4559504a7fa1", size = 260749, upload-time = "2025-03-11T15:09:52.982Z" },
|
|
1841
|
+
]
|
|
1842
|
+
|
|
1799
1843
|
[[package]]
|
|
1800
1844
|
name = "librt"
|
|
1801
1845
|
version = "0.7.8"
|
|
@@ -2189,6 +2233,15 @@ wheels = [
|
|
|
2189
2233
|
{ url = "https://files.pythonhosted.org/packages/16/2e/9acc86985bfad8f2c2d30291b27cd2bb4c74cea08695bd540906ed744249/ml_dtypes-0.5.4-cp312-cp312-win_arm64.whl", hash = "sha256:9bad06436568442575beb2d03389aa7456c690a5b05892c471215bfd8cf39460", size = 160793, upload-time = "2025-11-17T22:31:55.358Z" },
|
|
2190
2234
|
]
|
|
2191
2235
|
|
|
2236
|
+
[[package]]
|
|
2237
|
+
name = "more-itertools"
|
|
2238
|
+
version = "10.8.0"
|
|
2239
|
+
source = { registry = "https://pypi.org/simple" }
|
|
2240
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ea/5d/38b681d3fce7a266dd9ab73c66959406d565b3e85f21d5e66e1181d93721/more_itertools-10.8.0.tar.gz", hash = "sha256:f638ddf8a1a0d134181275fb5d58b086ead7c6a72429ad725c67503f13ba30bd", size = 137431, upload-time = "2025-09-02T15:23:11.018Z" }
|
|
2241
|
+
wheels = [
|
|
2242
|
+
{ url = "https://files.pythonhosted.org/packages/a4/8e/469e5a4a2f5855992e425f3cb33804cc07bf18d48f2db061aec61ce50270/more_itertools-10.8.0-py3-none-any.whl", hash = "sha256:52d4362373dcf7c52546bc4af9a86ee7c4579df9a8dc268be0a2f949d376cc9b", size = 69667, upload-time = "2025-09-02T15:23:09.635Z" },
|
|
2243
|
+
]
|
|
2244
|
+
|
|
2192
2245
|
[[package]]
|
|
2193
2246
|
name = "mpmath"
|
|
2194
2247
|
version = "1.3.0"
|
|
@@ -2701,6 +2754,21 @@ wheels = [
|
|
|
2701
2754
|
{ url = "https://files.pythonhosted.org/packages/c0/b4/569d298f9fc4d286c11c45e85d9ffa9e877af12ace98af8cab52396e8f46/onnxruntime-1.23.2-cp312-cp312-win_amd64.whl", hash = "sha256:25de5214923ce941a3523739d34a520aac30f21e631de53bba9174dc9c004435", size = 13470528, upload-time = "2025-10-22T03:47:28.106Z" },
|
|
2702
2755
|
]
|
|
2703
2756
|
|
|
2757
|
+
[[package]]
|
|
2758
|
+
name = "openai-whisper"
|
|
2759
|
+
version = "20250625"
|
|
2760
|
+
source = { registry = "https://pypi.org/simple" }
|
|
2761
|
+
dependencies = [
|
|
2762
|
+
{ name = "more-itertools" },
|
|
2763
|
+
{ name = "numba" },
|
|
2764
|
+
{ name = "numpy" },
|
|
2765
|
+
{ name = "tiktoken" },
|
|
2766
|
+
{ name = "torch" },
|
|
2767
|
+
{ name = "tqdm" },
|
|
2768
|
+
{ name = "triton", marker = "(platform_machine == 'x86_64' and sys_platform == 'linux') or sys_platform == 'linux2'" },
|
|
2769
|
+
]
|
|
2770
|
+
sdist = { url = "https://files.pythonhosted.org/packages/35/8e/d36f8880bcf18ec026a55807d02fe4c7357da9f25aebd92f85178000c0dc/openai_whisper-20250625.tar.gz", hash = "sha256:37a91a3921809d9f44748ffc73c0a55c9f366c85a3ef5c2ae0cc09540432eb96", size = 803191, upload-time = "2025-06-26T01:06:13.34Z" }
|
|
2771
|
+
|
|
2704
2772
|
[[package]]
|
|
2705
2773
|
name = "openapi-pydantic"
|
|
2706
2774
|
version = "0.5.1"
|
|
@@ -3266,6 +3334,20 @@ wheels = [
|
|
|
3266
3334
|
{ url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" },
|
|
3267
3335
|
]
|
|
3268
3336
|
|
|
3337
|
+
[[package]]
|
|
3338
|
+
name = "pooch"
|
|
3339
|
+
version = "1.9.0"
|
|
3340
|
+
source = { registry = "https://pypi.org/simple" }
|
|
3341
|
+
dependencies = [
|
|
3342
|
+
{ name = "packaging" },
|
|
3343
|
+
{ name = "platformdirs" },
|
|
3344
|
+
{ name = "requests" },
|
|
3345
|
+
]
|
|
3346
|
+
sdist = { url = "https://files.pythonhosted.org/packages/83/43/85ef45e8b36c6a48546af7b266592dc32d7f67837a6514d111bced6d7d75/pooch-1.9.0.tar.gz", hash = "sha256:de46729579b9857ffd3e741987a2f6d5e0e03219892c167c6578c0091fb511ed", size = 61788, upload-time = "2026-01-30T19:15:09.649Z" }
|
|
3347
|
+
wheels = [
|
|
3348
|
+
{ url = "https://files.pythonhosted.org/packages/2a/2d/d4bf65e47cea8ff2c794a600c4fd1273a7902f268757c531e0ee9f18aa58/pooch-1.9.0-py3-none-any.whl", hash = "sha256:f265597baa9f760d25ceb29d0beb8186c243d6607b0f60b83ecf14078dbc703b", size = 67175, upload-time = "2026-01-30T19:15:08.36Z" },
|
|
3349
|
+
]
|
|
3350
|
+
|
|
3269
3351
|
[[package]]
|
|
3270
3352
|
name = "prometheus-client"
|
|
3271
3353
|
version = "0.24.1"
|
|
@@ -4466,6 +4548,72 @@ wheels = [
|
|
|
4466
4548
|
{ url = "https://files.pythonhosted.org/packages/35/8a/d1b8055f584acc937478abf4550d122936f420352422a1a625eef2c605d8/scikit_image-0.26.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d57e39ef67a95d26860c8caf9b14b8fb130f83b34c6656a77f191fa6d1d04d8", size = 11348740, upload-time = "2025-12-20T17:11:09.118Z" },
|
|
4467
4549
|
]
|
|
4468
4550
|
|
|
4551
|
+
[[package]]
|
|
4552
|
+
name = "scikit-learn"
|
|
4553
|
+
version = "1.7.2"
|
|
4554
|
+
source = { registry = "https://pypi.org/simple" }
|
|
4555
|
+
resolution-markers = [
|
|
4556
|
+
"python_full_version < '3.11'",
|
|
4557
|
+
]
|
|
4558
|
+
dependencies = [
|
|
4559
|
+
{ name = "joblib", marker = "python_full_version < '3.11'" },
|
|
4560
|
+
{ name = "numpy", marker = "python_full_version < '3.11'" },
|
|
4561
|
+
{ name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
|
|
4562
|
+
{ name = "threadpoolctl", marker = "python_full_version < '3.11'" },
|
|
4563
|
+
]
|
|
4564
|
+
sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" }
|
|
4565
|
+
wheels = [
|
|
4566
|
+
{ url = "https://files.pythonhosted.org/packages/ba/3e/daed796fd69cce768b8788401cc464ea90b306fb196ae1ffed0b98182859/scikit_learn-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b33579c10a3081d076ab403df4a4190da4f4432d443521674637677dc91e61f", size = 9336221, upload-time = "2025-09-09T08:20:19.328Z" },
|
|
4567
|
+
{ url = "https://files.pythonhosted.org/packages/1c/ce/af9d99533b24c55ff4e18d9b7b4d9919bbc6cd8f22fe7a7be01519a347d5/scikit_learn-1.7.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:36749fb62b3d961b1ce4fedf08fa57a1986cd409eff2d783bca5d4b9b5fce51c", size = 8653834, upload-time = "2025-09-09T08:20:22.073Z" },
|
|
4568
|
+
{ url = "https://files.pythonhosted.org/packages/58/0e/8c2a03d518fb6bd0b6b0d4b114c63d5f1db01ff0f9925d8eb10960d01c01/scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7a58814265dfc52b3295b1900cfb5701589d30a8bb026c7540f1e9d3499d5ec8", size = 9660938, upload-time = "2025-09-09T08:20:24.327Z" },
|
|
4569
|
+
{ url = "https://files.pythonhosted.org/packages/2b/75/4311605069b5d220e7cf5adabb38535bd96f0079313cdbb04b291479b22a/scikit_learn-1.7.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a847fea807e278f821a0406ca01e387f97653e284ecbd9750e3ee7c90347f18", size = 9477818, upload-time = "2025-09-09T08:20:26.845Z" },
|
|
4570
|
+
{ url = "https://files.pythonhosted.org/packages/7f/9b/87961813c34adbca21a6b3f6b2bea344c43b30217a6d24cc437c6147f3e8/scikit_learn-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:ca250e6836d10e6f402436d6463d6c0e4d8e0234cfb6a9a47835bd392b852ce5", size = 8886969, upload-time = "2025-09-09T08:20:29.329Z" },
|
|
4571
|
+
{ url = "https://files.pythonhosted.org/packages/43/83/564e141eef908a5863a54da8ca342a137f45a0bfb71d1d79704c9894c9d1/scikit_learn-1.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7509693451651cd7361d30ce4e86a1347493554f172b1c72a39300fa2aea79e", size = 9331967, upload-time = "2025-09-09T08:20:32.421Z" },
|
|
4572
|
+
{ url = "https://files.pythonhosted.org/packages/18/d6/ba863a4171ac9d7314c4d3fc251f015704a2caeee41ced89f321c049ed83/scikit_learn-1.7.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:0486c8f827c2e7b64837c731c8feff72c0bd2b998067a8a9cbc10643c31f0fe1", size = 8648645, upload-time = "2025-09-09T08:20:34.436Z" },
|
|
4573
|
+
{ url = "https://files.pythonhosted.org/packages/ef/0e/97dbca66347b8cf0ea8b529e6bb9367e337ba2e8be0ef5c1a545232abfde/scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89877e19a80c7b11a2891a27c21c4894fb18e2c2e077815bcade10d34287b20d", size = 9715424, upload-time = "2025-09-09T08:20:36.776Z" },
|
|
4574
|
+
{ url = "https://files.pythonhosted.org/packages/f7/32/1f3b22e3207e1d2c883a7e09abb956362e7d1bd2f14458c7de258a26ac15/scikit_learn-1.7.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8da8bf89d4d79aaec192d2bda62f9b56ae4e5b4ef93b6a56b5de4977e375c1f1", size = 9509234, upload-time = "2025-09-09T08:20:38.957Z" },
|
|
4575
|
+
{ url = "https://files.pythonhosted.org/packages/9f/71/34ddbd21f1da67c7a768146968b4d0220ee6831e4bcbad3e03dd3eae88b6/scikit_learn-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:9b7ed8d58725030568523e937c43e56bc01cadb478fc43c042a9aca1dacb3ba1", size = 8894244, upload-time = "2025-09-09T08:20:41.166Z" },
|
|
4576
|
+
{ url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818, upload-time = "2025-09-09T08:20:43.19Z" },
|
|
4577
|
+
{ url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997, upload-time = "2025-09-09T08:20:45.468Z" },
|
|
4578
|
+
{ url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381, upload-time = "2025-09-09T08:20:47.982Z" },
|
|
4579
|
+
{ url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296, upload-time = "2025-09-09T08:20:50.366Z" },
|
|
4580
|
+
{ url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256, upload-time = "2025-09-09T08:20:52.627Z" },
|
|
4581
|
+
]
|
|
4582
|
+
|
|
4583
|
+
[[package]]
|
|
4584
|
+
name = "scikit-learn"
|
|
4585
|
+
version = "1.8.0"
|
|
4586
|
+
source = { registry = "https://pypi.org/simple" }
|
|
4587
|
+
resolution-markers = [
|
|
4588
|
+
"python_full_version >= '3.12' and sys_platform == 'win32'",
|
|
4589
|
+
"python_full_version == '3.11.*' and sys_platform == 'win32'",
|
|
4590
|
+
"python_full_version >= '3.12' and sys_platform == 'emscripten'",
|
|
4591
|
+
"python_full_version == '3.11.*' and sys_platform == 'emscripten'",
|
|
4592
|
+
"python_full_version >= '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'",
|
|
4593
|
+
"python_full_version == '3.11.*' and sys_platform != 'emscripten' and sys_platform != 'win32'",
|
|
4594
|
+
]
|
|
4595
|
+
dependencies = [
|
|
4596
|
+
{ name = "joblib", marker = "python_full_version >= '3.11'" },
|
|
4597
|
+
{ name = "numpy", marker = "python_full_version >= '3.11'" },
|
|
4598
|
+
{ name = "scipy", version = "1.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
|
|
4599
|
+
{ name = "threadpoolctl", marker = "python_full_version >= '3.11'" },
|
|
4600
|
+
]
|
|
4601
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0e/d4/40988bf3b8e34feec1d0e6a051446b1f66225f8529b9309becaeef62b6c4/scikit_learn-1.8.0.tar.gz", hash = "sha256:9bccbb3b40e3de10351f8f5068e105d0f4083b1a65fa07b6634fbc401a6287fd", size = 7335585, upload-time = "2025-12-10T07:08:53.618Z" }
|
|
4602
|
+
wheels = [
|
|
4603
|
+
{ url = "https://files.pythonhosted.org/packages/c9/92/53ea2181da8ac6bf27170191028aee7251f8f841f8d3edbfdcaf2008fde9/scikit_learn-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:146b4d36f800c013d267b29168813f7a03a43ecd2895d04861f1240b564421da", size = 8595835, upload-time = "2025-12-10T07:07:39.385Z" },
|
|
4604
|
+
{ url = "https://files.pythonhosted.org/packages/01/18/d154dc1638803adf987910cdd07097d9c526663a55666a97c124d09fb96a/scikit_learn-1.8.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:f984ca4b14914e6b4094c5d52a32ea16b49832c03bd17a110f004db3c223e8e1", size = 8080381, upload-time = "2025-12-10T07:07:41.93Z" },
|
|
4605
|
+
{ url = "https://files.pythonhosted.org/packages/8a/44/226142fcb7b7101e64fdee5f49dbe6288d4c7af8abf593237b70fca080a4/scikit_learn-1.8.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5e30adb87f0cc81c7690a84f7932dd66be5bac57cfe16b91cb9151683a4a2d3b", size = 8799632, upload-time = "2025-12-10T07:07:43.899Z" },
|
|
4606
|
+
{ url = "https://files.pythonhosted.org/packages/36/4d/4a67f30778a45d542bbea5db2dbfa1e9e100bf9ba64aefe34215ba9f11f6/scikit_learn-1.8.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ada8121bcb4dac28d930febc791a69f7cb1673c8495e5eee274190b73a4559c1", size = 9103788, upload-time = "2025-12-10T07:07:45.982Z" },
|
|
4607
|
+
{ url = "https://files.pythonhosted.org/packages/89/3c/45c352094cfa60050bcbb967b1faf246b22e93cb459f2f907b600f2ceda5/scikit_learn-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:c57b1b610bd1f40ba43970e11ce62821c2e6569e4d74023db19c6b26f246cb3b", size = 8081706, upload-time = "2025-12-10T07:07:48.111Z" },
|
|
4608
|
+
{ url = "https://files.pythonhosted.org/packages/3d/46/5416595bb395757f754feb20c3d776553a386b661658fb21b7c814e89efe/scikit_learn-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:2838551e011a64e3053ad7618dda9310175f7515f1742fa2d756f7c874c05961", size = 7688451, upload-time = "2025-12-10T07:07:49.873Z" },
|
|
4609
|
+
{ url = "https://files.pythonhosted.org/packages/90/74/e6a7cc4b820e95cc38cf36cd74d5aa2b42e8ffc2d21fe5a9a9c45c1c7630/scikit_learn-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5fb63362b5a7ddab88e52b6dbb47dac3fd7dafeee740dc6c8d8a446ddedade8e", size = 8548242, upload-time = "2025-12-10T07:07:51.568Z" },
|
|
4610
|
+
{ url = "https://files.pythonhosted.org/packages/49/d8/9be608c6024d021041c7f0b3928d4749a706f4e2c3832bbede4fb4f58c95/scikit_learn-1.8.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5025ce924beccb28298246e589c691fe1b8c1c96507e6d27d12c5fadd85bfd76", size = 8079075, upload-time = "2025-12-10T07:07:53.697Z" },
|
|
4611
|
+
{ url = "https://files.pythonhosted.org/packages/dd/47/f187b4636ff80cc63f21cd40b7b2d177134acaa10f6bb73746130ee8c2e5/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4496bb2cf7a43ce1a2d7524a79e40bc5da45cf598dbf9545b7e8316ccba47bb4", size = 8660492, upload-time = "2025-12-10T07:07:55.574Z" },
|
|
4612
|
+
{ url = "https://files.pythonhosted.org/packages/97/74/b7a304feb2b49df9fafa9382d4d09061a96ee9a9449a7cbea7988dda0828/scikit_learn-1.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0bcfe4d0d14aec44921545fd2af2338c7471de9cb701f1da4c9d85906ab847a", size = 8931904, upload-time = "2025-12-10T07:07:57.666Z" },
|
|
4613
|
+
{ url = "https://files.pythonhosted.org/packages/9f/c4/0ab22726a04ede56f689476b760f98f8f46607caecff993017ac1b64aa5d/scikit_learn-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:35c007dedb2ffe38fe3ee7d201ebac4a2deccd2408e8621d53067733e3c74809", size = 8019359, upload-time = "2025-12-10T07:07:59.838Z" },
|
|
4614
|
+
{ url = "https://files.pythonhosted.org/packages/24/90/344a67811cfd561d7335c1b96ca21455e7e472d281c3c279c4d3f2300236/scikit_learn-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:8c497fff237d7b4e07e9ef1a640887fa4fb765647f86fbe00f969ff6280ce2bb", size = 7641898, upload-time = "2025-12-10T07:08:01.36Z" },
|
|
4615
|
+
]
|
|
4616
|
+
|
|
4469
4617
|
[[package]]
|
|
4470
4618
|
name = "scipy"
|
|
4471
4619
|
version = "1.15.3"
|
|
@@ -4688,6 +4836,25 @@ wheels = [
|
|
|
4688
4836
|
{ url = "https://files.pythonhosted.org/packages/32/46/9cb0e58b2deb7f82b84065f37f3bffeb12413f947f9388e4cac22c4621ce/sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0", size = 29575, upload-time = "2021-05-16T22:03:41.177Z" },
|
|
4689
4837
|
]
|
|
4690
4838
|
|
|
4839
|
+
[[package]]
|
|
4840
|
+
name = "soundfile"
|
|
4841
|
+
version = "0.13.1"
|
|
4842
|
+
source = { registry = "https://pypi.org/simple" }
|
|
4843
|
+
dependencies = [
|
|
4844
|
+
{ name = "cffi" },
|
|
4845
|
+
{ name = "numpy" },
|
|
4846
|
+
]
|
|
4847
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e1/41/9b873a8c055582859b239be17902a85339bec6a30ad162f98c9b0288a2cc/soundfile-0.13.1.tar.gz", hash = "sha256:b2c68dab1e30297317080a5b43df57e302584c49e2942defdde0acccc53f0e5b", size = 46156, upload-time = "2025-01-25T09:17:04.831Z" }
|
|
4848
|
+
wheels = [
|
|
4849
|
+
{ url = "https://files.pythonhosted.org/packages/64/28/e2a36573ccbcf3d57c00626a21fe51989380636e821b341d36ccca0c1c3a/soundfile-0.13.1-py2.py3-none-any.whl", hash = "sha256:a23c717560da2cf4c7b5ae1142514e0fd82d6bbd9dfc93a50423447142f2c445", size = 25751, upload-time = "2025-01-25T09:16:44.235Z" },
|
|
4850
|
+
{ 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, upload-time = "2025-01-25T09:16:47.583Z" },
|
|
4851
|
+
{ 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, upload-time = "2025-01-25T09:16:49.662Z" },
|
|
4852
|
+
{ 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, upload-time = "2025-01-25T09:16:53.018Z" },
|
|
4853
|
+
{ 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, upload-time = "2025-01-25T09:16:54.872Z" },
|
|
4854
|
+
{ url = "https://files.pythonhosted.org/packages/fe/df/8c11dc4dfceda14e3003bb81a0d0edcaaf0796dd7b4f826ea3e532146bba/soundfile-0.13.1-py2.py3-none-win32.whl", hash = "sha256:c734564fab7c5ddf8e9be5bf70bab68042cd17e9c214c06e365e20d64f9a69d5", size = 899881, upload-time = "2025-01-25T09:16:56.663Z" },
|
|
4855
|
+
{ url = "https://files.pythonhosted.org/packages/14/e9/6b761de83277f2f02ded7e7ea6f07828ec78e4b229b80e4ca55dd205b9dc/soundfile-0.13.1-py2.py3-none-win_amd64.whl", hash = "sha256:1e70a05a0626524a69e9f0f4dd2ec174b4e9567f4d8b6c11d38b5c289be36ee9", size = 1019162, upload-time = "2025-01-25T09:16:59.573Z" },
|
|
4856
|
+
]
|
|
4857
|
+
|
|
4691
4858
|
[[package]]
|
|
4692
4859
|
name = "soupsieve"
|
|
4693
4860
|
version = "2.8.3"
|
|
@@ -4697,6 +4864,32 @@ wheels = [
|
|
|
4697
4864
|
{ url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" },
|
|
4698
4865
|
]
|
|
4699
4866
|
|
|
4867
|
+
[[package]]
|
|
4868
|
+
name = "soxr"
|
|
4869
|
+
version = "1.0.0"
|
|
4870
|
+
source = { registry = "https://pypi.org/simple" }
|
|
4871
|
+
dependencies = [
|
|
4872
|
+
{ name = "numpy" },
|
|
4873
|
+
]
|
|
4874
|
+
sdist = { url = "https://files.pythonhosted.org/packages/42/7e/f4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9/soxr-1.0.0.tar.gz", hash = "sha256:e07ee6c1d659bc6957034f4800c60cb8b98de798823e34d2a2bba1caa85a4509", size = 171415, upload-time = "2025-09-07T13:22:21.317Z" }
|
|
4875
|
+
wheels = [
|
|
4876
|
+
{ url = "https://files.pythonhosted.org/packages/1e/a7/11c36d71595b52fe84a220040ace679035953acf06b83bf2c7117c565d2c/soxr-1.0.0-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:b876a3156f67c76aef0cff1084eaf4088d9ca584bb569cb993f89a52ec5f399f", size = 206459, upload-time = "2025-09-07T13:21:46.904Z" },
|
|
4877
|
+
{ url = "https://files.pythonhosted.org/packages/43/5e/8962f2aeea7777d2a6e65a24a2b83c6aea1a28badeda027fd328f7f03bb7/soxr-1.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4d3b957a7b0cc19ae6aa45d40b2181474e53a8dd00efd7bce6bcf4e60e020892", size = 164808, upload-time = "2025-09-07T13:21:48.83Z" },
|
|
4878
|
+
{ url = "https://files.pythonhosted.org/packages/fc/91/00384166f110a3888ea8efd44523ba7168dd2dc39e3e43c931cc2d069fa9/soxr-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89685faedebc45af71f08f9957b61cc6143bc94ba43fe38e97067f81e272969", size = 208586, upload-time = "2025-09-07T13:21:50.341Z" },
|
|
4879
|
+
{ url = "https://files.pythonhosted.org/packages/75/34/e18f1003e242aabed44ed8902534814d3e64209e4d1d874f5b9b67d73cde/soxr-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d255741b2f0084fd02d4a2ddd77cd495be9e7e7b6f9dba1c9494f86afefac65b", size = 242310, upload-time = "2025-09-07T13:21:51.56Z" },
|
|
4880
|
+
{ url = "https://files.pythonhosted.org/packages/61/9c/a1c5ed106b40cc1e2e12cd58831b7f1b61c5fbdb8eceeca4b3a0b0dbef6c/soxr-1.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:158a4a9055958c4b95ef91dbbe280cabb00946b5423b25a9b0ce31bd9e0a271e", size = 173561, upload-time = "2025-09-07T13:21:53.03Z" },
|
|
4881
|
+
{ url = "https://files.pythonhosted.org/packages/65/ce/a3262bc8733d3a4ce5f660ed88c3d97f4b12658b0909e71334cba1721dcb/soxr-1.0.0-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:28e19d74a5ef45c0d7000f3c70ec1719e89077379df2a1215058914d9603d2d8", size = 206739, upload-time = "2025-09-07T13:21:54.572Z" },
|
|
4882
|
+
{ url = "https://files.pythonhosted.org/packages/64/dc/e8cbd100b652697cc9865dbed08832e7e135ff533f453eb6db9e6168d153/soxr-1.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8dc69fc18884e53b72f6141fdf9d80997edbb4fec9dc2942edcb63abbe0d023", size = 165233, upload-time = "2025-09-07T13:21:55.887Z" },
|
|
4883
|
+
{ url = "https://files.pythonhosted.org/packages/75/12/4b49611c9ba5e9fe6f807d0a83352516808e8e573f8b4e712fc0c17f3363/soxr-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3f15450e6f65f22f02fcd4c5a9219c873b1e583a73e232805ff160c759a6b586", size = 208867, upload-time = "2025-09-07T13:21:57.076Z" },
|
|
4884
|
+
{ url = "https://files.pythonhosted.org/packages/cc/70/92146ab970a3ef8c43ac160035b1e52fde5417f89adb10572f7e788d9596/soxr-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f73f57452f9df37b4de7a4052789fcbd474a5b28f38bba43278ae4b489d4384", size = 242633, upload-time = "2025-09-07T13:21:58.621Z" },
|
|
4885
|
+
{ url = "https://files.pythonhosted.org/packages/b5/a7/628479336206959463d08260bffed87905e7ba9e3bd83ca6b405a0736e94/soxr-1.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f417c3d69236051cf5a1a7bad7c4bff04eb3d8fcaa24ac1cb06e26c8d48d8dc", size = 173814, upload-time = "2025-09-07T13:21:59.798Z" },
|
|
4886
|
+
{ url = "https://files.pythonhosted.org/packages/c5/c7/f92b81f1a151c13afb114f57799b86da9330bec844ea5a0d3fe6a8732678/soxr-1.0.0-cp312-abi3-macosx_10_14_x86_64.whl", hash = "sha256:abecf4e39017f3fadb5e051637c272ae5778d838e5c3926a35db36a53e3a607f", size = 205508, upload-time = "2025-09-07T13:22:01.252Z" },
|
|
4887
|
+
{ url = "https://files.pythonhosted.org/packages/ff/1d/c945fea9d83ea1f2be9d116b3674dbaef26ed090374a77c394b31e3b083b/soxr-1.0.0-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:e973d487ee46aa8023ca00a139db6e09af053a37a032fe22f9ff0cc2e19c94b4", size = 163568, upload-time = "2025-09-07T13:22:03.558Z" },
|
|
4888
|
+
{ url = "https://files.pythonhosted.org/packages/b5/80/10640970998a1d2199bef6c4d92205f36968cddaf3e4d0e9fe35ddd405bd/soxr-1.0.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e8ce273cca101aff3d8c387db5a5a41001ba76ef1837883438d3c652507a9ccc", size = 204707, upload-time = "2025-09-07T13:22:05.125Z" },
|
|
4889
|
+
{ url = "https://files.pythonhosted.org/packages/b1/87/2726603c13c2126cb8ded9e57381b7377f4f0df6ba4408e1af5ddbfdc3dd/soxr-1.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8f2a69686f2856d37823bbb7b78c3d44904f311fe70ba49b893af11d6b6047b", size = 238032, upload-time = "2025-09-07T13:22:06.428Z" },
|
|
4890
|
+
{ url = "https://files.pythonhosted.org/packages/ce/04/530252227f4d0721a5524a936336485dfb429bb206a66baf8e470384f4a2/soxr-1.0.0-cp312-abi3-win_amd64.whl", hash = "sha256:2a3b77b115ae7c478eecdbd060ed4f61beda542dfb70639177ac263aceda42a2", size = 172070, upload-time = "2025-09-07T13:22:07.62Z" },
|
|
4891
|
+
]
|
|
4892
|
+
|
|
4700
4893
|
[[package]]
|
|
4701
4894
|
name = "sqlalchemy"
|
|
4702
4895
|
version = "2.0.46"
|
|
@@ -4875,6 +5068,15 @@ wheels = [
|
|
|
4875
5068
|
{ url = "https://files.pythonhosted.org/packages/33/d1/8bb87d21e9aeb323cc03034f5eaf2c8f69841e40e4853c2627edf8111ed3/termcolor-3.3.0-py3-none-any.whl", hash = "sha256:cf642efadaf0a8ebbbf4bc7a31cec2f9b5f21a9f726f4ccbb08192c9c26f43a5", size = 7734, upload-time = "2025-12-29T12:55:20.718Z" },
|
|
4876
5069
|
]
|
|
4877
5070
|
|
|
5071
|
+
[[package]]
|
|
5072
|
+
name = "threadpoolctl"
|
|
5073
|
+
version = "3.6.0"
|
|
5074
|
+
source = { registry = "https://pypi.org/simple" }
|
|
5075
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" }
|
|
5076
|
+
wheels = [
|
|
5077
|
+
{ url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" },
|
|
5078
|
+
]
|
|
5079
|
+
|
|
4878
5080
|
[[package]]
|
|
4879
5081
|
name = "tifffile"
|
|
4880
5082
|
version = "2025.5.10"
|
|
@@ -4910,6 +5112,39 @@ wheels = [
|
|
|
4910
5112
|
{ url = "https://files.pythonhosted.org/packages/09/19/529b28ca338c5a88315e71e672badc85eef89460c248c4164f6ce058f8c7/tifffile-2026.1.28-py3-none-any.whl", hash = "sha256:45b08a19cf603dd99952eff54a61519626a1912e4e2a4d355f05938fe4a6e9fd", size = 233011, upload-time = "2026-01-29T05:17:23.078Z" },
|
|
4911
5113
|
]
|
|
4912
5114
|
|
|
5115
|
+
[[package]]
|
|
5116
|
+
name = "tiktoken"
|
|
5117
|
+
version = "0.12.0"
|
|
5118
|
+
source = { registry = "https://pypi.org/simple" }
|
|
5119
|
+
dependencies = [
|
|
5120
|
+
{ name = "regex" },
|
|
5121
|
+
{ name = "requests" },
|
|
5122
|
+
]
|
|
5123
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7d/ab/4d017d0f76ec3171d469d80fc03dfbb4e48a4bcaddaa831b31d526f05edc/tiktoken-0.12.0.tar.gz", hash = "sha256:b18ba7ee2b093863978fcb14f74b3707cdc8d4d4d3836853ce7ec60772139931", size = 37806, upload-time = "2025-10-06T20:22:45.419Z" }
|
|
5124
|
+
wheels = [
|
|
5125
|
+
{ url = "https://files.pythonhosted.org/packages/89/b3/2cb7c17b6c4cf8ca983204255d3f1d95eda7213e247e6947a0ee2c747a2c/tiktoken-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3de02f5a491cfd179aec916eddb70331814bd6bf764075d39e21d5862e533970", size = 1051991, upload-time = "2025-10-06T20:21:34.098Z" },
|
|
5126
|
+
{ url = "https://files.pythonhosted.org/packages/27/0f/df139f1df5f6167194ee5ab24634582ba9a1b62c6b996472b0277ec80f66/tiktoken-0.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b6cfb6d9b7b54d20af21a912bfe63a2727d9cfa8fbda642fd8322c70340aad16", size = 995798, upload-time = "2025-10-06T20:21:35.579Z" },
|
|
5127
|
+
{ url = "https://files.pythonhosted.org/packages/ef/5d/26a691f28ab220d5edc09b9b787399b130f24327ef824de15e5d85ef21aa/tiktoken-0.12.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:cde24cdb1b8a08368f709124f15b36ab5524aac5fa830cc3fdce9c03d4fb8030", size = 1129865, upload-time = "2025-10-06T20:21:36.675Z" },
|
|
5128
|
+
{ url = "https://files.pythonhosted.org/packages/b2/94/443fab3d4e5ebecac895712abd3849b8da93b7b7dec61c7db5c9c7ebe40c/tiktoken-0.12.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:6de0da39f605992649b9cfa6f84071e3f9ef2cec458d08c5feb1b6f0ff62e134", size = 1152856, upload-time = "2025-10-06T20:21:37.873Z" },
|
|
5129
|
+
{ url = "https://files.pythonhosted.org/packages/54/35/388f941251b2521c70dd4c5958e598ea6d2c88e28445d2fb8189eecc1dfc/tiktoken-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6faa0534e0eefbcafaccb75927a4a380463a2eaa7e26000f0173b920e98b720a", size = 1195308, upload-time = "2025-10-06T20:21:39.577Z" },
|
|
5130
|
+
{ url = "https://files.pythonhosted.org/packages/f8/00/c6681c7f833dd410576183715a530437a9873fa910265817081f65f9105f/tiktoken-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:82991e04fc860afb933efb63957affc7ad54f83e2216fe7d319007dab1ba5892", size = 1255697, upload-time = "2025-10-06T20:21:41.154Z" },
|
|
5131
|
+
{ url = "https://files.pythonhosted.org/packages/5f/d2/82e795a6a9bafa034bf26a58e68fe9a89eeaaa610d51dbeb22106ba04f0a/tiktoken-0.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:6fb2995b487c2e31acf0a9e17647e3b242235a20832642bb7a9d1a181c0c1bb1", size = 879375, upload-time = "2025-10-06T20:21:43.201Z" },
|
|
5132
|
+
{ url = "https://files.pythonhosted.org/packages/de/46/21ea696b21f1d6d1efec8639c204bdf20fde8bafb351e1355c72c5d7de52/tiktoken-0.12.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e227c7f96925003487c33b1b32265fad2fbcec2b7cf4817afb76d416f40f6bb", size = 1051565, upload-time = "2025-10-06T20:21:44.566Z" },
|
|
5133
|
+
{ url = "https://files.pythonhosted.org/packages/c9/d9/35c5d2d9e22bb2a5f74ba48266fb56c63d76ae6f66e02feb628671c0283e/tiktoken-0.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c06cf0fcc24c2cb2adb5e185c7082a82cba29c17575e828518c2f11a01f445aa", size = 995284, upload-time = "2025-10-06T20:21:45.622Z" },
|
|
5134
|
+
{ url = "https://files.pythonhosted.org/packages/01/84/961106c37b8e49b9fdcf33fe007bb3a8fdcc380c528b20cc7fbba80578b8/tiktoken-0.12.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:f18f249b041851954217e9fd8e5c00b024ab2315ffda5ed77665a05fa91f42dc", size = 1129201, upload-time = "2025-10-06T20:21:47.074Z" },
|
|
5135
|
+
{ url = "https://files.pythonhosted.org/packages/6a/d0/3d9275198e067f8b65076a68894bb52fd253875f3644f0a321a720277b8a/tiktoken-0.12.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:47a5bc270b8c3db00bb46ece01ef34ad050e364b51d406b6f9730b64ac28eded", size = 1152444, upload-time = "2025-10-06T20:21:48.139Z" },
|
|
5136
|
+
{ url = "https://files.pythonhosted.org/packages/78/db/a58e09687c1698a7c592e1038e01c206569b86a0377828d51635561f8ebf/tiktoken-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:508fa71810c0efdcd1b898fda574889ee62852989f7c1667414736bcb2b9a4bd", size = 1195080, upload-time = "2025-10-06T20:21:49.246Z" },
|
|
5137
|
+
{ url = "https://files.pythonhosted.org/packages/9e/1b/a9e4d2bf91d515c0f74afc526fd773a812232dd6cda33ebea7f531202325/tiktoken-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a1af81a6c44f008cba48494089dd98cccb8b313f55e961a52f5b222d1e507967", size = 1255240, upload-time = "2025-10-06T20:21:50.274Z" },
|
|
5138
|
+
{ url = "https://files.pythonhosted.org/packages/9d/15/963819345f1b1fb0809070a79e9dd96938d4ca41297367d471733e79c76c/tiktoken-0.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:3e68e3e593637b53e56f7237be560f7a394451cb8c11079755e80ae64b9e6def", size = 879422, upload-time = "2025-10-06T20:21:51.734Z" },
|
|
5139
|
+
{ url = "https://files.pythonhosted.org/packages/a4/85/be65d39d6b647c79800fd9d29241d081d4eeb06271f383bb87200d74cf76/tiktoken-0.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b97f74aca0d78a1ff21b8cd9e9925714c15a9236d6ceacf5c7327c117e6e21e8", size = 1050728, upload-time = "2025-10-06T20:21:52.756Z" },
|
|
5140
|
+
{ url = "https://files.pythonhosted.org/packages/4a/42/6573e9129bc55c9bf7300b3a35bef2c6b9117018acca0dc760ac2d93dffe/tiktoken-0.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b90f5ad190a4bb7c3eb30c5fa32e1e182ca1ca79f05e49b448438c3e225a49b", size = 994049, upload-time = "2025-10-06T20:21:53.782Z" },
|
|
5141
|
+
{ url = "https://files.pythonhosted.org/packages/66/c5/ed88504d2f4a5fd6856990b230b56d85a777feab84e6129af0822f5d0f70/tiktoken-0.12.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:65b26c7a780e2139e73acc193e5c63ac754021f160df919add909c1492c0fb37", size = 1129008, upload-time = "2025-10-06T20:21:54.832Z" },
|
|
5142
|
+
{ url = "https://files.pythonhosted.org/packages/f4/90/3dae6cc5436137ebd38944d396b5849e167896fc2073da643a49f372dc4f/tiktoken-0.12.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:edde1ec917dfd21c1f2f8046b86348b0f54a2c0547f68149d8600859598769ad", size = 1152665, upload-time = "2025-10-06T20:21:56.129Z" },
|
|
5143
|
+
{ url = "https://files.pythonhosted.org/packages/a3/fe/26df24ce53ffde419a42f5f53d755b995c9318908288c17ec3f3448313a3/tiktoken-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:35a2f8ddd3824608b3d650a000c1ef71f730d0c56486845705a8248da00f9fe5", size = 1194230, upload-time = "2025-10-06T20:21:57.546Z" },
|
|
5144
|
+
{ url = "https://files.pythonhosted.org/packages/20/cc/b064cae1a0e9fac84b0d2c46b89f4e57051a5f41324e385d10225a984c24/tiktoken-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:83d16643edb7fa2c99eff2ab7733508aae1eebb03d5dfc46f5565862810f24e3", size = 1254688, upload-time = "2025-10-06T20:21:58.619Z" },
|
|
5145
|
+
{ url = "https://files.pythonhosted.org/packages/81/10/b8523105c590c5b8349f2587e2fdfe51a69544bd5a76295fc20f2374f470/tiktoken-0.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ffc5288f34a8bc02e1ea7047b8d041104791d2ddbf42d1e5fa07822cbffe16bd", size = 878694, upload-time = "2025-10-06T20:21:59.876Z" },
|
|
5146
|
+
]
|
|
5147
|
+
|
|
4913
5148
|
[[package]]
|
|
4914
5149
|
name = "timm"
|
|
4915
5150
|
version = "1.0.24"
|
|
@@ -5534,7 +5769,7 @@ wheels = [
|
|
|
5534
5769
|
|
|
5535
5770
|
[[package]]
|
|
5536
5771
|
name = "xfmr-zem"
|
|
5537
|
-
version = "0.2.
|
|
5772
|
+
version = "0.2.9"
|
|
5538
5773
|
source = { editable = "." }
|
|
5539
5774
|
dependencies = [
|
|
5540
5775
|
{ name = "click" },
|
|
@@ -5592,6 +5827,11 @@ ocr = [
|
|
|
5592
5827
|
{ name = "torchvision" },
|
|
5593
5828
|
{ name = "transformers" },
|
|
5594
5829
|
]
|
|
5830
|
+
voice = [
|
|
5831
|
+
{ name = "librosa" },
|
|
5832
|
+
{ name = "openai-whisper" },
|
|
5833
|
+
{ name = "soundfile" },
|
|
5834
|
+
]
|
|
5595
5835
|
zenml = [
|
|
5596
5836
|
{ name = "zenml" },
|
|
5597
5837
|
]
|
|
@@ -5605,6 +5845,7 @@ requires-dist = [
|
|
|
5605
5845
|
{ name = "einops", marker = "extra == 'ocr'" },
|
|
5606
5846
|
{ name = "fastmcp", specifier = ">=0.1.0" },
|
|
5607
5847
|
{ name = "ftfy", specifier = ">=6.3.1" },
|
|
5848
|
+
{ name = "librosa", marker = "extra == 'voice'" },
|
|
5608
5849
|
{ name = "loguru", specifier = ">=0.7.0" },
|
|
5609
5850
|
{ name = "mcp", specifier = ">=0.1.0" },
|
|
5610
5851
|
{ name = "mypy", marker = "extra == 'dev'", specifier = ">=1.0.0" },
|
|
@@ -5613,6 +5854,7 @@ requires-dist = [
|
|
|
5613
5854
|
{ name = "nemo-curator", marker = "extra == 'nemo'", specifier = ">=0.6.0" },
|
|
5614
5855
|
{ name = "numpy", specifier = ">=1.24.0" },
|
|
5615
5856
|
{ name = "onnxruntime", marker = "extra == 'ocr'", specifier = ">=1.16.0" },
|
|
5857
|
+
{ name = "openai-whisper", marker = "extra == 'voice'" },
|
|
5616
5858
|
{ name = "opencv-python", marker = "extra == 'ocr'", specifier = ">=4.8.0" },
|
|
5617
5859
|
{ name = "paddleocr", marker = "extra == 'ocr'", specifier = ">=2.7.0" },
|
|
5618
5860
|
{ name = "paddlepaddle", marker = "extra == 'ocr'", specifier = ">=2.6.0" },
|
|
@@ -5634,6 +5876,7 @@ requires-dist = [
|
|
|
5634
5876
|
{ name = "ruamel-yaml", marker = "extra == 'ocr'", specifier = ">=0.17.0" },
|
|
5635
5877
|
{ name = "ruff", marker = "extra == 'dev'", specifier = ">=0.1.0" },
|
|
5636
5878
|
{ name = "shapely", marker = "extra == 'ocr'" },
|
|
5879
|
+
{ name = "soundfile", marker = "extra == 'voice'" },
|
|
5637
5880
|
{ name = "torch", marker = "extra == 'ocr'", specifier = "==2.5.1" },
|
|
5638
5881
|
{ name = "torchvision", marker = "extra == 'ocr'", specifier = "==0.20.1" },
|
|
5639
5882
|
{ name = "transformers", marker = "extra == 'ocr'", specifier = ">=4.40.0" },
|
|
@@ -5642,7 +5885,7 @@ requires-dist = [
|
|
|
5642
5885
|
{ name = "zenml", marker = "extra == 'zenml'", specifier = ">=0.75.0" },
|
|
5643
5886
|
{ name = "zenml", extras = ["local", "server"], specifier = ">=0.75.0" },
|
|
5644
5887
|
]
|
|
5645
|
-
provides-extras = ["zenml", "nemo", "datajuicer", "all", "ocr", "dev"]
|
|
5888
|
+
provides-extras = ["zenml", "nemo", "datajuicer", "all", "ocr", "voice", "dev"]
|
|
5646
5889
|
|
|
5647
5890
|
[[package]]
|
|
5648
5891
|
name = "xlrd"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/implementations.py
RENAMED
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/layout_recognizer.py
RENAMED
|
File without changes
|
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/onnx/.gitattributes
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/utils/__init__.py
RENAMED
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/utils/file_utils.py
RENAMED
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/__init__.py
RENAMED
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/config/base.yml
RENAMED
|
File without changes
|
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/model/vocab.py
RENAMED
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/tool/config.py
RENAMED
|
File without changes
|
{xfmr_zem-0.2.8 → xfmr_zem-0.2.9}/src/xfmr_zem/servers/ocr/deepdoc_vietocr/vietocr/tool/translate.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|