agno 2.3.26__tar.gz → 2.4.0__tar.gz
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.
- {agno-2.3.26 → agno-2.4.0}/PKG-INFO +46 -76
- agno-2.4.0/README.md +134 -0
- {agno-2.3.26 → agno-2.4.0}/agno/agent/__init__.py +4 -0
- {agno-2.3.26 → agno-2.4.0}/agno/agent/agent.py +1368 -541
- {agno-2.3.26 → agno-2.4.0}/agno/agent/remote.py +13 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/base.py +339 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/postgres/async_postgres.py +116 -12
- {agno-2.3.26 → agno-2.4.0}/agno/db/postgres/postgres.py +1229 -25
- {agno-2.3.26 → agno-2.4.0}/agno/db/postgres/schemas.py +48 -1
- {agno-2.3.26 → agno-2.4.0}/agno/db/sqlite/async_sqlite.py +119 -4
- {agno-2.3.26 → agno-2.4.0}/agno/db/sqlite/schemas.py +51 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/sqlite/sqlite.py +1173 -13
- {agno-2.3.26 → agno-2.4.0}/agno/db/utils.py +37 -1
- agno-2.4.0/agno/knowledge/__init__.py +9 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/code.py +1 -1
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/semantic.py +1 -1
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/strategy.py +4 -0
- agno-2.4.0/agno/knowledge/filesystem.py +412 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/knowledge.py +2767 -2254
- agno-2.4.0/agno/knowledge/protocol.py +134 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/arxiv_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/base.py +9 -7
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/csv_reader.py +5 -5
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/docx_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/field_labeled_csv_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/firecrawl_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/json_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/markdown_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/pdf_reader.py +5 -4
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/pptx_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/reader_factory.py +110 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/s3_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/tavily_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/text_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/web_search_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/website_reader.py +5 -3
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/wikipedia_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/youtube_reader.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/utils.py +37 -29
- {agno-2.3.26 → agno-2.4.0}/agno/learn/__init__.py +6 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/machine.py +35 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/schemas.py +82 -11
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/__init__.py +3 -0
- agno-2.4.0/agno/learn/stores/decision_log.py +1156 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/learned_knowledge.py +6 -6
- {agno-2.3.26 → agno-2.4.0}/agno/models/anthropic/claude.py +24 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/aws/bedrock.py +20 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/base.py +48 -4
- {agno-2.3.26 → agno-2.4.0}/agno/models/cohere/chat.py +25 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/google/gemini.py +50 -5
- {agno-2.3.26 → agno-2.4.0}/agno/models/litellm/chat.py +38 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/openai/chat.py +7 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/openrouter/openrouter.py +46 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/response.py +16 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/app.py +83 -44
- {agno-2.3.26 → agno-2.4.0}/agno/os/middleware/__init__.py +2 -0
- agno-2.4.0/agno/os/middleware/trailing_slash.py +27 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/router.py +1 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/agents/router.py +29 -16
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/agents/schema.py +6 -4
- agno-2.4.0/agno/os/routers/components/__init__.py +3 -0
- agno-2.4.0/agno/os/routers/components/components.py +466 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/evals/schemas.py +4 -3
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/health.py +3 -3
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/knowledge/knowledge.py +3 -3
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/memory/schemas.py +4 -2
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/metrics/metrics.py +9 -11
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/metrics/schemas.py +10 -6
- agno-2.4.0/agno/os/routers/registry/__init__.py +3 -0
- agno-2.4.0/agno/os/routers/registry/registry.py +337 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/teams/router.py +20 -8
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/teams/schema.py +6 -4
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/traces/traces.py +5 -5
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/workflows/router.py +38 -11
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/workflows/schema.py +1 -1
- {agno-2.3.26 → agno-2.4.0}/agno/os/schema.py +92 -26
- {agno-2.3.26 → agno-2.4.0}/agno/os/utils.py +84 -19
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/anthropic.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/azure_ai_foundry.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/deepseek.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/default.py +6 -7
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/gemini.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/helpers.py +6 -7
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/manager.py +4 -10
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/ollama.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/openai.py +2 -2
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/vertexai.py +2 -2
- agno-2.4.0/agno/registry/__init__.py +3 -0
- agno-2.4.0/agno/registry/registry.py +68 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/agent.py +57 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/base.py +7 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/team.py +57 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/agent_skills.py +10 -3
- {agno-2.3.26 → agno-2.4.0}/agno/team/__init__.py +3 -1
- {agno-2.3.26 → agno-2.4.0}/agno/team/team.py +1145 -326
- agno-2.4.0/agno/tools/duckduckgo.py +45 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/exa.py +0 -21
- {agno-2.3.26 → agno-2.4.0}/agno/tools/function.py +35 -83
- {agno-2.3.26 → agno-2.4.0}/agno/tools/knowledge.py +9 -4
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mem0.py +11 -10
- {agno-2.3.26 → agno-2.4.0}/agno/tools/memory.py +47 -46
- {agno-2.3.26 → agno-2.4.0}/agno/tools/parallel.py +0 -7
- {agno-2.3.26 → agno-2.4.0}/agno/tools/reasoning.py +30 -23
- {agno-2.3.26 → agno-2.4.0}/agno/tools/tavily.py +4 -1
- agno-2.3.26/agno/tools/duckduckgo.py → agno-2.4.0/agno/tools/websearch.py +26 -24
- {agno-2.3.26 → agno-2.4.0}/agno/tools/website.py +1 -1
- {agno-2.3.26 → agno-2.4.0}/agno/tools/wikipedia.py +1 -1
- {agno-2.3.26 → agno-2.4.0}/agno/tools/workflow.py +48 -47
- {agno-2.3.26 → agno-2.4.0}/agno/utils/agent.py +42 -5
- {agno-2.3.26 → agno-2.4.0}/agno/utils/events.py +160 -2
- {agno-2.3.26 → agno-2.4.0}/agno/utils/print_response/agent.py +0 -31
- {agno-2.3.26 → agno-2.4.0}/agno/utils/print_response/team.py +0 -2
- {agno-2.3.26 → agno-2.4.0}/agno/utils/print_response/workflow.py +0 -2
- {agno-2.3.26 → agno-2.4.0}/agno/utils/team.py +61 -11
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/lancedb/lance_db.py +4 -1
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/mongodb/mongodb.py +1 -1
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/qdrant/qdrant.py +4 -4
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/__init__.py +3 -1
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/condition.py +0 -21
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/loop.py +0 -21
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/parallel.py +0 -21
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/router.py +0 -21
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/step.py +117 -24
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/steps.py +0 -21
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/workflow.py +427 -63
- {agno-2.3.26 → agno-2.4.0}/agno.egg-info/PKG-INFO +46 -76
- {agno-2.3.26 → agno-2.4.0}/agno.egg-info/SOURCES.txt +11 -0
- {agno-2.3.26 → agno-2.4.0}/agno.egg-info/requires.txt +2 -0
- {agno-2.3.26 → agno-2.4.0}/pyproject.toml +3 -1
- agno-2.3.26/README.md +0 -166
- agno-2.3.26/agno/knowledge/__init__.py +0 -5
- {agno-2.3.26 → agno-2.4.0}/LICENSE +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/agent.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/api.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/evals.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/os.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/routes.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/agent.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/evals.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/os.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/response.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/team.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/schemas/workflows.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/settings.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/team.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/api/workflow.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/client/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/client/a2a/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/client/a2a/client.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/client/a2a/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/client/a2a/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/client/os.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/cloud/aws/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/cloud/aws/s3/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/cloud/aws/s3/api_client.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/cloud/aws/s3/bucket.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/cloud/aws/s3/object.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/compression/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/compression/manager.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/culture/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/culture/manager.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/async_postgres/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/dynamo/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/dynamo/dynamo.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/dynamo/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/dynamo/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/firestore/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/firestore/firestore.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/firestore/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/firestore/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/gcs_json/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/gcs_json/gcs_json_db.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/gcs_json/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/in_memory/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/in_memory/in_memory_db.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/in_memory/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/json/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/json/json_db.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/json/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/migrations/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/migrations/manager.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/migrations/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/migrations/v1_to_v2.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/migrations/versions/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/migrations/versions/v2_3_0.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mongo/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mongo/async_mongo.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mongo/mongo.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mongo/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mongo/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mysql/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mysql/async_mysql.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mysql/mysql.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mysql/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/mysql/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/postgres/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/postgres/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/redis/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/redis/redis.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/redis/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/redis/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/schemas/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/schemas/culture.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/schemas/evals.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/schemas/knowledge.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/schemas/memory.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/schemas/metrics.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/singlestore/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/singlestore/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/singlestore/singlestore.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/singlestore/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/sqlite/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/sqlite/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/surrealdb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/surrealdb/metrics.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/surrealdb/models.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/surrealdb/queries.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/surrealdb/surrealdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/db/surrealdb/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/debug.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/accuracy.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/agent_as_judge.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/performance.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/reliability.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/eval/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/exceptions.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/filters.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/guardrails/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/guardrails/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/guardrails/openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/guardrails/pii.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/guardrails/prompt_injection.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/hooks/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/hooks/decorator.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/integrations/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/integrations/discord/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/integrations/discord/client.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/agentic.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/document.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/fixed.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/markdown.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/recursive.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/chunking/row.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/content.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/document/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/document/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/aws_bedrock.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/azure_openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/cohere.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/fastembed.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/fireworks.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/google.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/huggingface.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/jina.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/langdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/mistral.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/nebius.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/ollama.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/sentence_transformer.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/together.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/vllm.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/embedder/voyageai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reader/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/remote_content/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/remote_content/remote_content.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reranker/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reranker/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reranker/cohere.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reranker/infinity.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/reranker/sentence_transformer.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/knowledge/types.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/config.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/curate.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/entity_memory.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/protocol.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/session_context.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/user_memory.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/stores/user_profile.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/learn/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/media.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/memory/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/memory/manager.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/memory/strategies/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/memory/strategies/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/memory/strategies/summarize.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/memory/strategies/types.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/aimlapi/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/aimlapi/aimlapi.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/anthropic/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/aws/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/aws/claude.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/azure/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/azure/ai_foundry.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/azure/openai_chat.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/cerebras/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/cerebras/cerebras.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/cerebras/cerebras_openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/cohere/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/cometapi/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/cometapi/cometapi.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/dashscope/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/dashscope/dashscope.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/deepinfra/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/deepinfra/deepinfra.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/deepseek/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/deepseek/deepseek.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/defaults.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/fireworks/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/fireworks/fireworks.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/google/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/google/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/groq/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/groq/groq.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/huggingface/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/huggingface/huggingface.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/ibm/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/ibm/watsonx.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/internlm/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/internlm/internlm.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/langdb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/langdb/langdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/litellm/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/litellm/litellm_openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/llama_cpp/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/llama_cpp/llama_cpp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/lmstudio/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/lmstudio/lmstudio.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/message.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/meta/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/meta/llama.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/meta/llama_openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/metrics.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/mistral/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/mistral/mistral.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/nebius/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/nebius/nebius.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/nexus/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/nexus/nexus.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/nvidia/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/nvidia/nvidia.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/ollama/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/ollama/chat.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/openai/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/openai/like.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/openai/responses.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/openrouter/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/perplexity/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/perplexity/perplexity.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/portkey/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/portkey/portkey.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/requesty/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/requesty/requesty.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/sambanova/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/sambanova/sambanova.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/siliconflow/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/siliconflow/siliconflow.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/together/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/together/together.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/vercel/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/vercel/v0.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/vertexai/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/vertexai/claude.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/vllm/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/vllm/vllm.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/xai/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/models/xai/xai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/auth.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/config.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/a2a/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/a2a/a2a.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/a2a/router.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/a2a/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/agui/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/agui/agui.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/agui/router.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/agui/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/slack/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/slack/router.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/slack/security.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/slack/slack.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/whatsapp/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/whatsapp/router.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/whatsapp/security.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/interfaces/whatsapp/whatsapp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/managers.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/mcp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/middleware/jwt.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/agents/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/database.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/evals/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/evals/evals.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/evals/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/home.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/knowledge/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/knowledge/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/memory/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/memory/memory.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/metrics/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/session/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/session/session.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/teams/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/traces/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/traces/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/routers/workflows/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/scopes.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/os/settings.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/py.typed +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/groq.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/reasoning/step.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/remote/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/remote/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/cancel.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/cancellation_management/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/cancellation_management/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/cancellation_management/in_memory_cancellation_manager.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/cancellation_management/redis_cancellation_manager.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/messages.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/requirement.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/run/workflow.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/session/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/session/agent.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/session/summary.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/session/team.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/session/workflow.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/errors.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/loaders/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/loaders/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/loaders/local.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/skill.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/skills/validator.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/table.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/team/remote.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/agentql.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/airflow.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/api.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/apify.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/arxiv.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/aws_lambda.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/aws_ses.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/baidusearch.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/bitbucket.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/brandfetch.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/bravesearch.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/brightdata.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/browserbase.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/calcom.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/calculator.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/cartesia.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/clickup.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/confluence.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/crawl4ai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/csv_toolkit.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/dalle.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/daytona.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/decorator.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/desi_vocal.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/discord.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/docker.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/duckdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/e2b.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/eleven_labs.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/email.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/evm.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/fal.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/file.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/file_generation.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/financial_datasets.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/firecrawl.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/giphy.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/github.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/gmail.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/google_bigquery.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/google_drive.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/google_maps.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/googlecalendar.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/googlesheets.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/hackernews.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/jina.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/jira.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/linear.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/linkup.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/local_file_system.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/lumalab.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mcp/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mcp/mcp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mcp/multi_mcp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mcp/params.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mcp_toolbox.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/mlx_transcribe.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models/azure_openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models/gemini.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models/groq.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models/morph.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models/nebius.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/models_labs.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/moviepy_video.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/nano_banana.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/neo4j.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/newspaper.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/newspaper4k.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/notion.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/openbb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/opencv.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/openweather.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/oxylabs.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/pandas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/postgres.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/pubmed.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/python.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/reddit.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/redshift.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/replicate.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/resend.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/scrapegraph.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/searxng.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/serpapi.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/serper.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/shell.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/shopify.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/slack.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/sleep.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/spider.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/spotify.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/sql.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/streamlit/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/streamlit/components.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/telegram.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/todoist.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/tool_registry.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/toolkit.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/trafilatura.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/trello.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/twilio.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/user_control_flow.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/valyu.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/visualization.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/webbrowser.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/webex.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/webtools.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/whatsapp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/x.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/yfinance.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/youtube.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/zendesk.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/zep.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tools/zoom.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tracing/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tracing/exporter.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tracing/schemas.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/tracing/setup.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/audio.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/certs.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/code_execution.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/common.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/cryptography.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/dttm.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/enum.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/env.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/format_str.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/functions.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/gemini.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/hooks.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/http.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/json_schema.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/knowledge.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/location.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/log.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/mcp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/media.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/merge_dict.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/message.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/ai_foundry.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/claude.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/cohere.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/llama.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/mistral.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/openai_responses.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/schema_utils.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/models/watsonx.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/openai.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/os.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/pickle.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/pprint.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/print_response/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/prompts.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/reasoning.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/remote.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/response.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/response_iterator.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/safe_formatter.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/serialize.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/shell.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/streamlit.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/string.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/timer.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/tokens.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/tools.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/web.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/whatsapp.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/utils/yaml_io.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/base.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/cassandra/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/cassandra/cassandra.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/cassandra/extra_param_mixin.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/cassandra/index.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/chroma/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/chroma/chromadb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/clickhouse/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/clickhouse/clickhousedb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/clickhouse/index.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/couchbase/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/couchbase/couchbase.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/distance.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/lancedb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/langchaindb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/langchaindb/langchaindb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/lightrag/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/lightrag/lightrag.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/llamaindex/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/llamaindex/llamaindexdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/milvus/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/milvus/milvus.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/mongodb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/pgvector/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/pgvector/index.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/pgvector/pgvector.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/pineconedb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/pineconedb/pineconedb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/qdrant/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/redis/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/redis/redisdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/search.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/singlestore/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/singlestore/index.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/singlestore/singlestore.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/surrealdb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/surrealdb/surrealdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/upstashdb/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/upstashdb/upstashdb.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/weaviate/__init__.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/weaviate/index.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/vectordb/weaviate/weaviate.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/agent.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/remote.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno/workflow/types.py +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno.egg-info/dependency_links.txt +0 -0
- {agno-2.3.26 → agno-2.4.0}/agno.egg-info/top_level.txt +0 -0
- {agno-2.3.26 → agno-2.4.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agno
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.0
|
|
4
4
|
Summary: Agno: a lightweight library for building Multi-Agent Systems
|
|
5
5
|
Author-email: Ashpreet Bedi <ashpreet@agno.com>
|
|
6
6
|
Project-URL: homepage, https://agno.com
|
|
@@ -402,11 +402,13 @@ Requires-Dist: sqlalchemy; extra == "integration-tests"
|
|
|
402
402
|
Requires-Dist: Pillow; extra == "integration-tests"
|
|
403
403
|
Requires-Dist: fastmcp; extra == "integration-tests"
|
|
404
404
|
Provides-Extra: demo
|
|
405
|
+
Requires-Dist: agno[dev]; extra == "demo"
|
|
405
406
|
Requires-Dist: anthropic; extra == "demo"
|
|
406
407
|
Requires-Dist: chromadb; extra == "demo"
|
|
407
408
|
Requires-Dist: ddgs; extra == "demo"
|
|
408
409
|
Requires-Dist: fastapi[standard]; extra == "demo"
|
|
409
410
|
Requires-Dist: google-genai; extra == "demo"
|
|
411
|
+
Requires-Dist: matplotlib; extra == "demo"
|
|
410
412
|
Requires-Dist: mcp; extra == "demo"
|
|
411
413
|
Requires-Dist: nest_asyncio; extra == "demo"
|
|
412
414
|
Requires-Dist: openai; extra == "demo"
|
|
@@ -434,150 +436,120 @@ Dynamic: license-file
|
|
|
434
436
|
</a>
|
|
435
437
|
</div>
|
|
436
438
|
|
|
439
|
+
<p align="center">
|
|
440
|
+
Build, run, manage multi-agent systems.
|
|
441
|
+
</p>
|
|
442
|
+
|
|
437
443
|
<div align="center">
|
|
438
|
-
<a href="https://docs.agno.com">
|
|
439
|
-
<span> 
|
|
444
|
+
<a href="https://docs.agno.com">Docs</a>
|
|
445
|
+
<span> • </span>
|
|
440
446
|
<a href="https://github.com/agno-agi/agno/tree/main/cookbook">Cookbook</a>
|
|
441
|
-
<span> 
|
|
442
|
-
<a href="https://
|
|
443
|
-
<
|
|
447
|
+
<span> • </span>
|
|
448
|
+
<a href="https://community.agno.com/">Community</a>
|
|
449
|
+
<span> • </span>
|
|
450
|
+
<a href="https://discord.gg/4MtYHHrgA8">Discord</a>
|
|
444
451
|
</div>
|
|
445
452
|
|
|
446
453
|
## What is Agno?
|
|
447
454
|
|
|
448
|
-
Agno is a
|
|
455
|
+
Agno is a framework, runtime, and control plane for multi-agent systems.
|
|
449
456
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
457
|
+
| Layer | What it does |
|
|
458
|
+
|-------|--------------|
|
|
459
|
+
| **Framework** | Build agents, teams, and workflows with memory, knowledge, guardrails, and 100+ integrations |
|
|
460
|
+
| **AgentOS Runtime** | Run your system in production with a stateless, secure FastAPI backend |
|
|
461
|
+
| **Control Plane** | Test, monitor, and manage your system using the [AgentOS UI](https://os.agno.com) |
|
|
453
462
|
|
|
454
463
|
## Why Agno?
|
|
455
464
|
|
|
456
|
-
- **
|
|
457
|
-
- **
|
|
458
|
-
- **
|
|
459
|
-
|
|
460
|
-
## Getting Started
|
|
461
|
-
|
|
462
|
-
Start with the [getting started guide](https://github.com/agno-agi/agno/tree/main/cookbook/00_getting_started), then:
|
|
463
|
-
|
|
464
|
-
- Browse the [cookbooks](https://github.com/agno-agi/agno/tree/main/cookbook) for real-world examples
|
|
465
|
-
- Read the [docs](https://docs.agno.com) to learn more
|
|
466
|
-
|
|
467
|
-
## Resources
|
|
468
|
-
|
|
469
|
-
- Docs: <a href="https://docs.agno.com" target="_blank" rel="noopener noreferrer">docs.agno.com</a>
|
|
470
|
-
- Cookbook: <a href="https://github.com/agno-agi/agno/tree/main/cookbook" target="_blank" rel="noopener noreferrer">Cookbook</a>
|
|
471
|
-
- Community forum: <a href="https://community.agno.com/" target="_blank" rel="noopener noreferrer">community.agno.com</a>
|
|
472
|
-
- Discord: <a href="https://discord.gg/4MtYHHrgA8" target="_blank" rel="noopener noreferrer">discord</a>
|
|
465
|
+
- **Private by design.** AgentOS runs in your cloud. The control plane connects directly to your runtime from your browser. No retention costs, no vendor lock-in, no compliance headaches.
|
|
466
|
+
- **Production-ready on day one.** Pre-built FastAPI runtime with SSE endpoints, ready to deploy.
|
|
467
|
+
- **Fast.** 529× faster instantiation than LangGraph. 24× lower memory. [See benchmarks →](#performance)
|
|
473
468
|
|
|
474
469
|
## Example
|
|
475
470
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
```python agno_agent.py
|
|
471
|
+
An agent with MCP tools, persistent state, served via FastAPI:
|
|
472
|
+
```python
|
|
479
473
|
from agno.agent import Agent
|
|
480
474
|
from agno.db.sqlite import SqliteDb
|
|
481
475
|
from agno.models.anthropic import Claude
|
|
482
476
|
from agno.os import AgentOS
|
|
483
477
|
from agno.tools.mcp import MCPTools
|
|
484
478
|
|
|
485
|
-
# ************* Create Agent *************
|
|
486
479
|
agno_agent = Agent(
|
|
487
480
|
name="Agno Agent",
|
|
488
481
|
model=Claude(id="claude-sonnet-4-5"),
|
|
489
|
-
# Add a database to the Agent
|
|
490
482
|
db=SqliteDb(db_file="agno.db"),
|
|
491
|
-
# Add the Agno MCP server to the Agent
|
|
492
483
|
tools=[MCPTools(transport="streamable-http", url="https://docs.agno.com/mcp")],
|
|
493
|
-
# Add the previous session history to the context
|
|
494
484
|
add_history_to_context=True,
|
|
495
485
|
markdown=True,
|
|
496
486
|
)
|
|
497
487
|
|
|
498
|
-
|
|
499
|
-
# ************* Create AgentOS *************
|
|
500
488
|
agent_os = AgentOS(agents=[agno_agent])
|
|
501
|
-
# Get the FastAPI app for the AgentOS
|
|
502
489
|
app = agent_os.get_app()
|
|
503
490
|
|
|
504
|
-
# ************* Run AgentOS *************
|
|
505
491
|
if __name__ == "__main__":
|
|
506
492
|
agent_os.serve(app="agno_agent:app", reload=True)
|
|
507
493
|
```
|
|
508
494
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
Building Agents is easy, running them as a secure, scalable service is hard. AgentOS solves this by providing a high performance runtime for serving multi-agent systems in production. Key features include:
|
|
512
|
-
|
|
513
|
-
1. **Pre-built FastAPI app**: AgentOS includes a ready-to-use FastAPI app for running your agents, teams and workflows. This gives you a significant head start when building an AI product.
|
|
514
|
-
|
|
515
|
-
2. **Integrated Control Plane**: The [AgentOS UI](https://os.agno.com) connects directly to your runtime, so you can test, monitor and manage your system in real time with full operational visibility.
|
|
516
|
-
|
|
517
|
-
3. **Private by Design**: AgentOS runs entirely in your cloud, ensuring complete data privacy. No data leaves your environment, making it ideal for security conscious enterprises..
|
|
518
|
-
|
|
519
|
-
When you run the example script shared above, you get a FastAPI app that you can connect to the [AgentOS UI](https://os.agno.com). Here's what it looks like in action:
|
|
495
|
+
Run this and connect to the [AgentOS UI](https://os.agno.com):
|
|
520
496
|
|
|
521
497
|
https://github.com/user-attachments/assets/feb23db8-15cc-4e88-be7c-01a21a03ebf6
|
|
522
498
|
|
|
523
|
-
## Private by Design
|
|
524
|
-
|
|
525
|
-
This is the part we care most about.
|
|
526
|
-
|
|
527
|
-
AgentOS runs in **your** cloud. The control plane UI connects directly to your runtime from your browser. Your data never touches our servers. No retention costs, no vendor lock-in, no compliance headaches.
|
|
528
|
-
|
|
529
|
-
This isn't a privacy mode or enterprise add-on. It's how Agno works.
|
|
530
|
-
|
|
531
499
|
## Features
|
|
532
500
|
|
|
533
|
-
|
|
534
|
-
- Model
|
|
501
|
+
**Core**
|
|
502
|
+
- Model-agnostic: OpenAI, Anthropic, Google, local models
|
|
535
503
|
- Type-safe I/O with `input_schema` and `output_schema`
|
|
536
504
|
- Async-first, built for long-running tasks
|
|
537
505
|
- Natively multimodal (text, images, audio, video, files)
|
|
538
506
|
|
|
539
|
-
|
|
507
|
+
**Memory & Knowledge**
|
|
540
508
|
- Persistent storage for session history and state
|
|
541
|
-
- User memory
|
|
509
|
+
- User memory across sessions
|
|
542
510
|
- Agentic RAG with 20+ vector stores, hybrid search, reranking
|
|
543
|
-
- Culture
|
|
511
|
+
- Culture: shared long-term memory across agents
|
|
544
512
|
|
|
545
|
-
|
|
513
|
+
**Orchestration**
|
|
546
514
|
- Human-in-the-loop (confirmations, approvals, overrides)
|
|
547
515
|
- Guardrails for validation and security
|
|
548
516
|
- Pre/post hooks for the agent lifecycle
|
|
549
517
|
- First-class MCP and A2A support
|
|
550
518
|
- 100+ built-in toolkits
|
|
551
519
|
|
|
552
|
-
|
|
520
|
+
**Production**
|
|
553
521
|
- Ready-to-use FastAPI runtime
|
|
554
522
|
- Integrated control plane UI
|
|
555
523
|
- Evals for accuracy, performance, latency
|
|
556
524
|
- Durable execution for resumable workflows
|
|
557
525
|
- RBAC and per-agent permissions
|
|
558
526
|
|
|
559
|
-
##
|
|
527
|
+
## Getting Started
|
|
560
528
|
|
|
561
|
-
|
|
529
|
+
1. Follow the [getting started guide](https://github.com/agno-agi/agno/tree/main/cookbook/00_getting_started)
|
|
530
|
+
2. Browse the [cookbook](https://github.com/agno-agi/agno/tree/main/cookbook) for real-world examples
|
|
531
|
+
3. Read the [docs](https://docs.agno.com) to go deeper
|
|
562
532
|
|
|
563
|
-
|
|
533
|
+
## Performance
|
|
534
|
+
|
|
535
|
+
Agent workloads spawn hundreds of instances. Stateless, horizontal scalability isn't optional.
|
|
564
536
|
|
|
565
537
|
| Metric | Agno | LangGraph | PydanticAI | CrewAI |
|
|
566
538
|
|--------|------|-----------|------------|--------|
|
|
567
|
-
| Instantiation | **3μs** | 1,587μs (529×
|
|
568
|
-
| Memory | **6.6 KiB** | 161 KiB (24×
|
|
539
|
+
| Instantiation | **3μs** | 1,587μs (529×) | 170μs (57×) | 210μs (70×) |
|
|
540
|
+
| Memory | **6.6 KiB** | 161 KiB (24×) | 29 KiB (4×) | 66 KiB (10×) |
|
|
569
541
|
|
|
570
|
-
Run
|
|
542
|
+
<sub>Apple M4 MacBook Pro, Oct 2025. [Run benchmarks yourself →](https://github.com/agno-agi/agno/tree/main/cookbook/12_evals/performance)</sub>
|
|
571
543
|
|
|
572
544
|
https://github.com/user-attachments/assets/54b98576-1859-4880-9f2d-15e1a426719d
|
|
573
545
|
|
|
574
546
|
## IDE Integration
|
|
575
547
|
|
|
576
|
-
|
|
548
|
+
Add our docs to your AI-enabled editor:
|
|
577
549
|
|
|
578
550
|
**Cursor:** Settings → Indexing & Docs → Add `https://docs.agno.com/llms-full.txt`
|
|
579
551
|
|
|
580
|
-
|
|
552
|
+
Also works with VSCode, Windsurf, and similar tools.
|
|
581
553
|
|
|
582
554
|
## Contributing
|
|
583
555
|
|
|
@@ -585,8 +557,6 @@ We welcome contributions. See the [contributing guide](https://github.com/agno-a
|
|
|
585
557
|
|
|
586
558
|
## Telemetry
|
|
587
559
|
|
|
588
|
-
Agno logs which model providers are used
|
|
560
|
+
Agno logs which model providers are used to prioritize updates. Disable with `AGNO_TELEMETRY=false`.
|
|
589
561
|
|
|
590
|
-
<p align="
|
|
591
|
-
<a href="#top">⬆️ Back to Top</a>
|
|
592
|
-
</p>
|
|
562
|
+
<p align="right"><a href="#top">↑ Back to top</a></p>
|
agno-2.4.0/README.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
<div align="center" id="top">
|
|
2
|
+
<a href="https://agno.com">
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-dark.svg">
|
|
5
|
+
<source media="(prefers-color-scheme: light)" srcset="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-light.svg">
|
|
6
|
+
<img src="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-light.svg" alt="Agno">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
Build, run, manage multi-agent systems.
|
|
13
|
+
</p>
|
|
14
|
+
|
|
15
|
+
<div align="center">
|
|
16
|
+
<a href="https://docs.agno.com">Docs</a>
|
|
17
|
+
<span> • </span>
|
|
18
|
+
<a href="https://github.com/agno-agi/agno/tree/main/cookbook">Cookbook</a>
|
|
19
|
+
<span> • </span>
|
|
20
|
+
<a href="https://community.agno.com/">Community</a>
|
|
21
|
+
<span> • </span>
|
|
22
|
+
<a href="https://discord.gg/4MtYHHrgA8">Discord</a>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
## What is Agno?
|
|
26
|
+
|
|
27
|
+
Agno is a framework, runtime, and control plane for multi-agent systems.
|
|
28
|
+
|
|
29
|
+
| Layer | What it does |
|
|
30
|
+
|-------|--------------|
|
|
31
|
+
| **Framework** | Build agents, teams, and workflows with memory, knowledge, guardrails, and 100+ integrations |
|
|
32
|
+
| **AgentOS Runtime** | Run your system in production with a stateless, secure FastAPI backend |
|
|
33
|
+
| **Control Plane** | Test, monitor, and manage your system using the [AgentOS UI](https://os.agno.com) |
|
|
34
|
+
|
|
35
|
+
## Why Agno?
|
|
36
|
+
|
|
37
|
+
- **Private by design.** AgentOS runs in your cloud. The control plane connects directly to your runtime from your browser. No retention costs, no vendor lock-in, no compliance headaches.
|
|
38
|
+
- **Production-ready on day one.** Pre-built FastAPI runtime with SSE endpoints, ready to deploy.
|
|
39
|
+
- **Fast.** 529× faster instantiation than LangGraph. 24× lower memory. [See benchmarks →](#performance)
|
|
40
|
+
|
|
41
|
+
## Example
|
|
42
|
+
|
|
43
|
+
An agent with MCP tools, persistent state, served via FastAPI:
|
|
44
|
+
```python
|
|
45
|
+
from agno.agent import Agent
|
|
46
|
+
from agno.db.sqlite import SqliteDb
|
|
47
|
+
from agno.models.anthropic import Claude
|
|
48
|
+
from agno.os import AgentOS
|
|
49
|
+
from agno.tools.mcp import MCPTools
|
|
50
|
+
|
|
51
|
+
agno_agent = Agent(
|
|
52
|
+
name="Agno Agent",
|
|
53
|
+
model=Claude(id="claude-sonnet-4-5"),
|
|
54
|
+
db=SqliteDb(db_file="agno.db"),
|
|
55
|
+
tools=[MCPTools(transport="streamable-http", url="https://docs.agno.com/mcp")],
|
|
56
|
+
add_history_to_context=True,
|
|
57
|
+
markdown=True,
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
agent_os = AgentOS(agents=[agno_agent])
|
|
61
|
+
app = agent_os.get_app()
|
|
62
|
+
|
|
63
|
+
if __name__ == "__main__":
|
|
64
|
+
agent_os.serve(app="agno_agent:app", reload=True)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Run this and connect to the [AgentOS UI](https://os.agno.com):
|
|
68
|
+
|
|
69
|
+
https://github.com/user-attachments/assets/feb23db8-15cc-4e88-be7c-01a21a03ebf6
|
|
70
|
+
|
|
71
|
+
## Features
|
|
72
|
+
|
|
73
|
+
**Core**
|
|
74
|
+
- Model-agnostic: OpenAI, Anthropic, Google, local models
|
|
75
|
+
- Type-safe I/O with `input_schema` and `output_schema`
|
|
76
|
+
- Async-first, built for long-running tasks
|
|
77
|
+
- Natively multimodal (text, images, audio, video, files)
|
|
78
|
+
|
|
79
|
+
**Memory & Knowledge**
|
|
80
|
+
- Persistent storage for session history and state
|
|
81
|
+
- User memory across sessions
|
|
82
|
+
- Agentic RAG with 20+ vector stores, hybrid search, reranking
|
|
83
|
+
- Culture: shared long-term memory across agents
|
|
84
|
+
|
|
85
|
+
**Orchestration**
|
|
86
|
+
- Human-in-the-loop (confirmations, approvals, overrides)
|
|
87
|
+
- Guardrails for validation and security
|
|
88
|
+
- Pre/post hooks for the agent lifecycle
|
|
89
|
+
- First-class MCP and A2A support
|
|
90
|
+
- 100+ built-in toolkits
|
|
91
|
+
|
|
92
|
+
**Production**
|
|
93
|
+
- Ready-to-use FastAPI runtime
|
|
94
|
+
- Integrated control plane UI
|
|
95
|
+
- Evals for accuracy, performance, latency
|
|
96
|
+
- Durable execution for resumable workflows
|
|
97
|
+
- RBAC and per-agent permissions
|
|
98
|
+
|
|
99
|
+
## Getting Started
|
|
100
|
+
|
|
101
|
+
1. Follow the [getting started guide](https://github.com/agno-agi/agno/tree/main/cookbook/00_getting_started)
|
|
102
|
+
2. Browse the [cookbook](https://github.com/agno-agi/agno/tree/main/cookbook) for real-world examples
|
|
103
|
+
3. Read the [docs](https://docs.agno.com) to go deeper
|
|
104
|
+
|
|
105
|
+
## Performance
|
|
106
|
+
|
|
107
|
+
Agent workloads spawn hundreds of instances. Stateless, horizontal scalability isn't optional.
|
|
108
|
+
|
|
109
|
+
| Metric | Agno | LangGraph | PydanticAI | CrewAI |
|
|
110
|
+
|--------|------|-----------|------------|--------|
|
|
111
|
+
| Instantiation | **3μs** | 1,587μs (529×) | 170μs (57×) | 210μs (70×) |
|
|
112
|
+
| Memory | **6.6 KiB** | 161 KiB (24×) | 29 KiB (4×) | 66 KiB (10×) |
|
|
113
|
+
|
|
114
|
+
<sub>Apple M4 MacBook Pro, Oct 2025. [Run benchmarks yourself →](https://github.com/agno-agi/agno/tree/main/cookbook/12_evals/performance)</sub>
|
|
115
|
+
|
|
116
|
+
https://github.com/user-attachments/assets/54b98576-1859-4880-9f2d-15e1a426719d
|
|
117
|
+
|
|
118
|
+
## IDE Integration
|
|
119
|
+
|
|
120
|
+
Add our docs to your AI-enabled editor:
|
|
121
|
+
|
|
122
|
+
**Cursor:** Settings → Indexing & Docs → Add `https://docs.agno.com/llms-full.txt`
|
|
123
|
+
|
|
124
|
+
Also works with VSCode, Windsurf, and similar tools.
|
|
125
|
+
|
|
126
|
+
## Contributing
|
|
127
|
+
|
|
128
|
+
We welcome contributions. See the [contributing guide](https://github.com/agno-agi/agno/blob/v2.0/CONTRIBUTING.md).
|
|
129
|
+
|
|
130
|
+
## Telemetry
|
|
131
|
+
|
|
132
|
+
Agno logs which model providers are used to prioritize updates. Disable with `AGNO_TELEMETRY=false`.
|
|
133
|
+
|
|
134
|
+
<p align="right"><a href="#top">↑ Back to top</a></p>
|
|
@@ -4,6 +4,8 @@ from agno.agent.agent import (
|
|
|
4
4
|
Function,
|
|
5
5
|
Message,
|
|
6
6
|
Toolkit,
|
|
7
|
+
get_agent_by_id,
|
|
8
|
+
get_agents,
|
|
7
9
|
)
|
|
8
10
|
from agno.agent.remote import RemoteAgent
|
|
9
11
|
from agno.run.agent import (
|
|
@@ -50,4 +52,6 @@ __all__ = [
|
|
|
50
52
|
"ReasoningCompletedEvent",
|
|
51
53
|
"ToolCallStartedEvent",
|
|
52
54
|
"ToolCallCompletedEvent",
|
|
55
|
+
"get_agent_by_id",
|
|
56
|
+
"get_agents",
|
|
53
57
|
]
|