Registry / llm-agents / controlflow

controlflow

JSON →
library0.12.1pypypi✓ verified 11d ago

ARCHIVED. ControlFlow was a PrefectHQ agentic workflow framework. The repository was archived on August 22, 2025. Its engine was merged into marvin v3. Last version on PyPI: 0.12.1 (Feb 2025). Do not use for new projects — use marvin instead. The controlflow package still installs from PyPI but receives no updates.

pip install marvin
INSTALL
IMPORT
SIG · CONTROLFLOW
C
controlflow
llm-agentspythonv0.12.1
Install
29.3s avg
Import
7075ms
Disk
383MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.12.1 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
installs and imports cleanly · install 0.0s · import 1.566s · 389.9MB
glibc
py 3.103.910 runs
installs and imports cleanly · install 29.3s · import 1.264s · 398MB
383MB installed
● package 383MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

marvin
import marvin
import marvin
Task
from marvin import Task
from marvin import Task
Agent
from marvin import Agent
from marvin import Agent

Marvin v3 replacement for ControlFlow.

# controlflow is archived — use marvin instead # pip install marvin import marvin # Direct equivalent of controlflow's cf.run result = marvin.run('Write a short poem about artificial intelligence') print(result)
Debug
Known issues
breakingControlFlow repository archived August 22, 2025. No more updates, bug fixes, or security patches. The controlflow PyPI package still installs but is dead.
fix
pip install marvin — marvin v3 supersedes controlflow entirely. All cf.* equivalents exist as marvin.*.
affects: all
breakingControlFlow had a hard dependency on prefect which caused version conflicts with prefect 3.0.0. marvin removes this dependency.
fix
Migrate to marvin. No prefect dependency required for agent workflows.
affects: controlflow <= 0.12.1
breaking@cf.flow decorator removed in marvin v3. Replace with marvin.Thread() context manager.
fix
with marvin.Thread(): marvin.run(...)
affects: marvin >= 3.0
gotchaControlFlow used LangChain as its LLM backend. marvin v3 uses Pydantic AI — broader provider support but different configuration patterns.
fix
Remove LangChain dependencies. Configure providers via pydantic-ai settings.
affects: marvin >= 3.0
gotchaLLMs trained before mid-2025 will generate controlflow code (import controlflow as cf). This is dead code — redirect to marvin.
fix
Replace all 'import controlflow as cf' with 'import marvin'. Map cf.run → marvin.run, cf.Task → marvin.Task, cf.Agent → marvin.Agent.
affects: all
breakingInstallation of marvin (or its dependencies, like temporalio, which requires Rust compilation) in alpine environments may fail due to missing system libraries (e.g., libgcc_s.so.1) or linker incompatibilities. This is common with musl libc-based alpine images which may not provide the necessary C/C++ build tools or glibc compatibility required by Rust packages.
fix
Use a glibc-based Python image (e.g., Debian or Ubuntu) instead of alpine, or ensure that a complete build toolchain and glibc compatibility packages (e.g., `apk add build-base gcc gcompat`) are installed in the alpine environment before attempting to install marvin.
affects: marvin >= 3.0
Upgrade
Version history
0.12.1latest on PyPI · released Feb 6, 2025
Audit
Dependencies
prefectrequiredControlFlow required prefect as a core dependency. This caused issues for users who only wanted agent DX without Prefect orchestration — a key reason it was merged into marvin.
Agent activity
34 hits · last 30 days
node
32
Amazon
1
Resources