#6464th of 82 in Agent frameworks and SDKs
marvin
Python framework for structured LLM outputs and task-based agent workflows
- Stars
- 6.2k
- License
- Apache-2.0
- Last commit
- Oct 2026
- Last release
- Oct 2026
- Language
- Python
6,075 on 3 Apr 20266,207 on 30 Oct 2026
From GitHub's daily star counts.
Checked on GitHub.
Overview
Marvin is a Python library that turns LLM calls into typed results (extract, cast, classify, generate) and runs agentic workflows built from tasks, agents and threads. Version 3.0 ports the ControlFlow engine and uses Pydantic AI for model access, so it works with the providers Pydantic AI supports. Thread and message history is stored in SQLite.
Who it is for: Python developers adding typed LLM outputs and agent workflows to code
Strengths
- Typed, validated results via Pydantic types, e.g. result_type=int or custom models
- Works with all Pydantic AI model providers; OpenAI is the default
- Small API: run, Task, Agent, Thread, plus extract, cast, classify, generate
- Threads share context and history across tasks; marvin.plan breaks goals into tasks
Weaknesses
- No database migrations yet; README says to expect resetting data on updates
- README's tool example runs untrusted shell commands; no sandboxing described
- 3.0 renamed ControlFlow concepts (Flow to Thread, @flow removed), so migration is needed
- No web UI or deployment tooling in README; observability is console output
What it needs
- no GPU
- Needs LLM provider API key (OpenAI by default), SQLite (thread history)
- Models: OpenAI, Anthropic, All Pydantic AI models
Quick answers
Is marvin open source?
Yes. Its code is on GitHub under the Apache-2.0 license.
Does marvin need a GPU?
No, it runs without one.
Also in Agent frameworks and SDKs
See all 82| Rank | Project | Score |
|---|---|---|
| 1 | ppt-masterAgent skill that turns documents into natively editable PowerPoint decks | 95 out of 100 |
| 2 | openai-agents-pythonPython SDK for multi-agent workflows with handoffs, guardrails and tracing | 90 out of 100 |
| 3 | langchainPython framework for building LLM agents and apps from interoperable components | 89 out of 100 |
| #4 | browser-usePython library that lets an LLM agent control a web browser | 89 out of 100 |
| #5 | tradingagentsMulti-agent LLM framework that simulates a trading firm's analysis process | 89 out of 100 |