[project] name = "local-transcriber" version = "0.1.0" description = "Local CLI tool for audio/video transcription using faster-whisper" license = "MIT" requires-python = ">=3.13" dependencies = [ "typer>=0.24.1,<1", "rich>=14.3.3,<15", "faster-whisper>=1.2.1,<2", # CUDA-зависимости Windows проверены для этой сборки; см. ADR-001. "ctranslate2==4.8.1", "httpx>=0.28,<1", "socksio>=1.0.0,<2", # При обновлении сверить блок tool.uv.dependency-metadata ниже. "sherpa-onnx==1.13.6", "openvino-genai>=2026.3.0.0,<2026.4; sys_platform != 'darwin' and (platform_machine == 'x86_64' or platform_machine == 'AMD64')", "onnx-asr[cpu,hub]>=0.12,<0.13", "onnxruntime>=1.28,<2", ] [project.optional-dependencies] cuda = [ # В 12.9.2 добавилась NVRTC: обновлять после проверки DLL и bootstrap. "nvidia-cublas-cu12==12.9.1.4; (sys_platform == 'linux' and platform_machine == 'x86_64') or (sys_platform == 'win32' and (platform_machine == 'AMD64' or platform_machine == 'x86_64'))", ] [project.scripts] transcribe = "local_transcriber.cli:app" [dependency-groups] dev = [ "kaldi-native-fbank>=1.22,<2", "numpy==2.4.3", "onnx>=1.18,<2", "psutil>=7,<8", "pytest", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.pytest.ini_options] testpaths = ["tests"] [tool.hatch.build.targets.wheel] packages = ["src/local_transcriber"] exclude = [ "src/local_transcriber/benchmark_experiment.py", "src/local_transcriber/experimental_diarization.py", "src/local_transcriber/streaming_sortformer_experiment.py", ] [[tool.uv.dependency-metadata]] # Метаданные wheel-файлов sherpa расходятся, поэтому зависимость от core задана для uv явно. # Версии sherpa, override и core меняются вместе; проверка: uv tree --locked --package sherpa-onnx name = "sherpa-onnx" version = "1.13.6" requires-dist = ["sherpa-onnx-core==1.13.6"]