Skip to main content

System Requirements

  • Python: 3.7 or higher (3.12 recommended)
  • Operating System: Linux, macOS, or Windows
  • RAM: 2GB minimum, 8GB recommended for local LLMs

Quick Install

The simplest way to install Agno:
pip install agno
This installs the core framework with minimal dependencies.

Install with Optional Dependencies

Agno uses optional dependencies to keep the base install lightweight. Install what you need:

For Production APIs (AgentOS)

pip install "agno[os]"
Includes: FastAPI, uvicorn, SQLAlchemy, PyJWT, OpenTelemetry, croniter

For Specific LLM Providers

pip install "agno[openai]"

For Databases

pip install "agno[postgres]"

For Vector Databases

pip install "agno[pgvector]"

For Tools and Integrations

pip install "agno[mcp]"

For Document Processing

pip install "agno[pdf]"

Combined Installation

Install multiple optional dependencies at once:
pip install "agno[os,openai,postgres,pgvector,mcp]"

Install Everything

For development or testing with all integrations:
This installs 100+ packages and may have dependency conflicts. Only use for local testing.
pip install "agno[models,tools,storage,vectordbs,knowledge]"

Environment Setup

Set API Keys

Create a .env file in your project directory:
.env
# LLM Provider Keys
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key
GOOGLE_API_KEY=your-google-key

# Tool API Keys
TAVILY_API_KEY=your-tavily-key
EXA_API_KEY=your-exa-key

# Database URLs
DATABASE_URL=postgresql://user:password@localhost:5432/agno
VECTOR_DB_URL=postgresql://user:password@localhost:5432/agno

# Optional: Disable telemetry
AGNO_TELEMETRY=false
Agno automatically loads .env files using python-dotenv.

Verify Installation

Create a simple test file to verify your installation:
test_install.py
from agno.agent import Agent
from agno.models.openai import OpenAIChat

agent = Agent(
    name="Test Agent",
    model=OpenAIChat(id="gpt-4o"),
)

response = agent.run("Say hello")
print(response.content)
Run it:
python test_install.py
If you see a response, you’re all set!

Database Setup

Agno provides a script to start PostgreSQL with PgVector using Docker:
# Clone the Agno repository (or download the script)
git clone https://github.com/agno-agi/agno.git
cd agno

# Start PostgreSQL with PgVector
./cookbook/scripts/run_pgvector.sh
This starts a container with:
  • Host: localhost
  • Port: 5532
  • Database: ai
  • User: ai
  • Password: ai
If you have an existing PostgreSQL installation:
  1. Install the PgVector extension:
    CREATE EXTENSION IF NOT EXISTS vector;
    
  2. Create a database:
    CREATE DATABASE agno;
    
  3. Configure your connection:
    from agno.db.postgres import PostgresDb
    
    db = PostgresDb(
        db_url="postgresql+psycopg://user:password@localhost:5432/agno"
    )
    

SQLite (Development Only)

For quick prototyping and development:
from agno.db.sqlite import SqliteDb

db = SqliteDb(db_file="agno.db")
SQLite is single-threaded and not suitable for production. Use PostgreSQL for production deployments.

Using Virtual Environments

Using venv

# Create virtual environment
python -m venv .venv

# Activate (Linux/macOS)
source .venv/bin/activate

# Activate (Windows)
.venv\Scripts\activate

# Install Agno
pip install "agno[os,openai,postgres]"

Using uv (Fast Alternative)

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment and install
uv venv
source .venv/bin/activate
uv pip install "agno[os,openai,postgres]"

Using uvx (No Virtual Environment)

# Run commands directly without managing environments
uvx --with "agno[os]" --with openai fastapi dev app.py

IDE Integration

Add Agno docs as a context source in your IDE:

Cursor

Settings → Indexing & Docs → Add:
https://docs.agno.com/llms-full.txt

VSCode / Windsurf

Same URL works in most AI-powered IDEs that support context indexing.

Upgrade Agno

To upgrade to the latest version:
pip install --upgrade agno
To upgrade with optional dependencies:
pip install --upgrade "agno[os,openai,postgres]"

Uninstall

pip uninstall agno

Common Installation Issues

If you encounter dependency conflicts:
  1. Create a fresh virtual environment
  2. Install only what you need
  3. Avoid installing agno[tests] or agno[demo] in production
python -m venv .venv-clean
source .venv-clean/bin/activate
pip install "agno[os,openai,postgres,pgvector]"
If PostgreSQL adapter installation fails, make sure you have build tools:Ubuntu/Debian:
sudo apt-get install libpq-dev python3-dev
macOS:
brew install postgresql
Windows: Install PostgreSQL from postgresql.org
Use --user flag to install in user directory:
pip install --user agno
Or use a virtual environment (recommended).
Make sure you’re in the correct virtual environment:
which python  # Should point to your venv
pip list | grep agno  # Verify agno is installed

Next Steps

Quickstart

Build your first agent in 5 minutes

Core Concepts

Learn the fundamental building blocks

Cookbook

Explore working examples and patterns

API Reference

Browse the complete API documentation

Telemetry

Agno logs which model providers are used to prioritize updates. No sensitive data is collected. To disable telemetry:
export AGNO_TELEMETRY=false
Or in your .env file:
.env
AGNO_TELEMETRY=false

Build docs developers (and LLMs) love