[project] name = "luke-scribe" version = "0.1.0" description = "내부용 로컬 STT 전사 API (faster-whisper, hardware-adaptive)" requires-python = ">=3.11" dependencies = [ "pydantic>=2.7", "pydantic-settings>=2.3", "typer>=0.12", "rich>=13.7", "psutil>=5.9", "nvidia-ml-py>=12.535", "huggingface-hub>=0.24", ] [project.optional-dependencies] # 엔진 — transcribe/bench 증분에서 설치 (uv sync --extra engine) engine = ["faster-whisper>=1.0.3", "av>=11"] # GPU CUDA 런타임 (faster-whisper GPU 추론 시) gpu = ["nvidia-cublas-cu12", "nvidia-cudnn-cu12"] # 테스트 API (동기) — serve api = ["fastapi>=0.110", "uvicorn[standard]>=0.29", "python-multipart>=0.0.9"] # P2 비동기 큐 (보류) queue = ["redis>=5.0", "rq>=1.16"] # P5 옵션 diarize = ["pyannote.audio>=3.1"] llm = ["openai>=1.30"] [project.scripts] luke-scribe = "luke_scribe.cli:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/luke_scribe"] [dependency-groups] dev = ["pytest>=8.2", "ruff>=0.5", "httpx>=0.27"]