Agno (formerly Phidata)

raw JSON →
2.5.10 verified Tue May 12 auth: no python install: verified quickstart: stale

Open-source framework for building multi-modal AI agents with memory, knowledge, tools, and reasoning. Renamed from Phidata to Agno in January 2025. Complete namespace change from phi.* to agno.*. phidata package still exists on PyPI (2.7.10) but is legacy — new development on agno only. Current version: agno 2.5.10 (Mar 2026).

pip install agno
error ModuleNotFoundError: No module named 'agno'
cause The 'agno' package is not installed or the Python environment is incorrect.
fix
Ensure 'agno' is installed using 'pip install agno' and verify the correct Python environment is active.
error ModuleNotFoundError: No module named 'agno.agent'
cause The 'agno.agent' module is not found, possibly due to an outdated 'agno' version or incorrect installation.
fix
Upgrade 'agno' to the latest version using 'pip install --upgrade agno' and check the installation.
error ModuleNotFoundError: No module named 'agno.aws'
cause The 'agno.aws' module is missing, likely due to an incomplete installation or missing dependencies.
fix
Reinstall 'agno' with all dependencies using 'pip install --upgrade --no-cache-dir agno'.
error ModuleNotFoundError: No module named 'agno.tools.daytona'
cause The 'agno.tools.daytona' module is not found, possibly due to missing optional dependencies.
fix
Install the required dependencies using 'pip install agno[tools]'.
error ModuleNotFoundError: No module named 'openai'
cause The 'openai' package is not installed, which is required for certain 'agno' functionalities.
fix
Install the 'openai' package using 'pip install openai'.
breaking Complete namespace rename: all phi.* imports broken. from phi.agent import Agent raises ModuleNotFoundError on agno package. The entire import tree changed.
fix Replace all 'from phi.' with 'from agno.' systematically. See full migration guide at docs.agno.com/how-to/phidata-to-agno
breaking All tool classes renamed with Tools suffix. DuckDuckGo → DuckDuckGoTools, YFinanceTools stays same, but many others changed. Import paths also changed.
fix Check docs.agno.com for updated tool names. Pattern: phi.tools.X.ClassName → agno.tools.X.ClassNameTools
breaking Embedder parameter renamed from model= to id=. OllamaEmbedder(model='llama3.2') breaks silently or raises TypeError.
fix OllamaEmbedder(id='llama3.2') not model='llama3.2'
breaking CLI renamed from phi to ag. All phi init, phi ws up commands broken.
fix Replace phi commands with ag. phi init → ag init, phi ws up dev → ag ws up dev
gotcha Agent() with no model specified silently defaults to OpenAIChat(gpt-4o). This will fail at runtime with a ModuleNotFoundError if `openai` is not installed, or with an authentication error (e.g., 'OPENAI_API_KEY not set') if `openai` is installed but the `OPENAI_API_KEY` environment variable is missing.
fix Always explicitly pass `model=` argument to `Agent()`. If relying on the default `OpenAIChat(gpt-4o)`, ensure `pip install openai` is run and the `OPENAI_API_KEY` environment variable is set.
gotcha phidata package still installable on PyPI (2.7.10) but receives no new features. LLMs trained before Feb 2025 will generate phidata/phi.* code. Entirely wrong for current agno.
fix pip install agno not phidata. Migrate all phi.* imports to agno.*
gotcha Document readers renamed with _reader suffix. phi.document.reader.pdf → agno.document.reader.pdf_reader.
fix from agno.document.reader.pdf_reader import PDFReader
pip install agno openai
pip install phidata
python os / libc variant status wheel install import disk
3.10 alpine (musl) agno - - 1.71s 75.7M
3.10 alpine (musl) agno - - 1.68s 91.0M
3.10 alpine (musl) phidata - - - -
3.10 slim (glibc) agno - - 1.26s 76M
3.10 slim (glibc) agno - - 1.25s 91M
3.10 slim (glibc) phidata - - - -
3.11 alpine (musl) agno - - 2.42s 86.3M
3.11 alpine (musl) agno - - 2.36s 102.4M
3.11 alpine (musl) phidata - - - -
3.11 slim (glibc) agno - - 2.02s 87M
3.11 slim (glibc) agno - - 1.99s 102M
3.11 slim (glibc) phidata - - - -
3.12 alpine (musl) agno - - 2.20s 76.2M
3.12 alpine (musl) agno - - 2.19s 92.1M
3.12 alpine (musl) phidata - - - -
3.12 slim (glibc) agno - - 2.23s 77M
3.12 slim (glibc) agno - - 2.25s 92M
3.12 slim (glibc) phidata - - - -
3.13 alpine (musl) agno - - 2.05s 75.9M
3.13 alpine (musl) agno - - 2.07s 91.9M
3.13 alpine (musl) phidata - - - -
3.13 slim (glibc) agno - - 2.33s 76M
3.13 slim (glibc) agno - - 2.08s 92M
3.13 slim (glibc) phidata - - - -
3.9 alpine (musl) agno - - 1.63s 74.3M
3.9 alpine (musl) agno - - 1.58s 89.6M
3.9 alpine (musl) phidata - - - -
3.9 slim (glibc) agno - - 1.46s 75M
3.9 slim (glibc) agno - - 1.39s 89M
3.9 slim (glibc) phidata - - - -

Minimal Agno agent using OpenAI. Current agno 2.x API.

# pip install agno openai
from agno.agent import Agent
from agno.models.openai import OpenAIChat
import os

agent = Agent(
    model=OpenAIChat(id='gpt-4o'),
    description='You are a helpful assistant.',
    markdown=True
)

agent.print_response('Explain quantum computing in 2 sentences.')