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.9.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.9.0
File Size Uploaded
gittielabs_agentflow-0.9.0.tar.gz 75.8 kB Details

Built distribution (wheel)

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

Total release size: 153.0 kB

Release files / gittielabs_agentflow-0.9.0.tar.gz

Download URL gittielabs_agentflow-0.9.0.tar.gz
Size 75.8 kB
Tags Source
SHA-256 checksum
How to use checksums
237d195103858e7f4364e030d57bc193352e39168c4173faad913d6087838a63
BLAKE2b-256 checksum
How to use checksums
04310dd5b5d2a8d410e14d7ed29e54f0b0d607cd6909396dfb9a286b8c2e83c1
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 Aug 15, 2026.

Transparency log

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

Download URL gittielabs_agentflow-0.9.0-py3-none-any.whl
Size 77.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
adab3536c05dcee67b3b03bd2391d8248531f629d2f7ac2533c49ce863318c5b
BLAKE2b-256 checksum
How to use checksums
b3db24073f93a266d40d50e006ca6409889e2043f3ef5b575129466478585188
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 Aug 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.10.0

2 release files

This release

0.9.0 This release

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