[project] name = "dukaan-saathi" version = "0.1.0" description = "Hindi-first voice + image inventory & udhaar ledger assistant for a kirana shop (Gemma-4 via llama.cpp + deepagents)" readme = "README.md" requires-python = ">=3.11,<3.13" dependencies = [ # --- UI --- "gradio>=4.44", # --- Speech --- "faster-whisper>=1.0.3", # STT (CTranslate2, bundles ffmpeg via PyAV; numpy in) "torch>=2.4", # TTS backend (veena / mms / parler) "torchaudio>=2.4", "soundfile>=0.12.1", "snac>=1.2", # SNAC neural-audio decoder for the default Veena TTS engine "scipy>=1.11", # resample_poly (avoid librosa/numba/numpy headaches) "numpy>=1.26,<2.2", # --- Vision / misc --- "pillow>=10.2", "python-dotenv>=1.0", "requests>=2.31", "httpx>=0.27", "openai>=1.40", # OpenAI-compatible client (direct vision/OCR calls) # --- Agentic framework --- "deepagents", # LangChain deep-agent framework (planning + subagents) "langchain-openai>=0.2", # ChatOpenAI -> local llama-server "langgraph>=0.2", "transformers>=5.10.1", "uroman>=1.3.1.1", "rapidfuzz>=3.14.5", "holidays>=0.98", ] [dependency-groups] dev = [ "pytest>=8.0", ] [tool.pytest.ini_options] addopts = "-q" testpaths = ["tests"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["dukaan"]