content: [project]
  name = "PraisonAI"
  version = "2.2.88"
  description = "PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration."
  readme = "README.md"
  license = ""
  requires-python = ">=3.10"
  authors = [
      { name = "Mervin Praison" }
  ]
  dependencies = [
      "rich>=13.7",
      "markdown>=3.5",
      "pyparsing>=3.0.0",
      "praisonaiagents>=0.0.161",
      "python-dotenv>=0.19.0",
      "instructor>=1.3.3",
      "PyYAML>=6.0",
      "mcp>=1.6.0",
  ]
  
  [project.scripts]
  praisonai = "praisonai.__main__:main"
  setup-conda-env = "praisonai.setup.setup_conda_env:main"
  praisonai-call = "praisonai.api.call:main"
  
  [project.optional-dependencies]
  ui = [
      "chainlit==2.5.5",
      "sqlalchemy>=2.0.36",
      "aiosqlite>=0.20.0",
      "greenlet>=3.0.3",
      "pydantic<=2.10.1"
  ]
  gradio = ["gradio>=4.26.0"]
  api = [
      "flask>=3.0.0",
      "fastapi>=0.115.0",
      "uvicorn>=0.34.0"
  ]
  agentops = ["agentops>=0.3.12"]
  google = ["langchain-google-genai>=2.1.0"]
  openai = ["langchain-openai>=0.2.1,<0.3.0"]
  anthropic = ["langchain-anthropic>=0.3.0"]
  cohere = ["langchain-cohere>=0.3.0,<0.4.0"]
  chat = [
      "chainlit==2.5.5",
      "litellm>=1.72.6",
      "aiosqlite>=0.20.0",
      "greenlet>=3.0.3",
      "tavily-python==0.5.0",
      "crawl4ai>=0.7.0",
      "sqlalchemy>=2.0.36",
      "playwright>=1.47.0",
      "rich",
      "pydantic<=2.10.1"
  ]
  code = [
      "chainlit==2.5.5",
      "litellm>=1.72.6",
      "aiosqlite>=0.20.0",
      "greenlet>=3.0.3",
      "tavily-python==0.5.0",
      "crawl4ai>=0.7.0",
      "sqlalchemy>=2.0.36",
      "playwright>=1.47.0",
      "pydantic<=2.10.1"
  ]
  realtime = [
      "chainlit==2.5.5",
      "litellm>=1.72.6",
      "aiosqlite>=0.20.0",
      "greenlet>=3.0.3",
      "tavily-python==0.5.0",
      "crawl4ai>=0.7.0",
      "websockets>=12.0",
      "plotly>=5.24.0",
      "yfinance>=0.2.44",
      "duckduckgo_search>=6.3.0",
      "sqlalchemy>=2.0.36"
  ]
  call = [
      "twilio>=7.0.0",
      "fastapi>=0.95.0",
      "uvicorn>=0.20.0",
      "websockets>=12.0",
      "flaml[automl]>=2.3.1",
      "pyngrok>=1.4.0",
      "rich",
      "openai>=1.54.0",
  ]
  train = []
  crewai = ["crewai>=0.157.0", "praisonai-tools>=0.0.22"]
  autogen = ["pyautogen==0.2.29", "praisonai-tools>=0.0.22", "crewai"]
  autogen-v4 = [
      "autogen-agentchat>=0.4.0", 
      "autogen-ext[openai]>=0.4.0", 
      "autogen-core>=0.4.0",
      "praisonai-tools>=0.0.22", 
      "crewai"
  ]
  
  [tool.poetry]
  name = "PraisonAI"
  version = "2.2.88"
  description = "PraisonAI is an AI Agents Framework with Self Reflection. PraisonAI application combines PraisonAI Agents, AutoGen, and CrewAI into a low-code solution for building and managing multi-agent LLM systems, focusing on simplicity, customisation, and efficient human-agent collaboration."
  authors = ["Mervin Praison"]
  license = ""
  readme = "README.md"
  
  [tool.poetry.urls]
  Homepage = "https://docs.praison.ai"
  Repository = "https://github.com/mervinpraison/PraisonAI"
  
  [tool.setuptools]
  packages = ["praisonai"]
  
  [tool.poetry.dependencies]
  python = ">=3.10,<3.13"
  rich = ">=13.7"
  markdown = ">=3.5"
  pyparsing = ">=3.0.0"
  praisonaiagents = ">=0.0.161"
  python-dotenv = ">=0.19.0"
  instructor = ">=1.3.3"
  PyYAML = ">=6.0"
  mcp = ">=1.6.0"
  pyautogen = {version = "==0.2.29", optional = true}
  autogen-agentchat = {version = ">=0.4.0", optional = true}
  autogen-ext = {version = ">=0.4.0", optional = true}
  autogen-core = {version = ">=0.4.0", optional = true}
  crewai = {version = ">=0.157.0", optional = true}
  praisonai-tools = {version = ">=0.0.22", optional = true}
  chainlit = {version = "==2.5.5", optional = true}
  gradio = {version = ">=4.26.0", optional = true}
  flask = {version = ">=3.0.0", optional = true}
  agentops = {version = ">=0.3.12", optional = true}
  langchain-google-genai = {version = ">=2.1.0", optional = true}
  langchain-anthropic = {version = ">=0.3.0", optional = true}
  langchain-openai = {version = ">=0.2.1,<0.3.0", optional = true}
  langchain-cohere = {version = ">=0.3.0,<0.4.0", optional = true}
  litellm = {version = ">=1.72.6", optional = true}
  aiosqlite= {version = ">=0.20.0", optional = true}
  greenlet = {version = ">=3.0.3", optional = true}
  tavily-python = {version = "==0.5.0", optional=true}
  crawl4ai = {version = ">=0.7.0", optional = true}
  websockets = {version = ">=12.0", optional = true}
  plotly = {version = ">=5.24.0", optional = true}
  yfinance = {version = ">=0.2.44", optional = true}
  duckduckgo_search = {version = ">=6.3.0", optional = true}
  twilio = {version = ">=7.0.0", optional = true}
  fastapi = {version = ">=0.95.0", optional = true}
  uvicorn = {version = ">=0.20.0", optional = true}
  flaml = {version = ">=2.3.1", extras = ["automl"], optional = true}
  pyngrok = {version = ">=1.4.0", optional = true}
  sqlalchemy = {version = ">=2.0.36", optional = true}
  playwright = {version = ">=1.47.0", optional = true}
  openai = {version = ">=1.54.0", optional = true}
  pydantic = {version = "<=2.10.1", optional = true}
  # unsloth = {version = ">=2024.11.7", extras = ["colab-new"], optional = true}
  
  [tool.poetry.group.docs.dependencies]
  mkdocs = "*"
  markdown-include = "*"
  mkdocs-material = "*"
  mkdocs-jupyter = "*"
  mkdocs-glightbox = "*"
  pymdown-extensions = "*"
  Pygments = "*"
  mkdocstrings = "*"
  mkdocs-apidoc = "*"
  mkdocstrings-python = "*"
  pdoc3 = "*"
  
  [tool.poetry.group.test.dependencies]
  pytest = "8.2.2"
  pytest-asyncio = ">=0.26.0"
  pre-commit = "3.7.1"
  unittest-xml-reporting = "3.2.0"
  xmlrunner = "*"
  unittest2 = "*"
  
  [tool.poetry.group.dev.dependencies]
  pytest = "8.2.2"
  pytest-asyncio = ">=0.26.0"
  pre-commit = "3.7.1"
  unittest-xml-reporting = "3.2.0"
  mkdocs = "*"
  markdown-include = "*"
  mkdocs-material = "*"
  mkdocs-jupyter = "*"
  mkdocs-glightbox = "*"
  pymdown-extensions = "*"
  Pygments = "*"
  mkdocstrings = "*"
  mkdocs-apidoc = "*"
  mkdocstrings-python = "*"
  pdoc3 = "*"
  xmlrunner = "*"
  unittest2 = "*"
  chainlit = "==2.5.5"
  gradio = ">=4.26.0"
  flask = ">=3.0.0"
  agentops = ">=0.3.12"
  langchain-google-genai = ">=2.1.0"
  langchain-anthropic = ">=0.3.0"
  langchain-openai = ">=0.2.1,<0.3.0"
  langchain-cohere = ">=0.3.0,<0.4.0"
  litellm = ">=1.72.6"
  aiosqlite = ">=0.20.0"
  greenlet = ">=3.0.3"
  
  [build-system]
  requires = [
      "poetry-core",
      "setuptools>=42",
  ]
  build-backend = "poetry.core.masonry.api"
  
  
  [tool.poetry.scripts]
  praisonai = "praisonai.__main__:main"
  setup-conda-env = "setup.setup_conda_env:main"
  praisonai-call = "praisonai.api.call:main"
  
  [tool.poetry.extras]
  ui = [
      "chainlit", 
      "aiosqlite", 
      "greenlet",
      "sqlalchemy",
      "pydantic"
  ]
  gradio = ["gradio"]
  api = ["flask"]
  agentops = ["agentops"]
  google = ["langchain-google-genai"]
  openai = ["langchain-openai"]
  anthropic = ["langchain-anthropic"]
  cohere = ["langchain-cohere"]
  chat = [
      "chainlit", 
      "litellm", 
      "aiosqlite", 
      "greenlet", 
      "tavily-python", 
      "crawl4ai",
      "sqlalchemy",
      "playwright",
      "rich",
      "pydantic"
  ]
  code = [
      "chainlit", 
      "litellm", 
      "aiosqlite", 
      "greenlet", 
      "tavily-python", 
      "crawl4ai",
      "sqlalchemy",
      "playwright",
      "pydantic"
  ]
  train = []
  realtime = [
      "chainlit", 
      "litellm", 
      "aiosqlite", 
      "greenlet", 
      "tavily-python", 
      "crawl4ai", 
      "websockets", 
      "plotly", 
      "yfinance", 
      "duckduckgo_search",
      "sqlalchemy"
  ]
  call = [
      "twilio", 
      "fastapi", 
      "uvicorn", 
      "websockets",
      "flaml", 
      "pyngrok", 
      "rich",
      "openai",
  ]
  crewai = ["crewai", "praisonai-tools"]
  autogen = ["pyautogen", "praisonai-tools", "crewai"]
  autogen-v4 = ["autogen-agentchat", "autogen-ext", "autogen-core", "praisonai-tools", "crewai"]
  
  [tool.poetry-dynamic-versioning]
  enable = true
  vcs = "git"
  style = "semver"
  
  [tool.poetry.build]
  generate-setup-file = false
  script = "praisonai/setup/post_install.py"
  