LIFEHUBBER
Choose theme

AI Resources

DocETL

GitHub stars: 4.2K GitHub forks: 464 Declared license: MIT: MIT Last pushed October 30, 2026: Pushed 5d ago
Stats from GitHub

DocETL is a Python framework for applying model-powered processing steps to a collection of records. You can extract fields, classify entries and group the results for a summary or further analysis.

The project comes from UC Berkeley research groups. Its companion interface, DocWrangler, lets you work on a pipeline and inspect the output from individual steps. Use this as a first read, not a recommendation. Open the original project before trusting details like terms, limits, privacy, cost, setup, or safety.

What it is

Repeatable steps for a collection of text

Describe the operation in a prompt and specify the fields you want back. Define the pipeline in Python or YAML so the same steps can run over the next batch.

Why it stands out

Work on each record, then on each group

A map step applies an operation to each record. A reduce step combines records that share a key. For support tickets, that means deciding the category for each ticket first and then summarizing what people reported in each category.

Availability

Python package and browser workspace

DocETL is published on PyPI for Python 3.10 or later. DocWrangler has hosted and self-hosted setup paths. The main repository lists the MIT license and provides the source and examples.

Why it matters

What makes it useful

A folder of support tickets may contain the same complaint phrased dozens of ways. The project example assigns a category and priority to each ticket, then writes a summary for each category. Those two steps give you ticket-level labels to inspect and a shorter account of what people reported.

Notable points

What stands out

The Python example previews the grouped results using five documents. To check individual labels, inspect sample output from the map step in DocWrangler. If similar tickets land in different categories, you can refine the category instructions before those labels determine which tickets get summarized together.

Before using

What to review

The Python package requires Python 3.10 or later. Hosted model providers require their own credentials. DocETL also documents a local Ollama setup.

The hosted DocWrangler documentation says the service caches results and stores data on its servers. Its setup guide describes a local interface as another option. Check where model requests go separately when choosing the provider for that setup.

Inspect the labels and extracted fields before relying on a group summary. A record filed under the wrong category can change which details the summary reflects.

Reader fit

Who may find it relevant

DocETL is geared toward people who need to repeat the same analysis across many records, such as a team sorting feedback each month. It helps when you can describe the fields or categories you want and can spare time to check examples from the result.

Editorial note

Why LifeHubber lists it

LifeHubber lists DocETL because DocWrangler can export results from any operation to CSV. If a category summary looks wrong after a run, you can export the ticket labels from the preceding step and check which tickets were grouped together. That gives the person reviewing a report a way to trace whether a missing complaint was filed under a different category or dropped from the summary.

Source links

Source materials

Reader note

Before relying on this entry

LifeHubber lists entries to help readers inspect AI projects, not to endorse them or prove they are safe, suitable, accurate, maintained, or right for a specific use. We do not verify every entry in depth. Before relying on anything listed, review the original materials, terms, privacy practices, limits, and risks that matter for your situation.

Advertisements

Advertisements

For project maintainers

Listed here? You can use the badge.

If you maintain a project with a current LifeHubber listing, you may add the optional “Listed on LifeHubber AI Resources” badge to its README, docs, or website. No introduction or permission request is needed.

See what’s moving