agno 1.8.2__py3-none-any.whl → 2.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. agno/agent/__init__.py +19 -27
  2. agno/agent/agent.py +3143 -4170
  3. agno/api/agent.py +11 -67
  4. agno/api/api.py +5 -46
  5. agno/api/evals.py +8 -19
  6. agno/api/os.py +17 -0
  7. agno/api/routes.py +6 -41
  8. agno/api/schemas/__init__.py +9 -0
  9. agno/api/schemas/agent.py +5 -21
  10. agno/api/schemas/evals.py +7 -16
  11. agno/api/schemas/os.py +14 -0
  12. agno/api/schemas/team.py +5 -21
  13. agno/api/schemas/utils.py +21 -0
  14. agno/api/schemas/workflows.py +11 -7
  15. agno/api/settings.py +53 -0
  16. agno/api/team.py +11 -66
  17. agno/api/workflow.py +28 -0
  18. agno/cloud/aws/base.py +214 -0
  19. agno/cloud/aws/s3/__init__.py +2 -0
  20. agno/cloud/aws/s3/api_client.py +43 -0
  21. agno/cloud/aws/s3/bucket.py +195 -0
  22. agno/cloud/aws/s3/object.py +57 -0
  23. agno/db/__init__.py +24 -0
  24. agno/db/base.py +245 -0
  25. agno/db/dynamo/__init__.py +3 -0
  26. agno/db/dynamo/dynamo.py +1743 -0
  27. agno/db/dynamo/schemas.py +278 -0
  28. agno/db/dynamo/utils.py +684 -0
  29. agno/db/firestore/__init__.py +3 -0
  30. agno/db/firestore/firestore.py +1432 -0
  31. agno/db/firestore/schemas.py +130 -0
  32. agno/db/firestore/utils.py +278 -0
  33. agno/db/gcs_json/__init__.py +3 -0
  34. agno/db/gcs_json/gcs_json_db.py +1001 -0
  35. agno/db/gcs_json/utils.py +194 -0
  36. agno/db/in_memory/__init__.py +3 -0
  37. agno/db/in_memory/in_memory_db.py +882 -0
  38. agno/db/in_memory/utils.py +172 -0
  39. agno/db/json/__init__.py +3 -0
  40. agno/db/json/json_db.py +1045 -0
  41. agno/db/json/utils.py +196 -0
  42. agno/db/migrations/v1_to_v2.py +162 -0
  43. agno/db/mongo/__init__.py +3 -0
  44. agno/db/mongo/mongo.py +1416 -0
  45. agno/db/mongo/schemas.py +77 -0
  46. agno/db/mongo/utils.py +204 -0
  47. agno/db/mysql/__init__.py +3 -0
  48. agno/db/mysql/mysql.py +1719 -0
  49. agno/db/mysql/schemas.py +124 -0
  50. agno/db/mysql/utils.py +297 -0
  51. agno/db/postgres/__init__.py +3 -0
  52. agno/db/postgres/postgres.py +1710 -0
  53. agno/db/postgres/schemas.py +124 -0
  54. agno/db/postgres/utils.py +280 -0
  55. agno/db/redis/__init__.py +3 -0
  56. agno/db/redis/redis.py +1367 -0
  57. agno/db/redis/schemas.py +109 -0
  58. agno/db/redis/utils.py +288 -0
  59. agno/db/schemas/__init__.py +3 -0
  60. agno/db/schemas/evals.py +33 -0
  61. agno/db/schemas/knowledge.py +40 -0
  62. agno/db/schemas/memory.py +46 -0
  63. agno/db/singlestore/__init__.py +3 -0
  64. agno/db/singlestore/schemas.py +116 -0
  65. agno/db/singlestore/singlestore.py +1712 -0
  66. agno/db/singlestore/utils.py +326 -0
  67. agno/db/sqlite/__init__.py +3 -0
  68. agno/db/sqlite/schemas.py +119 -0
  69. agno/db/sqlite/sqlite.py +1676 -0
  70. agno/db/sqlite/utils.py +268 -0
  71. agno/db/utils.py +88 -0
  72. agno/eval/__init__.py +14 -0
  73. agno/eval/accuracy.py +154 -48
  74. agno/eval/performance.py +88 -23
  75. agno/eval/reliability.py +73 -20
  76. agno/eval/utils.py +23 -13
  77. agno/integrations/discord/__init__.py +3 -0
  78. agno/{app → integrations}/discord/client.py +10 -10
  79. agno/knowledge/__init__.py +2 -2
  80. agno/{document → knowledge}/chunking/agentic.py +2 -2
  81. agno/{document → knowledge}/chunking/document.py +2 -2
  82. agno/{document → knowledge}/chunking/fixed.py +3 -3
  83. agno/{document → knowledge}/chunking/markdown.py +2 -2
  84. agno/{document → knowledge}/chunking/recursive.py +2 -2
  85. agno/{document → knowledge}/chunking/row.py +2 -2
  86. agno/knowledge/chunking/semantic.py +59 -0
  87. agno/knowledge/chunking/strategy.py +121 -0
  88. agno/knowledge/content.py +74 -0
  89. agno/knowledge/document/__init__.py +5 -0
  90. agno/{document → knowledge/document}/base.py +12 -2
  91. agno/knowledge/embedder/__init__.py +5 -0
  92. agno/{embedder → knowledge/embedder}/aws_bedrock.py +127 -1
  93. agno/{embedder → knowledge/embedder}/azure_openai.py +65 -1
  94. agno/{embedder → knowledge/embedder}/base.py +6 -0
  95. agno/{embedder → knowledge/embedder}/cohere.py +72 -1
  96. agno/{embedder → knowledge/embedder}/fastembed.py +17 -1
  97. agno/{embedder → knowledge/embedder}/fireworks.py +1 -1
  98. agno/{embedder → knowledge/embedder}/google.py +74 -1
  99. agno/{embedder → knowledge/embedder}/huggingface.py +36 -2
  100. agno/{embedder → knowledge/embedder}/jina.py +48 -2
  101. agno/knowledge/embedder/langdb.py +22 -0
  102. agno/knowledge/embedder/mistral.py +139 -0
  103. agno/{embedder → knowledge/embedder}/nebius.py +1 -1
  104. agno/{embedder → knowledge/embedder}/ollama.py +54 -3
  105. agno/knowledge/embedder/openai.py +223 -0
  106. agno/{embedder → knowledge/embedder}/sentence_transformer.py +16 -1
  107. agno/{embedder → knowledge/embedder}/together.py +1 -1
  108. agno/{embedder → knowledge/embedder}/voyageai.py +49 -1
  109. agno/knowledge/knowledge.py +1551 -0
  110. agno/knowledge/reader/__init__.py +7 -0
  111. agno/{document → knowledge}/reader/arxiv_reader.py +32 -4
  112. agno/knowledge/reader/base.py +88 -0
  113. agno/{document → knowledge}/reader/csv_reader.py +47 -65
  114. agno/knowledge/reader/docx_reader.py +83 -0
  115. agno/{document → knowledge}/reader/firecrawl_reader.py +42 -21
  116. agno/{document → knowledge}/reader/json_reader.py +30 -9
  117. agno/{document → knowledge}/reader/markdown_reader.py +58 -9
  118. agno/{document → knowledge}/reader/pdf_reader.py +71 -126
  119. agno/knowledge/reader/reader_factory.py +268 -0
  120. agno/knowledge/reader/s3_reader.py +101 -0
  121. agno/{document → knowledge}/reader/text_reader.py +31 -10
  122. agno/knowledge/reader/url_reader.py +128 -0
  123. agno/knowledge/reader/web_search_reader.py +366 -0
  124. agno/{document → knowledge}/reader/website_reader.py +37 -10
  125. agno/knowledge/reader/wikipedia_reader.py +59 -0
  126. agno/knowledge/reader/youtube_reader.py +78 -0
  127. agno/knowledge/remote_content/remote_content.py +88 -0
  128. agno/{reranker → knowledge/reranker}/base.py +1 -1
  129. agno/{reranker → knowledge/reranker}/cohere.py +2 -2
  130. agno/{reranker → knowledge/reranker}/infinity.py +2 -2
  131. agno/{reranker → knowledge/reranker}/sentence_transformer.py +2 -2
  132. agno/knowledge/types.py +30 -0
  133. agno/knowledge/utils.py +169 -0
  134. agno/media.py +269 -268
  135. agno/memory/__init__.py +2 -10
  136. agno/memory/manager.py +1003 -148
  137. agno/models/aimlapi/__init__.py +2 -2
  138. agno/models/aimlapi/aimlapi.py +6 -6
  139. agno/models/anthropic/claude.py +128 -72
  140. agno/models/aws/bedrock.py +107 -175
  141. agno/models/aws/claude.py +64 -18
  142. agno/models/azure/ai_foundry.py +73 -23
  143. agno/models/base.py +346 -290
  144. agno/models/cerebras/cerebras.py +84 -27
  145. agno/models/cohere/chat.py +106 -98
  146. agno/models/google/gemini.py +105 -46
  147. agno/models/groq/groq.py +97 -35
  148. agno/models/huggingface/huggingface.py +92 -27
  149. agno/models/ibm/watsonx.py +72 -13
  150. agno/models/litellm/chat.py +85 -13
  151. agno/models/message.py +46 -151
  152. agno/models/meta/llama.py +85 -49
  153. agno/models/metrics.py +120 -0
  154. agno/models/mistral/mistral.py +90 -21
  155. agno/models/ollama/__init__.py +0 -2
  156. agno/models/ollama/chat.py +85 -47
  157. agno/models/openai/chat.py +154 -37
  158. agno/models/openai/responses.py +178 -105
  159. agno/models/perplexity/perplexity.py +26 -2
  160. agno/models/portkey/portkey.py +0 -7
  161. agno/models/response.py +15 -9
  162. agno/models/utils.py +20 -0
  163. agno/models/vercel/__init__.py +2 -2
  164. agno/models/vercel/v0.py +1 -1
  165. agno/models/vllm/__init__.py +2 -2
  166. agno/models/vllm/vllm.py +3 -3
  167. agno/models/xai/xai.py +10 -10
  168. agno/os/__init__.py +3 -0
  169. agno/os/app.py +497 -0
  170. agno/os/auth.py +47 -0
  171. agno/os/config.py +103 -0
  172. agno/os/interfaces/agui/__init__.py +3 -0
  173. agno/os/interfaces/agui/agui.py +31 -0
  174. agno/{app/agui/async_router.py → os/interfaces/agui/router.py} +16 -16
  175. agno/{app → os/interfaces}/agui/utils.py +65 -28
  176. agno/os/interfaces/base.py +21 -0
  177. agno/os/interfaces/slack/__init__.py +3 -0
  178. agno/{app/slack/async_router.py → os/interfaces/slack/router.py} +3 -5
  179. agno/os/interfaces/slack/slack.py +32 -0
  180. agno/os/interfaces/whatsapp/__init__.py +3 -0
  181. agno/{app/whatsapp/async_router.py → os/interfaces/whatsapp/router.py} +4 -7
  182. agno/os/interfaces/whatsapp/whatsapp.py +29 -0
  183. agno/os/mcp.py +235 -0
  184. agno/os/router.py +1400 -0
  185. agno/os/routers/__init__.py +3 -0
  186. agno/os/routers/evals/__init__.py +3 -0
  187. agno/os/routers/evals/evals.py +393 -0
  188. agno/os/routers/evals/schemas.py +142 -0
  189. agno/os/routers/evals/utils.py +161 -0
  190. agno/os/routers/knowledge/__init__.py +3 -0
  191. agno/os/routers/knowledge/knowledge.py +850 -0
  192. agno/os/routers/knowledge/schemas.py +118 -0
  193. agno/os/routers/memory/__init__.py +3 -0
  194. agno/os/routers/memory/memory.py +410 -0
  195. agno/os/routers/memory/schemas.py +58 -0
  196. agno/os/routers/metrics/__init__.py +3 -0
  197. agno/os/routers/metrics/metrics.py +178 -0
  198. agno/os/routers/metrics/schemas.py +47 -0
  199. agno/os/routers/session/__init__.py +3 -0
  200. agno/os/routers/session/session.py +536 -0
  201. agno/os/schema.py +945 -0
  202. agno/{app/playground → os}/settings.py +7 -15
  203. agno/os/utils.py +270 -0
  204. agno/reasoning/azure_ai_foundry.py +4 -4
  205. agno/reasoning/deepseek.py +4 -4
  206. agno/reasoning/default.py +6 -11
  207. agno/reasoning/groq.py +4 -4
  208. agno/reasoning/helpers.py +4 -6
  209. agno/reasoning/ollama.py +4 -4
  210. agno/reasoning/openai.py +4 -4
  211. agno/run/agent.py +633 -0
  212. agno/run/base.py +53 -77
  213. agno/run/cancel.py +81 -0
  214. agno/run/team.py +243 -96
  215. agno/run/workflow.py +550 -12
  216. agno/session/__init__.py +10 -0
  217. agno/session/agent.py +244 -0
  218. agno/session/summary.py +225 -0
  219. agno/session/team.py +262 -0
  220. agno/{storage/session/v2 → session}/workflow.py +47 -24
  221. agno/team/__init__.py +15 -16
  222. agno/team/team.py +3260 -4824
  223. agno/tools/agentql.py +14 -5
  224. agno/tools/airflow.py +9 -4
  225. agno/tools/api.py +7 -3
  226. agno/tools/apify.py +2 -46
  227. agno/tools/arxiv.py +8 -3
  228. agno/tools/aws_lambda.py +7 -5
  229. agno/tools/aws_ses.py +7 -1
  230. agno/tools/baidusearch.py +4 -1
  231. agno/tools/bitbucket.py +4 -4
  232. agno/tools/brandfetch.py +14 -11
  233. agno/tools/bravesearch.py +4 -1
  234. agno/tools/brightdata.py +43 -23
  235. agno/tools/browserbase.py +13 -4
  236. agno/tools/calcom.py +12 -10
  237. agno/tools/calculator.py +10 -27
  238. agno/tools/cartesia.py +20 -17
  239. agno/tools/{clickup_tool.py → clickup.py} +12 -25
  240. agno/tools/confluence.py +8 -8
  241. agno/tools/crawl4ai.py +7 -1
  242. agno/tools/csv_toolkit.py +9 -8
  243. agno/tools/dalle.py +22 -12
  244. agno/tools/daytona.py +13 -16
  245. agno/tools/decorator.py +6 -3
  246. agno/tools/desi_vocal.py +17 -8
  247. agno/tools/discord.py +11 -8
  248. agno/tools/docker.py +30 -42
  249. agno/tools/duckdb.py +34 -53
  250. agno/tools/duckduckgo.py +8 -7
  251. agno/tools/e2b.py +62 -62
  252. agno/tools/eleven_labs.py +36 -29
  253. agno/tools/email.py +4 -1
  254. agno/tools/evm.py +7 -1
  255. agno/tools/exa.py +19 -14
  256. agno/tools/fal.py +30 -30
  257. agno/tools/file.py +9 -8
  258. agno/tools/financial_datasets.py +25 -44
  259. agno/tools/firecrawl.py +17 -18
  260. agno/tools/function.py +127 -18
  261. agno/tools/giphy.py +23 -11
  262. agno/tools/github.py +48 -126
  263. agno/tools/gmail.py +45 -61
  264. agno/tools/google_bigquery.py +7 -6
  265. agno/tools/google_maps.py +11 -26
  266. agno/tools/googlesearch.py +7 -2
  267. agno/tools/googlesheets.py +21 -17
  268. agno/tools/hackernews.py +9 -5
  269. agno/tools/jina.py +5 -4
  270. agno/tools/jira.py +18 -9
  271. agno/tools/knowledge.py +31 -32
  272. agno/tools/linear.py +18 -33
  273. agno/tools/linkup.py +5 -1
  274. agno/tools/local_file_system.py +8 -5
  275. agno/tools/lumalab.py +32 -20
  276. agno/tools/mcp.py +1 -2
  277. agno/tools/mem0.py +18 -12
  278. agno/tools/memori.py +14 -10
  279. agno/tools/mlx_transcribe.py +3 -2
  280. agno/tools/models/azure_openai.py +33 -15
  281. agno/tools/models/gemini.py +59 -32
  282. agno/tools/models/groq.py +30 -23
  283. agno/tools/models/nebius.py +28 -12
  284. agno/tools/models_labs.py +40 -16
  285. agno/tools/moviepy_video.py +7 -6
  286. agno/tools/neo4j.py +10 -8
  287. agno/tools/newspaper.py +7 -2
  288. agno/tools/newspaper4k.py +8 -3
  289. agno/tools/openai.py +58 -32
  290. agno/tools/openbb.py +12 -11
  291. agno/tools/opencv.py +63 -47
  292. agno/tools/openweather.py +14 -12
  293. agno/tools/pandas.py +11 -3
  294. agno/tools/postgres.py +4 -12
  295. agno/tools/pubmed.py +4 -1
  296. agno/tools/python.py +9 -22
  297. agno/tools/reasoning.py +35 -27
  298. agno/tools/reddit.py +11 -26
  299. agno/tools/replicate.py +55 -42
  300. agno/tools/resend.py +4 -1
  301. agno/tools/scrapegraph.py +15 -14
  302. agno/tools/searxng.py +10 -23
  303. agno/tools/serpapi.py +6 -3
  304. agno/tools/serper.py +13 -4
  305. agno/tools/shell.py +9 -2
  306. agno/tools/slack.py +12 -11
  307. agno/tools/sleep.py +3 -2
  308. agno/tools/spider.py +24 -4
  309. agno/tools/sql.py +7 -6
  310. agno/tools/tavily.py +6 -4
  311. agno/tools/telegram.py +12 -4
  312. agno/tools/todoist.py +11 -31
  313. agno/tools/toolkit.py +1 -1
  314. agno/tools/trafilatura.py +22 -6
  315. agno/tools/trello.py +9 -22
  316. agno/tools/twilio.py +10 -3
  317. agno/tools/user_control_flow.py +6 -1
  318. agno/tools/valyu.py +34 -5
  319. agno/tools/visualization.py +19 -28
  320. agno/tools/webbrowser.py +4 -3
  321. agno/tools/webex.py +11 -7
  322. agno/tools/website.py +15 -46
  323. agno/tools/webtools.py +12 -4
  324. agno/tools/whatsapp.py +5 -9
  325. agno/tools/wikipedia.py +20 -13
  326. agno/tools/x.py +14 -13
  327. agno/tools/yfinance.py +13 -40
  328. agno/tools/youtube.py +26 -20
  329. agno/tools/zendesk.py +7 -2
  330. agno/tools/zep.py +10 -7
  331. agno/tools/zoom.py +10 -9
  332. agno/utils/common.py +1 -19
  333. agno/utils/events.py +100 -123
  334. agno/utils/gemini.py +1 -1
  335. agno/utils/knowledge.py +29 -0
  336. agno/utils/log.py +54 -4
  337. agno/utils/mcp.py +68 -10
  338. agno/utils/media.py +39 -0
  339. agno/utils/message.py +12 -1
  340. agno/utils/models/aws_claude.py +1 -1
  341. agno/utils/models/claude.py +6 -12
  342. agno/utils/models/cohere.py +1 -1
  343. agno/utils/models/mistral.py +8 -7
  344. agno/utils/models/schema_utils.py +3 -3
  345. agno/utils/models/watsonx.py +1 -1
  346. agno/utils/openai.py +1 -1
  347. agno/utils/pprint.py +33 -32
  348. agno/utils/print_response/agent.py +779 -0
  349. agno/utils/print_response/team.py +1669 -0
  350. agno/utils/print_response/workflow.py +1451 -0
  351. agno/utils/prompts.py +14 -14
  352. agno/utils/reasoning.py +87 -0
  353. agno/utils/response.py +42 -42
  354. agno/utils/streamlit.py +481 -0
  355. agno/utils/string.py +8 -22
  356. agno/utils/team.py +50 -0
  357. agno/utils/timer.py +2 -2
  358. agno/vectordb/base.py +33 -21
  359. agno/vectordb/cassandra/cassandra.py +287 -23
  360. agno/vectordb/chroma/chromadb.py +482 -59
  361. agno/vectordb/clickhouse/clickhousedb.py +270 -63
  362. agno/vectordb/couchbase/couchbase.py +309 -29
  363. agno/vectordb/lancedb/lance_db.py +360 -21
  364. agno/vectordb/langchaindb/__init__.py +5 -0
  365. agno/vectordb/langchaindb/langchaindb.py +145 -0
  366. agno/vectordb/lightrag/__init__.py +5 -0
  367. agno/vectordb/lightrag/lightrag.py +374 -0
  368. agno/vectordb/llamaindex/llamaindexdb.py +127 -0
  369. agno/vectordb/milvus/milvus.py +242 -32
  370. agno/vectordb/mongodb/mongodb.py +200 -24
  371. agno/vectordb/pgvector/pgvector.py +319 -37
  372. agno/vectordb/pineconedb/pineconedb.py +221 -27
  373. agno/vectordb/qdrant/qdrant.py +334 -14
  374. agno/vectordb/singlestore/singlestore.py +286 -29
  375. agno/vectordb/surrealdb/surrealdb.py +187 -7
  376. agno/vectordb/upstashdb/upstashdb.py +342 -26
  377. agno/vectordb/weaviate/weaviate.py +227 -165
  378. agno/workflow/__init__.py +17 -13
  379. agno/workflow/{v2/condition.py → condition.py} +135 -32
  380. agno/workflow/{v2/loop.py → loop.py} +115 -28
  381. agno/workflow/{v2/parallel.py → parallel.py} +138 -108
  382. agno/workflow/{v2/router.py → router.py} +133 -32
  383. agno/workflow/{v2/step.py → step.py} +207 -49
  384. agno/workflow/{v2/steps.py → steps.py} +147 -66
  385. agno/workflow/types.py +482 -0
  386. agno/workflow/workflow.py +2410 -696
  387. agno-2.0.0.dist-info/METADATA +494 -0
  388. agno-2.0.0.dist-info/RECORD +515 -0
  389. agno-2.0.0.dist-info/licenses/LICENSE +201 -0
  390. agno/agent/metrics.py +0 -110
  391. agno/api/app.py +0 -35
  392. agno/api/playground.py +0 -92
  393. agno/api/schemas/app.py +0 -12
  394. agno/api/schemas/playground.py +0 -22
  395. agno/api/schemas/user.py +0 -35
  396. agno/api/schemas/workspace.py +0 -46
  397. agno/api/user.py +0 -160
  398. agno/api/workflows.py +0 -33
  399. agno/api/workspace.py +0 -175
  400. agno/app/agui/__init__.py +0 -3
  401. agno/app/agui/app.py +0 -17
  402. agno/app/agui/sync_router.py +0 -120
  403. agno/app/base.py +0 -186
  404. agno/app/discord/__init__.py +0 -3
  405. agno/app/fastapi/__init__.py +0 -3
  406. agno/app/fastapi/app.py +0 -107
  407. agno/app/fastapi/async_router.py +0 -457
  408. agno/app/fastapi/sync_router.py +0 -448
  409. agno/app/playground/app.py +0 -228
  410. agno/app/playground/async_router.py +0 -1053
  411. agno/app/playground/deploy.py +0 -249
  412. agno/app/playground/operator.py +0 -183
  413. agno/app/playground/schemas.py +0 -223
  414. agno/app/playground/serve.py +0 -55
  415. agno/app/playground/sync_router.py +0 -1045
  416. agno/app/playground/utils.py +0 -46
  417. agno/app/settings.py +0 -15
  418. agno/app/slack/__init__.py +0 -3
  419. agno/app/slack/app.py +0 -19
  420. agno/app/slack/sync_router.py +0 -92
  421. agno/app/utils.py +0 -54
  422. agno/app/whatsapp/__init__.py +0 -3
  423. agno/app/whatsapp/app.py +0 -15
  424. agno/app/whatsapp/sync_router.py +0 -197
  425. agno/cli/auth_server.py +0 -249
  426. agno/cli/config.py +0 -274
  427. agno/cli/console.py +0 -88
  428. agno/cli/credentials.py +0 -23
  429. agno/cli/entrypoint.py +0 -571
  430. agno/cli/operator.py +0 -357
  431. agno/cli/settings.py +0 -96
  432. agno/cli/ws/ws_cli.py +0 -817
  433. agno/constants.py +0 -13
  434. agno/document/__init__.py +0 -5
  435. agno/document/chunking/semantic.py +0 -45
  436. agno/document/chunking/strategy.py +0 -31
  437. agno/document/reader/__init__.py +0 -5
  438. agno/document/reader/base.py +0 -47
  439. agno/document/reader/docx_reader.py +0 -60
  440. agno/document/reader/gcs/pdf_reader.py +0 -44
  441. agno/document/reader/s3/pdf_reader.py +0 -59
  442. agno/document/reader/s3/text_reader.py +0 -63
  443. agno/document/reader/url_reader.py +0 -59
  444. agno/document/reader/youtube_reader.py +0 -58
  445. agno/embedder/__init__.py +0 -5
  446. agno/embedder/langdb.py +0 -80
  447. agno/embedder/mistral.py +0 -82
  448. agno/embedder/openai.py +0 -78
  449. agno/file/__init__.py +0 -5
  450. agno/file/file.py +0 -16
  451. agno/file/local/csv.py +0 -32
  452. agno/file/local/txt.py +0 -19
  453. agno/infra/app.py +0 -240
  454. agno/infra/base.py +0 -144
  455. agno/infra/context.py +0 -20
  456. agno/infra/db_app.py +0 -52
  457. agno/infra/resource.py +0 -205
  458. agno/infra/resources.py +0 -55
  459. agno/knowledge/agent.py +0 -702
  460. agno/knowledge/arxiv.py +0 -33
  461. agno/knowledge/combined.py +0 -36
  462. agno/knowledge/csv.py +0 -144
  463. agno/knowledge/csv_url.py +0 -124
  464. agno/knowledge/document.py +0 -223
  465. agno/knowledge/docx.py +0 -137
  466. agno/knowledge/firecrawl.py +0 -34
  467. agno/knowledge/gcs/__init__.py +0 -0
  468. agno/knowledge/gcs/base.py +0 -39
  469. agno/knowledge/gcs/pdf.py +0 -125
  470. agno/knowledge/json.py +0 -137
  471. agno/knowledge/langchain.py +0 -71
  472. agno/knowledge/light_rag.py +0 -273
  473. agno/knowledge/llamaindex.py +0 -66
  474. agno/knowledge/markdown.py +0 -154
  475. agno/knowledge/pdf.py +0 -164
  476. agno/knowledge/pdf_bytes.py +0 -42
  477. agno/knowledge/pdf_url.py +0 -148
  478. agno/knowledge/s3/__init__.py +0 -0
  479. agno/knowledge/s3/base.py +0 -64
  480. agno/knowledge/s3/pdf.py +0 -33
  481. agno/knowledge/s3/text.py +0 -34
  482. agno/knowledge/text.py +0 -141
  483. agno/knowledge/url.py +0 -46
  484. agno/knowledge/website.py +0 -179
  485. agno/knowledge/wikipedia.py +0 -32
  486. agno/knowledge/youtube.py +0 -35
  487. agno/memory/agent.py +0 -423
  488. agno/memory/classifier.py +0 -104
  489. agno/memory/db/__init__.py +0 -5
  490. agno/memory/db/base.py +0 -42
  491. agno/memory/db/mongodb.py +0 -189
  492. agno/memory/db/postgres.py +0 -203
  493. agno/memory/db/sqlite.py +0 -193
  494. agno/memory/memory.py +0 -22
  495. agno/memory/row.py +0 -36
  496. agno/memory/summarizer.py +0 -201
  497. agno/memory/summary.py +0 -19
  498. agno/memory/team.py +0 -415
  499. agno/memory/v2/__init__.py +0 -2
  500. agno/memory/v2/db/__init__.py +0 -1
  501. agno/memory/v2/db/base.py +0 -42
  502. agno/memory/v2/db/firestore.py +0 -339
  503. agno/memory/v2/db/mongodb.py +0 -196
  504. agno/memory/v2/db/postgres.py +0 -214
  505. agno/memory/v2/db/redis.py +0 -187
  506. agno/memory/v2/db/schema.py +0 -54
  507. agno/memory/v2/db/sqlite.py +0 -209
  508. agno/memory/v2/manager.py +0 -437
  509. agno/memory/v2/memory.py +0 -1097
  510. agno/memory/v2/schema.py +0 -55
  511. agno/memory/v2/summarizer.py +0 -215
  512. agno/memory/workflow.py +0 -38
  513. agno/models/ollama/tools.py +0 -430
  514. agno/models/qwen/__init__.py +0 -5
  515. agno/playground/__init__.py +0 -10
  516. agno/playground/deploy.py +0 -3
  517. agno/playground/playground.py +0 -3
  518. agno/playground/serve.py +0 -3
  519. agno/playground/settings.py +0 -3
  520. agno/reranker/__init__.py +0 -0
  521. agno/run/response.py +0 -467
  522. agno/run/v2/__init__.py +0 -0
  523. agno/run/v2/workflow.py +0 -567
  524. agno/storage/__init__.py +0 -0
  525. agno/storage/agent/__init__.py +0 -0
  526. agno/storage/agent/dynamodb.py +0 -1
  527. agno/storage/agent/json.py +0 -1
  528. agno/storage/agent/mongodb.py +0 -1
  529. agno/storage/agent/postgres.py +0 -1
  530. agno/storage/agent/singlestore.py +0 -1
  531. agno/storage/agent/sqlite.py +0 -1
  532. agno/storage/agent/yaml.py +0 -1
  533. agno/storage/base.py +0 -60
  534. agno/storage/dynamodb.py +0 -673
  535. agno/storage/firestore.py +0 -297
  536. agno/storage/gcs_json.py +0 -261
  537. agno/storage/in_memory.py +0 -234
  538. agno/storage/json.py +0 -237
  539. agno/storage/mongodb.py +0 -328
  540. agno/storage/mysql.py +0 -685
  541. agno/storage/postgres.py +0 -682
  542. agno/storage/redis.py +0 -336
  543. agno/storage/session/__init__.py +0 -16
  544. agno/storage/session/agent.py +0 -64
  545. agno/storage/session/team.py +0 -63
  546. agno/storage/session/v2/__init__.py +0 -5
  547. agno/storage/session/workflow.py +0 -61
  548. agno/storage/singlestore.py +0 -606
  549. agno/storage/sqlite.py +0 -646
  550. agno/storage/workflow/__init__.py +0 -0
  551. agno/storage/workflow/mongodb.py +0 -1
  552. agno/storage/workflow/postgres.py +0 -1
  553. agno/storage/workflow/sqlite.py +0 -1
  554. agno/storage/yaml.py +0 -241
  555. agno/tools/thinking.py +0 -73
  556. agno/utils/defaults.py +0 -57
  557. agno/utils/filesystem.py +0 -39
  558. agno/utils/git.py +0 -52
  559. agno/utils/json_io.py +0 -30
  560. agno/utils/load_env.py +0 -19
  561. agno/utils/py_io.py +0 -19
  562. agno/utils/pyproject.py +0 -18
  563. agno/utils/resource_filter.py +0 -31
  564. agno/workflow/v2/__init__.py +0 -21
  565. agno/workflow/v2/types.py +0 -357
  566. agno/workflow/v2/workflow.py +0 -3313
  567. agno/workspace/__init__.py +0 -0
  568. agno/workspace/config.py +0 -325
  569. agno/workspace/enums.py +0 -6
  570. agno/workspace/helpers.py +0 -52
  571. agno/workspace/operator.py +0 -757
  572. agno/workspace/settings.py +0 -158
  573. agno-1.8.2.dist-info/METADATA +0 -982
  574. agno-1.8.2.dist-info/RECORD +0 -566
  575. agno-1.8.2.dist-info/entry_points.txt +0 -3
  576. agno-1.8.2.dist-info/licenses/LICENSE +0 -375
  577. /agno/{app → db/migrations}/__init__.py +0 -0
  578. /agno/{app/playground/__init__.py → db/schemas/metrics.py} +0 -0
  579. /agno/{cli → integrations}/__init__.py +0 -0
  580. /agno/{cli/ws → knowledge/chunking}/__init__.py +0 -0
  581. /agno/{document/chunking → knowledge/remote_content}/__init__.py +0 -0
  582. /agno/{document/reader/gcs → knowledge/reranker}/__init__.py +0 -0
  583. /agno/{document/reader/s3 → os/interfaces}/__init__.py +0 -0
  584. /agno/{app → os/interfaces}/slack/security.py +0 -0
  585. /agno/{app → os/interfaces}/whatsapp/security.py +0 -0
  586. /agno/{file/local → utils/print_response}/__init__.py +0 -0
  587. /agno/{infra → vectordb/llamaindex}/__init__.py +0 -0
  588. {agno-1.8.2.dist-info → agno-2.0.0.dist-info}/WHEEL +0 -0
  589. {agno-1.8.2.dist-info → agno-2.0.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,494 @@
1
+ Metadata-Version: 2.4
2
+ Name: agno
3
+ Version: 2.0.0
4
+ Summary: Agno: a lightweight library for building Multi-Agent Systems
5
+ Author-email: Ashpreet Bedi <ashpreet@agno.com>
6
+ Project-URL: homepage, https://agno.com
7
+ Project-URL: documentation, https://docs.agno.com
8
+ Keywords: agent,reasoning,llm,large-language-model,framework
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.7
14
+ Classifier: Programming Language :: Python :: 3.8
15
+ Classifier: Programming Language :: Python :: 3.9
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
+ Requires-Python: <4,>=3.7
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: docstring-parser
25
+ Requires-Dist: gitpython
26
+ Requires-Dist: httpx
27
+ Requires-Dist: packaging
28
+ Requires-Dist: pydantic-settings
29
+ Requires-Dist: pydantic
30
+ Requires-Dist: python-dotenv
31
+ Requires-Dist: python-multipart
32
+ Requires-Dist: pyyaml
33
+ Requires-Dist: rich
34
+ Requires-Dist: typer
35
+ Requires-Dist: typing-extensions
36
+ Provides-Extra: dev
37
+ Requires-Dist: mypy; extra == "dev"
38
+ Requires-Dist: pytest; extra == "dev"
39
+ Requires-Dist: pytest-asyncio; extra == "dev"
40
+ Requires-Dist: pytest-cov; extra == "dev"
41
+ Requires-Dist: pytest-mock; extra == "dev"
42
+ Requires-Dist: ruff; extra == "dev"
43
+ Requires-Dist: timeout-decorator; extra == "dev"
44
+ Requires-Dist: types-pyyaml; extra == "dev"
45
+ Requires-Dist: types-aiofiles; extra == "dev"
46
+ Requires-Dist: fastapi; extra == "dev"
47
+ Requires-Dist: uvicorn; extra == "dev"
48
+ Provides-Extra: os
49
+ Requires-Dist: fastapi; extra == "os"
50
+ Requires-Dist: uvicorn; extra == "os"
51
+ Provides-Extra: integration-tests
52
+ Requires-Dist: exa_py; extra == "integration-tests"
53
+ Requires-Dist: ddgs; extra == "integration-tests"
54
+ Requires-Dist: yfinance; extra == "integration-tests"
55
+ Requires-Dist: sqlalchemy; extra == "integration-tests"
56
+ Requires-Dist: Pillow; extra == "integration-tests"
57
+ Provides-Extra: opentelemetry
58
+ Requires-Dist: opentelemetry-sdk; extra == "opentelemetry"
59
+ Requires-Dist: opentelemetry-exporter-otlp; extra == "opentelemetry"
60
+ Provides-Extra: weave
61
+ Requires-Dist: weave; extra == "weave"
62
+ Provides-Extra: openlit
63
+ Requires-Dist: openlit; extra == "openlit"
64
+ Requires-Dist: agno[opentelemetry]; extra == "openlit"
65
+ Provides-Extra: arize
66
+ Requires-Dist: arize-phoenix; extra == "arize"
67
+ Requires-Dist: agno[opentelemetry]; extra == "arize"
68
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc; extra == "arize"
69
+ Requires-Dist: opentelemetry-distro; extra == "arize"
70
+ Provides-Extra: langfuse
71
+ Requires-Dist: langfuse; extra == "langfuse"
72
+ Provides-Extra: aws-bedrock
73
+ Requires-Dist: boto3; extra == "aws-bedrock"
74
+ Requires-Dist: aioboto3; extra == "aws-bedrock"
75
+ Provides-Extra: anthropic
76
+ Requires-Dist: anthropic; extra == "anthropic"
77
+ Provides-Extra: azure
78
+ Requires-Dist: azure-ai-inference; extra == "azure"
79
+ Requires-Dist: aiohttp; extra == "azure"
80
+ Provides-Extra: cerebras
81
+ Requires-Dist: cerebras-cloud-sdk; extra == "cerebras"
82
+ Provides-Extra: cohere
83
+ Requires-Dist: cohere; extra == "cohere"
84
+ Provides-Extra: infinity
85
+ Requires-Dist: infinity_client; extra == "infinity"
86
+ Provides-Extra: google
87
+ Requires-Dist: google-genai; extra == "google"
88
+ Provides-Extra: groq
89
+ Requires-Dist: groq; extra == "groq"
90
+ Provides-Extra: ibm
91
+ Requires-Dist: ibm-watsonx-ai; extra == "ibm"
92
+ Provides-Extra: litellm
93
+ Requires-Dist: litellm; extra == "litellm"
94
+ Provides-Extra: lmstudio
95
+ Requires-Dist: lmstudio; extra == "lmstudio"
96
+ Provides-Extra: meta
97
+ Requires-Dist: llama-api-client; extra == "meta"
98
+ Provides-Extra: mistral
99
+ Requires-Dist: mistralai; extra == "mistral"
100
+ Provides-Extra: ollama
101
+ Requires-Dist: ollama; extra == "ollama"
102
+ Provides-Extra: openai
103
+ Requires-Dist: openai; extra == "openai"
104
+ Provides-Extra: portkey
105
+ Requires-Dist: portkey-ai; extra == "portkey"
106
+ Provides-Extra: agentql
107
+ Requires-Dist: agentql; extra == "agentql"
108
+ Provides-Extra: apify
109
+ Requires-Dist: apify-client; extra == "apify"
110
+ Provides-Extra: arxiv
111
+ Requires-Dist: arxiv; extra == "arxiv"
112
+ Provides-Extra: brave
113
+ Requires-Dist: brave-search; extra == "brave"
114
+ Provides-Extra: browserbase
115
+ Requires-Dist: browserbase; extra == "browserbase"
116
+ Requires-Dist: playwright; extra == "browserbase"
117
+ Provides-Extra: cartesia
118
+ Requires-Dist: cartesia; extra == "cartesia"
119
+ Provides-Extra: confluence
120
+ Requires-Dist: atlassian-python-api; extra == "confluence"
121
+ Provides-Extra: ddg
122
+ Requires-Dist: ddgs; extra == "ddg"
123
+ Provides-Extra: duckdb
124
+ Requires-Dist: duckdb; extra == "duckdb"
125
+ Provides-Extra: elevenlabs
126
+ Requires-Dist: elevenlabs; extra == "elevenlabs"
127
+ Provides-Extra: evm
128
+ Requires-Dist: web3; extra == "evm"
129
+ Provides-Extra: exa
130
+ Requires-Dist: exa_py; extra == "exa"
131
+ Provides-Extra: fal
132
+ Requires-Dist: fal_client; extra == "fal"
133
+ Provides-Extra: firecrawl
134
+ Requires-Dist: firecrawl-py; extra == "firecrawl"
135
+ Provides-Extra: crawl4ai
136
+ Requires-Dist: crawl4ai; extra == "crawl4ai"
137
+ Provides-Extra: github
138
+ Requires-Dist: PyGithub; extra == "github"
139
+ Provides-Extra: gmail
140
+ Requires-Dist: google-api-python-client; extra == "gmail"
141
+ Requires-Dist: google-auth-httplib2; extra == "gmail"
142
+ Requires-Dist: google-auth-oauthlib; extra == "gmail"
143
+ Provides-Extra: google-bigquery
144
+ Requires-Dist: google-cloud-bigquery; extra == "google-bigquery"
145
+ Provides-Extra: googlemaps
146
+ Requires-Dist: googlemaps; extra == "googlemaps"
147
+ Requires-Dist: google-maps-places; extra == "googlemaps"
148
+ Provides-Extra: matplotlib
149
+ Requires-Dist: matplotlib; extra == "matplotlib"
150
+ Provides-Extra: mcp
151
+ Requires-Dist: mcp; extra == "mcp"
152
+ Provides-Extra: mem0
153
+ Requires-Dist: mem0ai; extra == "mem0"
154
+ Provides-Extra: memori
155
+ Requires-Dist: memorisdk; extra == "memori"
156
+ Provides-Extra: newspaper
157
+ Requires-Dist: newspaper4k; extra == "newspaper"
158
+ Requires-Dist: lxml_html_clean; extra == "newspaper"
159
+ Provides-Extra: opencv
160
+ Requires-Dist: opencv-python; extra == "opencv"
161
+ Provides-Extra: psycopg
162
+ Requires-Dist: psycopg-binary; extra == "psycopg"
163
+ Requires-Dist: psycopg; extra == "psycopg"
164
+ Provides-Extra: todoist
165
+ Requires-Dist: todoist-api-python; extra == "todoist"
166
+ Provides-Extra: valyu
167
+ Requires-Dist: valyu; extra == "valyu"
168
+ Provides-Extra: webex
169
+ Requires-Dist: webexpythonsdk; extra == "webex"
170
+ Provides-Extra: yfinance
171
+ Requires-Dist: yfinance; extra == "yfinance"
172
+ Provides-Extra: youtube
173
+ Requires-Dist: youtube_transcript_api; extra == "youtube"
174
+ Provides-Extra: zep
175
+ Requires-Dist: zep-cloud; extra == "zep"
176
+ Provides-Extra: daytona
177
+ Requires-Dist: daytona; extra == "daytona"
178
+ Provides-Extra: oxylabs
179
+ Requires-Dist: oxylabs; extra == "oxylabs"
180
+ Provides-Extra: trafilatura
181
+ Requires-Dist: trafilatura; extra == "trafilatura"
182
+ Provides-Extra: neo4j
183
+ Requires-Dist: neo4j; extra == "neo4j"
184
+ Provides-Extra: sql
185
+ Requires-Dist: sqlalchemy; extra == "sql"
186
+ Provides-Extra: postgres
187
+ Requires-Dist: psycopg-binary; extra == "postgres"
188
+ Provides-Extra: sqlite
189
+ Requires-Dist: sqlalchemy; extra == "sqlite"
190
+ Provides-Extra: gcs
191
+ Requires-Dist: google-cloud-storage; extra == "gcs"
192
+ Provides-Extra: firestore
193
+ Requires-Dist: google-cloud-firestore; extra == "firestore"
194
+ Provides-Extra: redis
195
+ Requires-Dist: redis; extra == "redis"
196
+ Provides-Extra: pgvector
197
+ Requires-Dist: pgvector; extra == "pgvector"
198
+ Provides-Extra: chromadb
199
+ Requires-Dist: chromadb; extra == "chromadb"
200
+ Provides-Extra: lancedb
201
+ Requires-Dist: lancedb>=0.24.0; extra == "lancedb"
202
+ Requires-Dist: tantivy; extra == "lancedb"
203
+ Provides-Extra: pylance
204
+ Requires-Dist: pylance; extra == "pylance"
205
+ Provides-Extra: qdrant
206
+ Requires-Dist: qdrant-client; extra == "qdrant"
207
+ Provides-Extra: couchbase
208
+ Requires-Dist: couchbase; extra == "couchbase"
209
+ Provides-Extra: cassandra
210
+ Requires-Dist: cassio; extra == "cassandra"
211
+ Provides-Extra: mongodb
212
+ Requires-Dist: pymongo[srv]; extra == "mongodb"
213
+ Provides-Extra: singlestore
214
+ Requires-Dist: sqlalchemy; extra == "singlestore"
215
+ Provides-Extra: weaviate
216
+ Requires-Dist: weaviate-client; extra == "weaviate"
217
+ Provides-Extra: milvusdb
218
+ Requires-Dist: pymilvus>=2.5.10; extra == "milvusdb"
219
+ Provides-Extra: clickhouse
220
+ Requires-Dist: clickhouse-connect; extra == "clickhouse"
221
+ Provides-Extra: pinecone
222
+ Requires-Dist: pinecone==5.4.2; extra == "pinecone"
223
+ Provides-Extra: surrealdb
224
+ Requires-Dist: surrealdb>=1.0.4; extra == "surrealdb"
225
+ Provides-Extra: upstash
226
+ Requires-Dist: upstash-vector; extra == "upstash"
227
+ Provides-Extra: pdf
228
+ Requires-Dist: pypdf; extra == "pdf"
229
+ Requires-Dist: rapidocr_onnxruntime; extra == "pdf"
230
+ Provides-Extra: docx
231
+ Requires-Dist: python-docx; extra == "docx"
232
+ Provides-Extra: text
233
+ Requires-Dist: aiofiles; extra == "text"
234
+ Provides-Extra: csv
235
+ Requires-Dist: aiofiles; extra == "csv"
236
+ Provides-Extra: markdown
237
+ Requires-Dist: unstructured; extra == "markdown"
238
+ Requires-Dist: markdown; extra == "markdown"
239
+ Requires-Dist: aiofiles; extra == "markdown"
240
+ Provides-Extra: chonkie
241
+ Requires-Dist: chonkie[st]; extra == "chonkie"
242
+ Requires-Dist: chonkie; extra == "chonkie"
243
+ Provides-Extra: agui
244
+ Requires-Dist: ag-ui-protocol; extra == "agui"
245
+ Provides-Extra: huggingface
246
+ Requires-Dist: huggingface-hub; extra == "huggingface"
247
+ Provides-Extra: performance
248
+ Requires-Dist: memory_profiler; extra == "performance"
249
+ Provides-Extra: cookbooks
250
+ Requires-Dist: inquirer; extra == "cookbooks"
251
+ Requires-Dist: email_validator; extra == "cookbooks"
252
+ Provides-Extra: docker
253
+ Requires-Dist: agno-infra[docker]; extra == "docker"
254
+ Provides-Extra: aws
255
+ Requires-Dist: agno-infra[aws]; extra == "aws"
256
+ Requires-Dist: agno-infra[docker]; extra == "aws"
257
+ Provides-Extra: infra
258
+ Requires-Dist: agno-infra; extra == "infra"
259
+ Provides-Extra: models
260
+ Requires-Dist: agno[aws-bedrock]; extra == "models"
261
+ Requires-Dist: agno[anthropic]; extra == "models"
262
+ Requires-Dist: agno[azure]; extra == "models"
263
+ Requires-Dist: agno[cerebras]; extra == "models"
264
+ Requires-Dist: agno[cohere]; extra == "models"
265
+ Requires-Dist: agno[infinity]; extra == "models"
266
+ Requires-Dist: agno[google]; extra == "models"
267
+ Requires-Dist: agno[groq]; extra == "models"
268
+ Requires-Dist: agno[ibm]; extra == "models"
269
+ Requires-Dist: agno[infinity]; extra == "models"
270
+ Requires-Dist: agno[litellm]; extra == "models"
271
+ Requires-Dist: agno[meta]; extra == "models"
272
+ Requires-Dist: agno[mistral]; extra == "models"
273
+ Requires-Dist: agno[ollama]; extra == "models"
274
+ Requires-Dist: agno[openai]; extra == "models"
275
+ Requires-Dist: agno[portkey]; extra == "models"
276
+ Provides-Extra: tools
277
+ Requires-Dist: agno[apify]; extra == "tools"
278
+ Requires-Dist: agno[arxiv]; extra == "tools"
279
+ Requires-Dist: agno[brave]; extra == "tools"
280
+ Requires-Dist: agno[exa]; extra == "tools"
281
+ Requires-Dist: agno[cartesia]; extra == "tools"
282
+ Requires-Dist: agno[ddg]; extra == "tools"
283
+ Requires-Dist: agno[duckdb]; extra == "tools"
284
+ Requires-Dist: agno[newspaper]; extra == "tools"
285
+ Requires-Dist: agno[youtube]; extra == "tools"
286
+ Requires-Dist: agno[firecrawl]; extra == "tools"
287
+ Requires-Dist: agno[crawl4ai]; extra == "tools"
288
+ Requires-Dist: agno[github]; extra == "tools"
289
+ Requires-Dist: agno[gmail]; extra == "tools"
290
+ Requires-Dist: agno[googlemaps]; extra == "tools"
291
+ Requires-Dist: agno[todoist]; extra == "tools"
292
+ Requires-Dist: agno[matplotlib]; extra == "tools"
293
+ Requires-Dist: agno[elevenlabs]; extra == "tools"
294
+ Requires-Dist: agno[evm]; extra == "tools"
295
+ Requires-Dist: agno[fal]; extra == "tools"
296
+ Requires-Dist: agno[webex]; extra == "tools"
297
+ Requires-Dist: agno[mcp]; extra == "tools"
298
+ Requires-Dist: agno[browserbase]; extra == "tools"
299
+ Requires-Dist: agno[agentql]; extra == "tools"
300
+ Requires-Dist: agno[opencv]; extra == "tools"
301
+ Requires-Dist: agno[valyu]; extra == "tools"
302
+ Requires-Dist: agno[confluence]; extra == "tools"
303
+ Requires-Dist: agno[oxylabs]; extra == "tools"
304
+ Requires-Dist: agno[zep]; extra == "tools"
305
+ Requires-Dist: agno[mem0]; extra == "tools"
306
+ Requires-Dist: agno[memori]; extra == "tools"
307
+ Requires-Dist: agno[google_bigquery]; extra == "tools"
308
+ Requires-Dist: agno[psycopg]; extra == "tools"
309
+ Requires-Dist: agno[trafilatura]; extra == "tools"
310
+ Requires-Dist: agno[neo4j]; extra == "tools"
311
+ Provides-Extra: storage
312
+ Requires-Dist: agno[sql]; extra == "storage"
313
+ Requires-Dist: agno[postgres]; extra == "storage"
314
+ Requires-Dist: agno[sqlite]; extra == "storage"
315
+ Requires-Dist: agno[gcs]; extra == "storage"
316
+ Requires-Dist: agno[firestore]; extra == "storage"
317
+ Requires-Dist: agno[redis]; extra == "storage"
318
+ Provides-Extra: vectordbs
319
+ Requires-Dist: agno[pgvector]; extra == "vectordbs"
320
+ Requires-Dist: agno[chromadb]; extra == "vectordbs"
321
+ Requires-Dist: agno[lancedb]; extra == "vectordbs"
322
+ Requires-Dist: agno[qdrant]; extra == "vectordbs"
323
+ Requires-Dist: agno[couchbase]; extra == "vectordbs"
324
+ Requires-Dist: agno[cassandra]; extra == "vectordbs"
325
+ Requires-Dist: agno[mongodb]; extra == "vectordbs"
326
+ Requires-Dist: agno[singlestore]; extra == "vectordbs"
327
+ Requires-Dist: agno[weaviate]; extra == "vectordbs"
328
+ Requires-Dist: agno[milvusdb]; extra == "vectordbs"
329
+ Requires-Dist: agno[clickhouse]; extra == "vectordbs"
330
+ Requires-Dist: agno[pinecone]; extra == "vectordbs"
331
+ Requires-Dist: agno[surrealdb]; extra == "vectordbs"
332
+ Requires-Dist: agno[upstash]; extra == "vectordbs"
333
+ Provides-Extra: knowledge
334
+ Requires-Dist: agno[pdf]; extra == "knowledge"
335
+ Requires-Dist: agno[docx]; extra == "knowledge"
336
+ Requires-Dist: agno[text]; extra == "knowledge"
337
+ Requires-Dist: agno[csv]; extra == "knowledge"
338
+ Requires-Dist: agno[markdown]; extra == "knowledge"
339
+ Requires-Dist: agno[chonkie]; extra == "knowledge"
340
+ Provides-Extra: embedders
341
+ Requires-Dist: agno[huggingface]; extra == "embedders"
342
+ Provides-Extra: tests
343
+ Requires-Dist: agno[dev]; extra == "tests"
344
+ Requires-Dist: agno[models]; extra == "tests"
345
+ Requires-Dist: agno[tools]; extra == "tests"
346
+ Requires-Dist: agno[storage]; extra == "tests"
347
+ Requires-Dist: agno[vectordbs]; extra == "tests"
348
+ Requires-Dist: agno[knowledge]; extra == "tests"
349
+ Requires-Dist: agno[embedders]; extra == "tests"
350
+ Requires-Dist: agno[performance]; extra == "tests"
351
+ Requires-Dist: agno[cookbooks]; extra == "tests"
352
+ Requires-Dist: agno[agui]; extra == "tests"
353
+ Requires-Dist: twine; extra == "tests"
354
+ Requires-Dist: build; extra == "tests"
355
+ Dynamic: license-file
356
+
357
+ <div align="center" id="top">
358
+ <a href="https://docs.agno.com">
359
+ <picture>
360
+ <source media="(prefers-color-scheme: dark)" srcset="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-dark.svg">
361
+ <source media="(prefers-color-scheme: light)" srcset="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-light.svg">
362
+ <img src="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-light.svg" alt="Agno">
363
+ </picture>
364
+ </a>
365
+ </div>
366
+ <div align="center">
367
+ <a href="https://docs.agno.com">📚 Documentation</a> &nbsp;|&nbsp;
368
+ <a href="https://docs.agno.com/examples/introduction">💡 Examples</a> &nbsp;|&nbsp;
369
+ <a href="https://github.com/agno-agi/agno/stargazers">🌟 Star Us</a>
370
+ </div>
371
+
372
+ ## What is Agno?
373
+
374
+ [Agno](https://docs.agno.com) is a high-performance runtime for multi-agent systems. Use it to build, run and manage secure multi-agent systems in your cloud.
375
+
376
+ Agno gives you the fastest framework for building agents with session management, memory, knowledge, human in the loop and MCP support. You can put agents together as an autonomous multi-agent team, or build step-based agentic workflows for full control over complex multi-step processes.
377
+
378
+ In 10 lines of code, we can build an Agent that will fetch the top stories from HackerNews and summarize them.
379
+
380
+ ```python hackernews_agent.py
381
+ from agno.agent import Agent
382
+ from agno.models.anthropic import Claude
383
+ from agno.tools.hackernews import HackerNewsTools
384
+
385
+ agent = Agent(
386
+ model=Claude(id="claude-sonnet-4-0"),
387
+ tools=[HackerNewsTools()],
388
+ markdown=True,
389
+ )
390
+ agent.print_response("Summarize the top 5 stories on hackernews", stream=True)
391
+ ```
392
+
393
+ But the real advantage of Agno is its [AgentOS](https://docs.agno.com/agent-os/introduction) runtime:
394
+
395
+ 1. You get a pre-built FastAPI app for running your agentic system, meaning you start building your product on day one. This is a remarkable advantage over other solutions or rolling your own.
396
+ 2. You also get a control plane which connects directly to your AgentOS for testing, monitoring and managing your system. This gives you unmatched visibility and control over your system.
397
+ 3. Your AgentOS runs in your cloud and you get complete data privacy because no data ever leaves your system. This is incredible for security conscious enterprises that can't send traces to external services.
398
+
399
+ For organizations building agents, Agno provides the complete solution. You get the fastest framework for building agents (speed of development and execution), a pre-built FastAPI app that lets you build your product on day one, and a control plane for managing your system.
400
+
401
+ We bring a novel architecture that no other framework provides, your AgentOS runs securely in your cloud, and the control plane connects directly to it from your browser. You don't need to send data to external services or pay retention costs, you get complete privacy and control.
402
+
403
+ ## Getting started
404
+
405
+ If you're new to Agno, follow our [quickstart](https://docs.agno.com/introduction/quickstart) to build your first Agent and run it using the AgentOS.
406
+
407
+ After that, checkout the [examples gallery](https://docs.agno.com/examples/introduction) and build real-world applications with Agno.
408
+
409
+ ## Documentation, Community & More examples
410
+
411
+ - Docs: <a href="https://docs.agno.com" target="_blank" rel="noopener noreferrer">docs.agno.com</a>
412
+ - Cookbook: <a href="https://github.com/agno-agi/agno/tree/main/cookbook" target="_blank" rel="noopener noreferrer">Cookbook</a>
413
+ - Community forum: <a href="https://community.agno.com/" target="_blank" rel="noopener noreferrer">community.agno.com</a>
414
+ - Discord: <a href="https://discord.gg/4MtYHHrgA8" target="_blank" rel="noopener noreferrer">discord</a>
415
+
416
+ ## Setup your coding agent to use Agno
417
+
418
+ For LLMs and AI assistants to understand and navigate Agno's documentation, we provide an [llms.txt](https://docs.agno.com/llms.txt) or [llms-full.txt](https://docs.agno.com/llms-full.txt) file.
419
+
420
+ This file is built for AI systems to efficiently parse and reference our documentation.
421
+
422
+ ### IDE Integration
423
+
424
+ When building Agno agents, using Agno documentation as a source in your IDE is a great way to speed up your development. Here's how to integrate with Cursor:
425
+
426
+ 1. In Cursor, go to the "Cursor Settings" menu.
427
+ 2. Find the "Indexing & Docs" section.
428
+ 3. Add `https://docs.agno.com/llms-full.txt` to the list of documentation URLs.
429
+ 4. Save the changes.
430
+
431
+ Now, Cursor will have access to the Agno documentation. You can do the same with other IDEs like VSCode, Windsurf etc.
432
+
433
+ ## Performance
434
+
435
+ At Agno, we're obsessed with performance. Why? because even simple AI workflows can spawn thousands of Agents. Scale that to a modest number of users and performance becomes a bottleneck. Agno is designed for building highly performant agentic systems:
436
+
437
+ - Agent instantiation: ~3μs on average
438
+ - Memory footprint: ~6.5Kib on average
439
+
440
+ > Tested on an Apple M4 Mackbook Pro.
441
+
442
+ While an Agent's run-time is bottlenecked by inference, we must do everything possible to minimize execution time, reduce memory usage, and parallelize tool calls. These numbers may seem trivial at first, but our experience shows that they add up even at a reasonably small scale.
443
+
444
+ ### Instantiation time
445
+
446
+ Let's measure the time it takes for an Agent with 1 tool to start up. We'll run the evaluation 1000 times to get a baseline measurement.
447
+
448
+ You should run the evaluation yourself on your own machine, please, do not take these results at face value.
449
+
450
+ ```shell
451
+ # Setup virtual environment
452
+ ./scripts/perf_setup.sh
453
+ source .venvs/perfenv/bin/activate
454
+ # OR Install dependencies manually
455
+ # pip install openai agno langgraph langchain_openai
456
+
457
+ # Agno
458
+ python evals/performance/instantiation_with_tool.py
459
+
460
+ # LangGraph
461
+ python evals/performance/other/langgraph_instantiation.py
462
+ ```
463
+
464
+ > The following evaluation is run on an Apple M4 Mackbook Pro. It also runs as a Github action on this repo.
465
+
466
+ LangGraph is on the right, **let's start it first and give it a head start**.
467
+
468
+ Agno is on the left, notice how it finishes before LangGraph gets 1/2 way through the runtime measurement, and hasn't even started the memory measurement. That's how fast Agno is.
469
+
470
+ https://github.com/user-attachments/assets/ba466d45-75dd-45ac-917b-0a56c5742e23
471
+
472
+ ### Memory usage
473
+
474
+ To measure memory usage, we use the `tracemalloc` library. We first calculate a baseline memory usage by running an empty function, then run the Agent 1000x times and calculate the difference. This gives a (reasonably) isolated measurement of the memory usage of the Agent.
475
+
476
+ We recommend running the evaluation yourself on your own machine, and digging into the code to see how it works. If we've made a mistake, please let us know.
477
+
478
+ ### Conclusion
479
+
480
+ Agno agents are designed for performance and while we do share some benchmarks against other frameworks, we should be mindful that accuracy and reliability are more important than speed.
481
+
482
+ Given that each framework is different and we won't be able to tune their performance like we do with Agno, for future benchmarks we'll only be comparing against ourselves.
483
+
484
+ ## Contributions
485
+
486
+ We welcome contributions, read our [contributing guide](https://github.com/agno-agi/agno/blob/v2.0/CONTRIBUTING.md) to get started.
487
+
488
+ ## Telemetry
489
+
490
+ Agno logs which model an agent used so we can prioritize updates to the most popular providers. You can disable this by setting `AGNO_TELEMETRY=false` in your environment.
491
+
492
+ <p align="left">
493
+ <a href="#top">⬆️ Back to Top</a>
494
+ </p>