Skip to main content

AgentFlow

PyPI version Python 3.11+ License: Apache 2.0 CI

Context engineering framework for multi-agent systems.

AgentFlow is a framework-agnostic toolkit for building multi-agent workflows using plain Markdown and YAML configuration files. Define agents, workflows, routing rules, and context -- all in version-controllable .md files.

Full Documentation | PyPI | GitHub

Key Features

  • Markdown + YAML config files -- Agents, workflows, and routing defined in .prompt.md, .workflow.md, .context.md files
  • Pluggable LLM providers -- Anthropic Claude, OpenAI GPT, Google Gemini, or any OpenAI-compatible API
  • Hybrid routing -- YAML rule matching with LLM fallback, plus hierarchical domain routing
  • DAG-based workflows -- Sync, parallel, and async node execution with input mapping
  • Code handler nodes -- Register Python functions as workflow steps for deterministic processing without LLM calls
  • Foreach iteration -- Run any node (agent or handler) once per item in a list artifact
  • Session management -- Scratchpads, multi-user history, and artifact storage
  • Memory system -- File-based and vector search (embedding-agnostic)
  • Tool registry -- Local and HTTP tool dispatchers with structured raw_result in events
  • Event-driven observability -- EventBus with Langfuse telemetry (session, trace context, resource attributes)

Install

pip install gittielabs-agentflow

# With a specific LLM provider
pip install "gittielabs-agentflow[anthropic]"    # Claude
pip install "gittielabs-agentflow[google]"       # Gemini
pip install "gittielabs-agentflow[openai]"       # OpenAI / compatible

# Everything
pip install "gittielabs-agentflow[all]"

Quick Start

1. Define an agent (context/agents/researcher.prompt.md)

---
name: researcher
provider: anthropic
model: claude-sonnet-4-6
temperature: 0.7
max_tokens: 4096
tools: [web_search, summarize]
context_files: [shared/guidelines.context.md]
---

You are a research agent. Given a topic, search for relevant information
and provide a comprehensive summary with sources.

2. Define a workflow (context/workflows/research.workflow.md)

---
name: research_pipeline
trigger: api
nodes:
  - id: research
    agent: researcher
    next: format
  - id: format
    agent: formatter
    inputs:
      message: "research.text"
---

Research pipeline: search, then format results.

3. Define routing rules (context/router.prompt.md)

---
name: main_router
routing_rules:
  - if: "'research' in message or 'find' in message"
    routeTo: research_pipeline
  - if: "'analyze' in message"
    routeTo: analyzer
fallback: general_assistant
llmFallback: true
---

Route incoming messages to the appropriate agent or workflow.

4. Run

from agentflow import (
    ConfigLoader, RouterEngine, WorkflowExecutor, AgentExecutor,
    ToolRegistry, SessionManager, EventBus,
    FileSystemStorage, AnthropicProvider,
)

# Load configs
loader = ConfigLoader("./context")
loader.load()

# Set up infrastructure
storage = FileSystemStorage("./data")
events = EventBus()
provider = AnthropicProvider()
tools = ToolRegistry()
sessions = SessionManager(storage)

# Route a message
router = RouterEngine(loader, provider, events)
result = await router.route("Research the latest AI safety papers")

# Execute workflow
if result.target == "research_pipeline":
    executor = WorkflowExecutor(loader, provider, tools, sessions, storage, events)
    outputs = await executor.run("Research the latest AI safety papers", session_id="s1")

See the Quick Start guide for a complete walkthrough.

Architecture

agentflow/
  agent/          # AgentExecutor, ContextAssembler, PromptTemplate
  config/         # ConfigLoader, schemas, parser, ContextResolver
  router/         # RouterEngine, DomainRouter, RuleEvaluator
  workflow/       # WorkflowExecutor, WorkflowDAG, NodeRunner
  session/        # SessionManager, Scratchpad, ArtifactStore
  memory/         # MemoryManager, FileMemory, VectorMemory
  tools/          # ToolRegistry, LocalToolDispatcher, HTTPToolDispatcher
  providers/      # Anthropic, OpenAI-compat, Google GenAI, Mock
  storage/        # FileSystem, InMemory, S3
  orchestration/  # DAGExecutor, ComplexityClassifier, Plan
  telemetry/      # LangfuseEventHandler
  events.py       # EventBus pub/sub system
  types.py        # Canonical data types (Message, AgentResponse, etc.)
  protocols.py    # Structural typing interfaces (LLMProvider, StorageBackend, etc.)

Learn more in the Architecture docs.

Context File Types

Extension Purpose Example
*.prompt.md Agent config + system prompt agents/planner.prompt.md
*.workflow.md DAG workflow definition workflows/analysis.workflow.md
*.context.md Shared context / conditional profiles shared/schema.context.md
*.memory.md Memory retention config agents/researcher.memory.md
*.domain.md Domain routing boundary domains/content.domain.md

See Context Files for full schema reference.

Documentation

Full documentation is available at gittielabs.github.io/agentflow, including:

Contributing

git clone https://github.com/GittieLabs/agentflow.git
cd agentflow
pip install -e ".[dev]"
pytest

License

Apache License 2.0 -- see LICENSE and NOTICE. Releases 0.8.2 and earlier remain available under the MIT License; those rights are not revoked by this change.

Release files for gittielabs-agentflow 0.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gittielabs-agentflow 0.12.0
File Size Uploaded
gittielabs_agentflow-0.12.0.tar.gz 90.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gittielabs-agentflow 0.12.0
File Interpreter ABI Platform
gittielabs_agentflow-0.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 175.4 kB

Release files / gittielabs_agentflow-0.12.0.tar.gz

Download URL gittielabs_agentflow-0.12.0.tar.gz
Size 90.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9f98230581223ea60d2cccbb9cc44ed6c3edba2f95bffaeb99ae5fd2b2395681
BLAKE2b-256 checksum
How to use checksums
d751fb8ac6fae9fbfa3133d2a79933c6c7e13a7b79eef5e5e3ee5c7103615fd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release files / gittielabs_agentflow-0.12.0-py3-none-any.whl

Download URL gittielabs_agentflow-0.12.0-py3-none-any.whl
Size 85.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e1c82c13b6d52b9b7608de4cca596f1c67459ba38266bb8a6642e0277a81eeca
BLAKE2b-256 checksum
How to use checksums
17a6bcfeafe84bb6d9d49e5a5ade4508ef3e48f78ca6e1131bbbd2e5835e13c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 4, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.12.0 This release

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page