{"id":150,"library":"controlflow","title":"ControlFlow (archived — use marvin)","description":"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.","status":"deprecated","version":"0.12.1","language":"python","source_language":"en","source_url":"https://github.com/prefect-archive/ControlFlow","tags":["controlflow","marvin","prefect","agents","deprecated","archived"],"install":[{"cmd":"pip install marvin","lang":"bash","label":"Python (use this instead)"},{"cmd":"pip install controlflow","lang":"bash","label":"Python (archived — do not use for new projects)"}],"dependencies":[{"reason":"ControlFlow 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.","package":"prefect","optional":false}],"imports":[{"wrong":"import marvin","symbol":"marvin","correct":"import marvin"},{"wrong":"from marvin import Task","symbol":"Task","correct":"from marvin import Task"},{"wrong":"from marvin import Agent","symbol":"Agent","correct":"from marvin import Agent"}],"quickstart":{"code":"# controlflow is archived — use marvin instead\n# pip install marvin\nimport marvin\n\n# Direct equivalent of controlflow's cf.run\nresult = marvin.run('Write a short poem about artificial intelligence')\nprint(result)","lang":"python","description":"Marvin v3 replacement for ControlFlow."},"warnings":[{"fix":"pip install marvin — marvin v3 supersedes controlflow entirely. All cf.* equivalents exist as marvin.*.","message":"ControlFlow repository archived August 22, 2025. No more updates, bug fixes, or security patches. The controlflow PyPI package still installs but is dead.","severity":"breaking","affected_versions":"all"},{"fix":"Migrate to marvin. No prefect dependency required for agent workflows.","message":"ControlFlow had a hard dependency on prefect which caused version conflicts with prefect 3.0.0. marvin removes this dependency.","severity":"breaking","affected_versions":"controlflow <= 0.12.1"},{"fix":"with marvin.Thread(): marvin.run(...)","message":"@cf.flow decorator removed in marvin v3. Replace with marvin.Thread() context manager.","severity":"breaking","affected_versions":"marvin >= 3.0"},{"fix":"Remove LangChain dependencies. Configure providers via pydantic-ai settings.","message":"ControlFlow used LangChain as its LLM backend. marvin v3 uses Pydantic AI — broader provider support but different configuration patterns.","severity":"gotcha","affected_versions":"marvin >= 3.0"},{"fix":"Replace all 'import controlflow as cf' with 'import marvin'. Map cf.run → marvin.run, cf.Task → marvin.Task, cf.Agent → marvin.Agent.","message":"LLMs trained before mid-2025 will generate controlflow code (import controlflow as cf). This is dead code — redirect to marvin.","severity":"gotcha","affected_versions":"all"},{"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.","message":"Installation 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.","severity":"breaking","affected_versions":"marvin >= 3.0"}],"env_vars":null,"search_vec":"'0.12.1':32 '2025':20,34 '22':19 'agent':10,58 'archiv':2,5,16,60 'august':18 'controlflow':1,6,45,55 'deprec':59 'engin':22 'feb':33 'framework':12 'instal':48 'instead':43 'last':28 'marvin':4,26,42,56 'merg':24 'new':39 'packag':46 'prefect':57 'prefecthq':9 'project':40 'pypi':31,50 'receiv':52 'repositori':14 'still':47 'updat':54 'use':3,37,41 'v3':27 'version':29 'workflow':11","created_at":"2026-03-24T04:45:35.365677+00:00","updated_at":"2026-04-16T03:45:59.577314+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmpl74qafcq/venv/lib/python3.12/site-packages/marvin/__init__.py\", line 5, in <module>\n    from marvin.database import init_database_if_necessary\n  File \"/tmp/tmpl74qafcq/venv/lib/python3.12/site-packages/marvin/d"},"ecosystem":"pypi","meta_description":null,"install_score":38,"quickstart_score":23,"quickstart_tag":"stale","pypi_latest":"0.12.1","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/PrefectHQ/ControlFlow","docs":null,"changelog":null,"pypi":"https://pypi.org/project/controlflow/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","workflow","ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-08-26","next_check":"2026-07-10","install_tag":"stale"}}