[build-system] requires = ["hatchling>=1.27"] build-backend = "hatchling.build" [project] name = "tiny-hinglish-turn-detector" version = "0.1.0" description = "Tiny audio-native HOLD/END turn detection for Indian Hinglish voice agents" readme = "README.md" requires-python = ">=3.10,<3.13" license = { text = "Apache-2.0" } authors = [{ name = "Suvradeep Das" }] keywords = ["audio", "turn-detection", "hinglish", "voice-ai", "onnx"] classifiers = [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Multimedia :: Sound/Audio :: Speech", ] dependencies = [ "numpy>=1.26,<3", "soundfile>=0.12,<1", ] [project.optional-dependencies] data = [ "datasets[audio]>=3.2,<5", "huggingface-hub>=0.27,<2", "pyarrow>=17,<25", "torchcodec>=0.7,<1", "tqdm>=4.66,<5", ] train = [ "datasets[audio]>=3.2,<5", "huggingface-hub>=0.27,<2", "pyarrow>=17,<25", "PyYAML>=6,<7", "scikit-learn>=1.5,<2", "torch>=2.4,<3", "torchaudio>=2.4,<3", "torchcodec>=0.7,<1", "tqdm>=4.66,<5", "transformers>=4.47,<6", ] export = [ "onnx>=1.17,<2", "onnxruntime>=1.20,<2", ] demo = [ "gradio>=5,<7", "onnxruntime>=1.20,<2", "spaces>=0.51,<1", ] dev = [ "pytest>=8,<10", "pytest-cov>=6,<8", "ruff>=0.9,<1", ] all = [ "datasets[audio]>=3.2,<5", "gradio>=5,<7", "huggingface-hub>=0.27,<2", "onnx>=1.17,<2", "onnxruntime>=1.20,<2", "pyarrow>=17,<25", "pytest>=8,<10", "pytest-cov>=6,<8", "PyYAML>=6,<7", "ruff>=0.9,<1", "scikit-learn>=1.5,<2", "spaces>=0.51,<1", "torch>=2.4,<3", "torchaudio>=2.4,<3", "torchcodec>=0.7,<1", "tqdm>=4.66,<5", "transformers>=4.47,<6", ] [project.urls] Model = "https://huggingface.co/suvradeepp/tiny-hinglish-turn-detector" Demo = "https://huggingface.co/spaces/suvradeepp/tiny-hinglish-turn-detector" [tool.hatch.build.targets.wheel] packages = ["src/turn_detection"] [tool.pytest.ini_options] addopts = "-ra --strict-markers --strict-config" testpaths = ["tests"] pythonpath = ["src"] markers = [ "integration: exercises optional heavyweight dependencies", "slow: long-running model or data test", ] [tool.ruff] target-version = "py310" line-length = 100 extend-exclude = [ ".cache", ".venv", "artifacts", "checkpoints", "data", "release", "upload-ready", "upload-ready-*", ] [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "SIM"] ignore = ["E501"] [tool.ruff.lint.per-file-ignores] "tests/**" = ["S101"]