[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]                                                                                                                                                                                 
name = "roohai"                                                                                                                                                                           
version = "0.1.3"                                                                                                                                                                         
description = "Modular real-time voice agent framework with swappable STT, LLM, TTS, and VAD components"                                                                                  
requires-python = ">=3.11"                                                                                                                                                                
readme = "README.md"                                                                                                                                                                      
license = {file = "LICENSE"}                                                                                                                                                              
authors = [{name = "Fraser Sequeira"}]                                                                                                                                                    
keywords = ["voice", "ai", "stt", "tts", "llm", "vad", "real-time", "agent"]                                                                                                              
classifiers = [                                                                                                                                                                           
    "Development Status :: 3 - Alpha",                                                                                                                                                    
    "Intended Audience :: Developers",                                                                                                                                                    
    "License :: OSI Approved :: Apache Software License",                                                                                                                                 
    "Programming Language :: Python :: 3.11",                                                                                                                                             
    "Programming Language :: Python :: 3.12",                                                                                                                                             
    "Topic :: Scientific/Engineering :: Artificial Intelligence",                                                                                                                         
    "Topic :: Multimedia :: Sound/Audio :: Speech",                                                                                                                                       
]    

dependencies = [
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.32.0",
    "transformers>=4.46.0,<5.0.0",
    "torch>=2.1.0",
    "soundfile>=0.12.0",
    "numpy>=1.26.0",
    "boto3>=1.35.0",
    "python-multipart>=0.0.12",
    "sentencepiece>=0.1.99",
    "aiortc>=1.9.0",
    "av>=16.1.0",
    "aiohttp>=3.9.0",
    "huggingface-hub>=0.20.0",
    "pyyaml>=6.0",
    "silero-vad>=5.1",
    "websockets>=12.0",
]

[project.optional-dependencies]
deepgram = ["deepgram-sdk>=6.0"]
cartesia = ["cartesia"]
piper = ["piper-tts>=1.4"]
nvidia = ["nemo_toolkit[asr]"]
cloud = ["deepgram-sdk>=6.0", "cartesia"]
all = ["deepgram-sdk>=6.0", "cartesia", "piper-tts>=1.4"]

[project.scripts]                                                                                                                                                                         
roohai = "server.cli:main"

[tool.setuptools.packages.find]
include = ["roohai*", "server*"]

[tool.setuptools.package-data]
roohai = [
    "default_config.yaml",
    "frontend/*.html",
    "frontend/*.js",
    "frontend/*.css",
    "docs/*.md",
]
