Skip to content
agentFast
Get started

Installation

Install into your own project, with the extras per SDK.

The Docker Compose stack in the quickstart is the fastest way to see agentFast work. This page is for putting it into a project of your own.

Requirements

| | | |---|---| | Python | 3.11 or newer | | Postgres | 15+ with the pgvector extension — the durable store | | Redis | Optional. Only needed for distributed rate limits |

Postgres is not optional in production: checkpoints are what make a run survive a process death, and they live there. For tests and local experiments you can run entirely in memory — see below.

Install

python -m venv .venv && source .venv/bin/activate
pip install -e ".[langgraph,dev]"

The extras map to the orchestration SDK you intend to use. Install only the one you need:

| Extra | Pulls in | |---|---| | langgraph | langgraph, langchain-core, langchain-anthropic | | crewai | crewai | | claude-agent-sdk | claude-agent-sdk | | openai-agents | openai-agents | | research | ddgs, pypdf — for the ResearchAgent's tools | | chroma | chromadb, if you'd rather not use pgvector | | dev | pytest, pytest-asyncio, ruff, mypy |

The vanilla adapter needs no extra — it talks to Anthropic directly through the anthropic package, which is a base dependency.

NoteWhy extras rather than one big install

Each adapter is roughly 200 lines against a shared seam, and none of them import each other. A project using LangGraph has no reason to carry CrewAI's dependency tree, so it doesn't.

Set up the database

Point agentFast at a Postgres instance and let Alembic build the schema:

export AGENTFAST_DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/agentfast
alembic upgrade head

On an existing database that already has the tables, stamp it instead so migrations start from the right baseline:

alembic stamp 0001_baseline

Verify

pytest -q

Almost the entire suite runs against an in-memory store with a deterministic model, so it needs neither Docker nor an API key. The two flagship kill/resume suites and the storage tests do need Postgres; they're the ones that prove durability, so they talk to a real database on purpose.

TipRunning without Postgres

agentfast serve --in-memory swaps the durable store for an ephemeral one. Useful for demos and local UI work — but a restart loses every run, which is precisely the failure agentFast exists to prevent. Never use it for anything you care about.