[project]
name = "chronara"
version = "0.1.0"
description = "Local meeting transcription and summarization app"
requires-python = ">=3.10"
dependencies = [
    "fastapi==0.115.6",
    "uvicorn==0.34.0",
    "whisperx @ git+https://github.com/m-bain/whisperX.git",
    "faster-whisper==1.2.1",
    "llama-cpp-python==0.3.4",
    "pyaudio==0.2.14",
    "numpy>=2.1.0,<2.3.0",
    "torch>=2.8.0,<2.9.0",
    "torchaudio>=2.8.0,<2.9.0",
    "pydantic==2.10.4",
    "simple-diarizer>=0.0.17",
    "soundfile>=0.13.0",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/backend"]

[tool.hatch.metadata]
allow-direct-references = true

[tool.ruff]
line-length = 100
target-version = "py310"

[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "B", "C90", "D"]
ignore = ["D100", "D101", "D102", "D103", "D104", "D105", "D106", "D107"]