[project] name = "stt-module" version = "1.0.0" description = "Streaming STT service - speech to text via NATS using Whisper with VAD and interrupt detection" readme = "README.md" requires-python = ">=3.11" license = { text = "MIT" } authors = [{ name = "Davies Tech Labs" }] dependencies = [ "nats-py>=2.0.0,<3.0.0", "httpx>=0.20.0,<1.0.0", "msgpack", "numpy>=1.20.0,<2.0.0", "webrtcvad>=2.0.10", "setuptools<81", # required by webrtcvad for pkg_resources "opentelemetry-api", "opentelemetry-sdk", "opentelemetry-exporter-otlp-proto-grpc", "opentelemetry-exporter-otlp-proto-http", "opentelemetry-instrumentation-httpx", "opentelemetry-instrumentation-logging", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.23.0", "ruff>=0.1.0", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["."] only-include = ["stt_streaming.py", "stt_streaming_local.py", "healthcheck.py"] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "W", "I", "UP", "B", "C4", "SIM"] ignore = ["E501"] [tool.ruff.format] quote-style = "double" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" filterwarnings = ["ignore::DeprecationWarning"]