Open-source data movement platform for ELT pipelines, moving data from APIs, databases and files into warehouses, lakes and AI applications.
ucbepic/docetl
A Python system for running LLM-powered map-reduce and ETL pipelines over large structured and unstructured data, described in natural language.
- Stars
- 4,137
- Forks
- 452
- Open issues
- 47
- Last commit
- 12 days ago
What is it?
DocETL is a system for processing large collections of structured and unstructured data with LLMs. Each operation is written in natural language, and the system provides operators such as map, reduce, filter, resolve, split, and gather, then orchestrates them and parallelizes the work across the dataset. The output is tabular data that can be queried in a database.
The pipeline can be written in three ways: a Python API, a YAML configuration file run through the docetl CLI, or the DocWrangler web UI for interactive prompt development. The project also includes an optimizer, MOAR, that automatically swaps models, rewrites prompts, decomposes operations, and replaces subtasks with code to improve accuracy and reduce cost.
DocETL works with any LLM provider whose API key is set in the environment. It is aimed at teams that would otherwise hand-write and tune chains of LLM calls for document analysis and similar data tasks.
Key features
- 01Map, reduce, filter, resolve, split and gather operators for LLM-based data processing.
- 02Natural-language operation definitions with output schemas.
- 03Automatic pipeline optimization that swaps models and rewrites prompts.
- 04Python API, YAML configuration with a CLI, and a DocWrangler web UI.
- 05Parallel execution across the dataset with rate limit controls.
Use cases
- Extracting structured fields such as complaints or priorities from large batches of support tickets.
- Summarizing documents grouped by category with a map-then-reduce workflow.
- Analyzing transcripts or unstructured text and returning results as tables for querying.
Quick start
- 1
Install the package with pip
pip install docetl - 2
Set your LLM provider API key (for example OpenAI)
export OPENAI_API_KEY=your_key - 3
Write a pipeline YAML file and run it with the CLI
docetl run pipeline.yaml
Things to know
- Requires an API key from an LLM provider, which incurs usage costs.
Topics
FAQ
- What is docetl?
- A Python system for running LLM-powered map-reduce and ETL pipelines over large structured and unstructured data, described in natural language. DocETL is a system for processing large collections of structured and unstructured data with LLMs. Each operation is written in natural language, and the system provides operators such as map, reduce, filter, resolve, split, and gather, then orchestrates them and parallelizes the work across the dataset. The output is tabular data that can be queried in a database.
- Is docetl free to use? What license does it have?
- docetl is open source under the MIT license. Check the license terms before using it in commercial products.
- Is docetl still maintained?
- Actively maintained. The last commit to docetl was on Oct 9, 2026.
- What can I use docetl for?
- Extracting structured fields such as complaints or priorities from large batches of support tickets. Summarizing documents grouped by category with a map-then-reduce workflow. Analyzing transcripts or unstructured text and returning results as tables for querying.
- How do I install docetl?
- Install the package with pip: pip install docetl Set your LLM provider API key (for example OpenAI): export OPENAI_API_KEY=your_key Write a pipeline YAML file and run it with the CLI: docetl run pipeline.yaml
- Where can I get docetl?
- The source code and installation instructions are on GitHub: https://github.com/ucbepic/docetl
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Python framework for building RAG, agent and document-processing applications that connect LLMs to your own data.
A data processing system with 200+ composable operators for cleaning, filtering, deduplicating and synthesizing text, image, audio and video data for foundation model training.
GPU-accelerated toolkit for building repeatable pipelines that filter, deduplicate and transform large text, image, video and audio datasets for AI training.
Agent memory system that stores, recalls and reflects on memories so AI agents learn over time instead of only replaying chat history.
Self-hosted platform for building AI agents and assistants that answer questions from your own documents, with citations and any model.