Installation¶
Looking for a step-by-step beginner tutorial? See the Quick Start Guide for a hands-on introduction. This page lists all installation options and extras.
apflow can be installed with different feature sets depending on your needs.
Core Library (Minimum)¶
The core library provides pure task orchestration without any LLM dependencies:
Includes: - Task orchestration specifications (TaskManager) - Core interfaces (ExecutableTask, BaseTask, TaskStorage) - Storage (DuckDB default) - NO CrewAI dependency
Excludes: - CrewAI support - Batch execution - API server - CLI tools
With Optional Features¶
CrewAI Support¶
Includes: - CrewaiExecutor for LLM-based agent crews - BatchCrewaiExecutor for atomic batch execution of multiple crews
A2A Protocol Server¶
Includes: - A2A Protocol Server for agent-to-agent communication - HTTP, SSE, and WebSocket support
Usage:
CLI Tools¶
Includes: - Command-line interface tools
Usage:
PostgreSQL Storage¶
Includes: - PostgreSQL storage support (for enterprise/distributed scenarios)
SSH Executor¶
Includes: - SSH executor for remote command execution - Execute commands on remote servers via SSH
Docker Executor¶
Includes: - Docker executor for containerized execution - Execute commands in isolated Docker containers
gRPC Executor¶
Includes: - gRPC executor for gRPC service calls - Call gRPC services and microservices
Everything¶
Includes: - All optional features (crewai, a2a, cli, postgres, ssh, docker, grpc)
Requirements¶
- Python: 3.10 or higher (3.12+ recommended)
- DuckDB: Included by default (no setup required)
- PostgreSQL: Optional, for distributed/production scenarios
Development Installation¶
For development, install with development dependencies:
# Clone the repository
git clone https://github.com/aipartnerup/apflow.git
cd apflow
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in development mode with all features
pip install -e ".[all,dev]"
Verification¶
After installation, verify the installation:
Or using the CLI (if installed with [cli]):