TaskWeaver

The first "code-first" agent framework for seamlessly planning and executing data analytics tasks.

open-sourceagent-frameworks
6.1k
Stars
+30
Stars/month
0
Releases (6m)

Star Growth

+4 (0.1%)
6.0k6.1k6.3kMar 27Apr 1

Overview

TaskWeaver is a code-first agent framework designed specifically for data analytics tasks, distinguishing itself from traditional chat-based AI agents by preserving both conversation history and code execution state. The framework interprets user requests through code snippets and coordinates various plugins as functions to execute complex data analysis workflows in a stateful manner. What sets TaskWeaver apart is its ability to maintain in-memory data across interactions, making it particularly effective for handling high-dimensional tabular data and complex data structures that require persistent state. The framework features a multi-role architecture with components like Planner and Code Generator working together to break down analytical tasks into executable code. Recent enhancements include vision input support for the Planner role, an experimental Recepta role for enhanced reasoning capabilities, shared memory functionality for cross-role information sharing, and integration with AgentOps for better observability. TaskWeaver supports both cloud and local language models, offers Docker containerization for easy deployment, and uses container mode by default for secure code execution. With over 6,000 GitHub stars, it represents a mature approach to AI-driven data analytics that bridges the gap between conversational AI and executable code generation.

Deep Analysis

Key Differentiator

Unlike text-only agent frameworks like AutoGen, TaskWeaver preserves full code execution state and in-memory data across turns, enabling seamless multi-step data analytics that manipulate DataFrames and complex structures directly

Capabilities

  • Code-first agent framework that converts user requests into executable Python code for data analytics
  • Intelligent task decomposition with reflective execution allowing agents to adjust strategies dynamically
  • Stateful execution preserving both chat history and code execution context including in-memory data
  • Code verification and sandboxed execution via Docker containers
  • Plugin system for extending capabilities (SQL databases, web browsing, stock data, etc.)
  • Complex data structure handling (DataFrames, nested objects) beyond plain text

🔗 Integrations

OpenAILiteLLMOllamaGeminiQWenAgentOpsDockerLangChain (SQL plugin)

Best For

  • Data scientists needing automated multi-step analytics pipelines with code generation
  • Teams building AI agents that must handle complex data structures like DataFrames natively

Not Ideal For

  • Simple chatbot use cases — use Dify or Open WebUI instead
  • Non-analytics agent workflows — use LangGraph or CrewAI for general-purpose agents

Languages

Python

Deployment

pip installDocker containerized executionWeb UICLILibrary import into existing Python apps

Pricing Detail

Free: Fully open-source (MIT License)
Paid: N/A — pay only for LLM API usage

Known Limitations

  • Python 3.10+ only — no support for other languages
  • Requires Docker for default sandboxed code execution mode
  • LLM planning outcomes are non-deterministic and depend on model quality
  • Focused on data analytics — not a general-purpose agent framework
  • No async LLM interaction support yet

Pros

  • + Stateful code execution that preserves in-memory data and execution history across interactions, enabling complex multi-step data analysis workflows
  • + Code-first approach that generates actual executable code rather than just text responses, providing transparency and repeatability in data analytics tasks
  • + Strong plugin ecosystem with function-based architecture that allows easy extension and coordination of various data processing tools

Cons

  • - Complexity overhead compared to simple chat agents, requiring more setup and understanding of the multi-role architecture
  • - Primarily focused on data analytics use cases, limiting applicability for general-purpose AI agent applications
  • - Container mode execution, while secure, may introduce performance overhead and deployment complexity

Use Cases

  • Multi-step data analysis workflows where intermediate results need to be preserved and referenced across different analytical operations
  • Complex tabular data processing tasks involving high-dimensional datasets that require stateful manipulation and transformation
  • Automated report generation and data visualization pipelines that combine multiple data sources and analytical functions

Getting Started

Install TaskWeaver via pip with Python 3.10+ requirements, configure the framework by setting up your preferred LLM provider and plugin directories, then run your first data analytics task by submitting a natural language request that will be converted into executable code

Compare TaskWeaver