CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-agno

A lightweight library for building Multi-Agent Systems

Overview
Eval results
Files

storage.mddocs/

Storage and Database API

Persistent storage for agent sessions, runs, and state.

Capabilities

Database Base Class

from agno.db import BaseDb

class BaseDb:
    """Base class for all storage backends"""
    
    def create_session(self, session: AgentSession) -> None: ...
    def read_session(self, session_id: str) -> Optional[AgentSession]: ...
    def update_session(self, session: AgentSession) -> None: ...
    def delete_session(self, session_id: str) -> None: ...

SQL Databases

# PostgreSQL
from agno.db.postgres import PostgresDb

class PostgresDb:
    def __init__(
        self,
        db_url: Optional[str] = None,
        schema: str = "ai",
        table_name: str = "agent_sessions",
        **kwargs
    ): ...

# SQLite
from agno.db.sqlite import SqliteDb

class SqliteDb:
    def __init__(
        self,
        db_file: Optional[str] = None,
        table_name: str = "agent_sessions",
        **kwargs
    ): ...

# MySQL
from agno.db.mysql import MySQLDb

NoSQL Databases

# MongoDB
from agno.db.mongo import MongoDb

class MongoDb:
    def __init__(
        self,
        db_url: Optional[str] = None,
        db_name: str = "agno",
        collection_name: str = "agent_sessions",
        **kwargs
    ): ...

# Redis
from agno.db.redis import RedisDb

class RedisDb:
    def __init__(
        self,
        redis_url: Optional[str] = None,
        key_prefix: str = "agno:",
        **kwargs
    ): ...

Cloud Databases

# Google Firestore
from agno.db.firestore import FirestoreDb

class FirestoreDb:
    def __init__(
        self,
        project_id: Optional[str] = None,
        collection_name: str = "agent_sessions",
        **kwargs
    ): ...

# AWS DynamoDB
from agno.db.dynamo import DynamoDb

class DynamoDb:
    def __init__(
        self,
        table_name: str,
        region_name: Optional[str] = None,
        aws_access_key_id: Optional[str] = None,
        aws_secret_access_key: Optional[str] = None,
        **kwargs
    ): ...

File-based Storage

# JSON file storage
from agno.db.json import JsonDb

class JsonDb:
    def __init__(
        self,
        db_file: str = "agent_sessions.json",
        **kwargs
    ): ...

# In-memory storage
from agno.db.in_memory import InMemoryDb

class InMemoryDb:
    def __init__(self, **kwargs): ...

Usage Examples

Using PostgreSQL

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.db.postgres import PostgresDb

agent = Agent(
    model=OpenAIChat(id="gpt-4"),
    db=PostgresDb(
        db_url="postgresql://user:pass@localhost:5432/agno",
        schema="ai",
        table_name="sessions"
    ),
    add_history_to_context=True
)

Using SQLite

from agno.agent import Agent
from agno.db.sqlite import SqliteDb

agent = Agent(
    model=OpenAIChat(id="gpt-4"),
    db=SqliteDb(db_file="agent.db"),
    add_history_to_context=True
)

Using MongoDB

from agno.agent import Agent
from agno.db.mongo import MongoDb

agent = Agent(
    model=OpenAIChat(id="gpt-4"),
    db=MongoDb(
        db_url="mongodb://localhost:27017",
        db_name="agno",
        collection_name="sessions"
    )
)

Install with Tessl CLI

npx tessl i tessl/pypi-agno

docs

agent.md

agentos.md

eval.md

exceptions.md

guardrails.md

index.md

knowledge.md

media.md

memory.md

models.md

sessions.md

storage.md

team.md

tools.md

workflow.md

tile.json