[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "livekit-agents" dynamic = ["version"] description = "A powerful framework for building realtime voice AI agents" readme = "README.md" license = "Apache-2.0" requires-python = ">=3.10,<3.15" authors = [{ name = "LiveKit", email = "hello@livekit.io" }] keywords = ["webrtc", "realtime", "audio", "video", "livekit", "agents", "AI"] classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Topic :: Multimedia :: Sound/Audio", "Topic :: Multimedia :: Video", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", "Programming Language :: Python :: 3 :: Only", ] dependencies = [ "certifi>=2025.6.15", "livekit==1.1.13", "livekit-api>=1.1.1,<2", "livekit-local-inference>=0.2.6", "livekit-protocol>=1.1.18,<2", "livekit-blingfire~=1.1,<2", "protobuf>=3", "pyjwt>=2.0", "types-protobuf>=4", "psutil>=7.0", "aiohttp~=3.10", "typing-extensions>=4.12", "docstring_parser>=0.16", "eval-type-backport", "colorama>=0.4.6", "av>=14.0.0", "numpy>=1.26.0", "pydantic>=2.0,<3", "nest-asyncio>=1.6.0", "opentelemetry-api~=1.39.0", "opentelemetry-sdk~=1.39.0", "opentelemetry-exporter-otlp~=1.39.0", "prometheus-client>=0.22", "openai>=2", "aiofiles>=24", "json-repair==0.59.10", "pyyaml>=6.0.3", # Required by the deprecated rich CLI (`cli.run_app`); drop when it is removed. "typer>=0.15.1", "click~=8.1", "sounddevice>=0.5", "watchfiles>=1.0", ] [project.optional-dependencies] mcp = ["mcp>=1.24.0, <2"] codecs = ["numpy>=1.26.0"] images = ["pillow>=10.3.0"] anam = ["livekit-plugins-anam>=1.6.5"] anthropic = ["livekit-plugins-anthropic>=1.6.5"] assemblyai = ["livekit-plugins-assemblyai>=1.6.5"] asyncai = ["livekit-plugins-asyncai>=1.6.5"] avatario = ["livekit-plugins-avatario>=1.6.5"] avatartalk = ["livekit-plugins-avatartalk>=1.6.5"] aws = ["livekit-plugins-aws>=1.6.5"] azure = ["livekit-plugins-azure>=1.6.5"] baseten = ["livekit-plugins-baseten>=1.6.5"] bey = ["livekit-plugins-bey>=1.6.5"] bithuman = ["livekit-plugins-bithuman>=1.6.5"] browser = ["livekit-plugins-browser>=0.2.5"] cambai = ["livekit-plugins-cambai>=1.6.5"] cartesia = ["livekit-plugins-cartesia>=1.6.5"] cerebras = ["livekit-plugins-cerebras>=1.6.5"] clova = ["livekit-plugins-clova>=1.6.5"] deepgram = ["livekit-plugins-deepgram>=1.6.5"] elevenlabs = ["livekit-plugins-elevenlabs>=1.6.5"] fal = ["livekit-plugins-fal>=1.6.5"] fishaudio = ["livekit-plugins-fishaudio>=1.6.5"] fireworksai = ["livekit-plugins-fireworksai>=1.6.5"] gladia = ["livekit-plugins-gladia>=1.6.5"] gnani = ["livekit-plugins-gnani>=1.6.5"] google = ["livekit-plugins-google>=1.6.5"] groq = ["livekit-plugins-groq>=1.6.5"] hamming = ["livekit-plugins-hamming>=1.6.5"] hedra = ["livekit-plugins-hedra>=1.6.5"] hume = ["livekit-plugins-hume>=1.6.5"] inworld = ["livekit-plugins-inworld>=1.6.5"] keyframe = ["livekit-plugins-keyframe>=1.6.5"] langchain = ["livekit-plugins-langchain>=1.6.5"] lemonslice = ["livekit-plugins-lemonslice>=1.6.5"] liveavatar = ["livekit-plugins-liveavatar>=1.6.5"] lmnt = ["livekit-plugins-lmnt>=1.6.5"] minimax = ["livekit-plugins-minimax-ai>=1.6.5"] mistralai = ["livekit-plugins-mistralai>=1.6.5"] murf = ["livekit-plugins-murf>=1.6.5"] neuphonic = ["livekit-plugins-neuphonic>=1.6.5"] nltk = ["livekit-plugins-nltk>=1.6.5"] nvidia = ["livekit-plugins-nvidia>=1.6.5"] openai = ["livekit-plugins-openai>=1.6.5"] perplexity = ["livekit-plugins-perplexity>=1.6.5"] protoface = ["livekit-plugins-protoface>=1.6.5"] resemble = ["livekit-plugins-resemble>=1.6.5"] respeecher = ["livekit-plugins-respeecher>=1.6.5"] rime = ["livekit-plugins-rime>=1.6.5"] runway = ["livekit-plugins-runway>=1.6.5"] rtzr = ["livekit-plugins-rtzr>=1.6.5"] sarvam = ["livekit-plugins-sarvam>=1.6.5"] silero = ["livekit-plugins-silero>=1.6.5"] simli = ["livekit-plugins-simli>=1.6.5"] smallestai = ["livekit-plugins-smallestai>=1.6.5"] simplismart = ["livekit-plugins-simplismart>=1.6.5"] slng = ["livekit-plugins-slng>=1.6.5"] soniox = ["livekit-plugins-soniox>=1.6.5"] speechify = ["livekit-plugins-speechify>=1.6.5"] speechmatics = ["livekit-plugins-speechmatics>=1.6.5"] spitch = ["livekit-plugins-spitch>=1.6.5"] tavus = ["livekit-plugins-tavus>=1.6.5"] trugen = ["livekit-plugins-trugen>=1.6.5"] turn-detector = ["livekit-plugins-turn-detector>=1.6.5"] ultravox = ["livekit-plugins-ultravox>=1.6.5"] upliftai = ["livekit-plugins-upliftai>=1.6.5"] gradium = ["livekit-plugins-gradium>=1.6.5"] xai = ["livekit-plugins-xai>=1.6.5"] phonic = ["livekit-plugins-phonic>=1.6.5"] did = ["livekit-plugins-did>=1.6.5"] [project.urls] Documentation = "https://docs.livekit.io" Website = "https://livekit.io/" Source = "https://github.com/livekit/agents" [tool.hatch.version] path = "livekit/agents/version.py" [tool.hatch.build.targets.wheel] packages = ["livekit"] include = ["livekit/agents/resources/*", "livekit/agents/debug/index.html"] [tool.hatch.build.targets.sdist] include = ["/livekit"] [tool.uv] exclude-newer = "7 days" exclude-newer-package = { livekit = "0 days", livekit-api = "0 days", livekit-protocol = "0 days", livekit-blingfire = "0 days" }