Installation Options

Use Python 3.11, 3.12, 3.13, or 3.14. See Run your first agent for the first working API example. It uses a fake model and needs no provider credentials.

Python 3.14 requires Pydantic 2.13.0 or later. This version also supports the legacy models used by Langfuse SDK v2 and v3. The package metadata applies this minimum only on Python 3.14. The studio extra also requires jsonschema-rs>=0.44.1 on Python 3.14. Older locked versions cannot build on this interpreter. Update the application lockfile when changing Python versions. Docker images and the LangGraph deployment configuration still use Python 3.13.

For a published package installation, create an environment outside the source checkout:

uv venv --python 3.13
uv pip install langgraph-agent-toolkit

The base installation contains the service, graph runtime, search tools, and PostgreSQL and SQLite checkpoint adapters. These dependencies remain in the base package to preserve existing service installations. It does not install a model provider, Streamlit, or the LangGraph development server.

Provider and Backend Extras

Install the extras for the provider and deployment backend that you use.

# OpenAI, Uvicorn, and Langfuse SDK v4
uv pip install "langgraph-agent-toolkit[openai,uvicorn-backend,langfuse-v4]"

# Anthropic, AWS Lambda, and LangSmith
uv pip install "langgraph-agent-toolkit[anthropic,aws-backend,langsmith]"

The provider extras are openai, anthropic, aws, google-vertexai, and google-genai. all-llms installs all of them. The fake model works without a provider extra or an API key.

openai-aiohttp adds the OpenAI SDK’s optional asynchronous transport. The API Docker image includes this extra and selects aiohttp by default. all-llms and all also include it. Python installations keep HTTPX as their default so the base openai extra does not require aiohttp. See Connections and High Traffic to select a transport and configure connection limits.

The backend extras are uvicorn-backend, gunicorn-backend, aws-backend, and azure-backend. all-backends installs all of them. Uvicorn is already a base dependency. Its named extra remains available for existing installation commands. Use langfuse-v2, langfuse-v3, or langfuse-v4 to select a Langfuse Python SDK generation. Choose only one selector. These extras do not select or install a Langfuse server. See Langfuse compatibility for the supported SDK and server combinations.

The generic langfuse extra permits SDK versions from 2.60.10 to below 5. It can combine with any one version selector. langsmith selects LangSmith, and all-observability includes both generic langfuse and langsmith. Extra names use hyphens; underscore spellings such as langfuse_v2 normalize to the same name.

Agent Integrations

Install only the integrations that your agents use:

uv pip install "langgraph-agent-toolkit[mcp]"
uv pip install "langgraph-agent-toolkit[deepagents,openai]"

mcp adds remote tool discovery and calls. deepagents adds the optional Deep Agent blueprint. A real model still needs its provider extra and configuration. See MCP tools, Deep Agents, and Choose an agent integration for their use cases and limits.

UI and Development Server

# Install the Streamlit frontend.
uv pip install "langgraph-agent-toolkit[ui]"

# Install the LangGraph development server and CLI.
uv pip install "langgraph-agent-toolkit[studio]"

# Install all optional features with the default SDK selection.
uv pip install "langgraph-agent-toolkit[all]"

# Install the same features with Langfuse SDK v2.
uv pip install "langgraph-agent-toolkit[all,langfuse-v2]"

Extras add dependencies. They cannot remove the graph and service dependencies from the base wheel. There is no client package extra that produces a smaller wheel installation. Langfuse SDK selectors are published extras in the wheel. Local dependency groups are available only from a source checkout.

Minimal Frontend from Source

A source checkout has a separate dependency group for the SDK and Streamlit frontend. This group does not install the package or its service dependencies. Run these commands from the repository root:

uv sync --frozen --only-group client
uv run --no-sync streamlit run langgraph_agent_toolkit/run_app.py

Keep --no-sync on the run command. A normal project sync also installs the base service dependencies.

Development and Deployment

Install the locked development environment with all optional features:

uv sync --frozen --no-install-project --extra all
uv run --no-sync pytest

Replace earlier --all-extras commands with --extra all. Selecting every extra now includes three incompatible Langfuse SDK selectors. The all extra keeps the complete feature set and uses SDK v4 in the default lockfile selection. It does not force the langfuse-v4 selector.

Add one selector to use another SDK generation, when all dependencies permit it:

uv sync --frozen --no-install-project --extra all --extra langfuse-v2

Use langfuse-v3 or langfuse-v4 in the same position. Keep the selected SDK generation in the deployment’s install command and lockfile.

The lockfile fixes the complete source environment. The wheel metadata limits the graph and model framework APIs to the versions supported by this release. Python 3.13 is required for the configured pre-commit hook environments. See Contributing for source changes and Testing for opt-in process, container, database, and live-provider tests.

The API Docker image includes OpenAI, both HTTP transports, MCP, Gunicorn, and observability dependencies. Deep Agents requires the INSTALL_DEEPAGENTS=true build argument. Other model providers require a custom image with their extras.

See Deployment and Recovery for worker recovery, database sizing, and concurrent conversation limits.