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 marvinVerified import paths — ran on the pinned version, not inferred.
Marvin v3 replacement for ControlFlow.
pip install marvin — marvin v3 supersedes controlflow entirely. All cf.* equivalents exist as marvin.*.
Migrate to marvin. No prefect dependency required for agent workflows.
with marvin.Thread(): marvin.run(...)
Remove LangChain dependencies. Configure providers via pydantic-ai settings.
Replace all 'import controlflow as cf' with 'import marvin'. Map cf.run → marvin.run, cf.Task → marvin.Task, cf.Agent → marvin.Agent.
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.