{"adoption": {"forks": 427, "observed_at": "2026-08-28T04:08:31.870915+00:00", "stars": 3995}, "canonical_url": "https://ross.abutalabs.com/products/docetl", "card": {"archived": false, "artifact_type": "library", "description": "A system for agentic LLM-powered data processing and ETL", "domain": ["large-language-models", "developer-tools"], "enriched": true, "function": ["etl", "llm-inference", "agent-framework", "nlp", "data-science", "workflow-automation", "cli"], "health_score": 97, "homepage": "https://docetl.org", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["ucbepic/docetl"], "name": "ucbepic/docetl", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-10T15:00:22+00:00", "repo": "ucbepic/docetl", "stars": 3995, "tags": ["llm-pipelines", "unstructured-data", "document-processing", "map-reduce", "semantic-data-processing", "data-pipelines", "docwrangler", "yaml-pipelines", "data-engineering", "natural-language-processing", "ai-agents", "automation"], "topics": ["data", "etl", "llm", "python", "data-pipelines", "elt", "workflow", "agents", "semantic-data", "document-processing", "unstructured-data", "unstructured-data-analysis", "document-analysis"], "urls": [], "use_cases": ["extract structured fields from unstructured documents with llms", "classify and summarize thousands of support tickets", "build etl pipelines that use llm calls as operators", "process large collections of pdfs or text into queryable tables", "optimize llm data processing pipelines for cost and accuracy", "run map-reduce style analysis over unstructured text data"], "what_it_is": "DocETL is a Python library and CLI for building LLM-powered data processing and ETL pipelines over structured and unstructured data using declarative map-reduce operations written in natural language. It automatically optimizes pipelines by swapping models, rewriting prompts, and decomposing operations to improve accuracy and reduce cost.", "when_to_avoid": ["your data is already structured and needs only deterministic transformations", "you cannot send your data to external llm providers due to privacy constraints", "you need real-time low-latency processing rather than batch pipelines", "you want a full visual etl platform without any coding"], "when_to_choose": ["you need to process large volumes of unstructured text or documents with llms", "you want declarative, optimizable llm pipelines instead of hand-wiring individual calls", "you want map-reduce style semantic operators with automatic parallelization", "you prefer python or yaml definitions for data transformation workflows"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/docetl", "repo": "ucbepic/docetl", "role": "main", "score": 86}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:31.870915+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:24:11.817421+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2056bba8bfa7f221bc1e8cb31577a5aa7d0bbb15ea46b090a8f2f5f8f41fcc36", "fetched_at": "2026-08-28T04:08:31.870915+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ucbepic/docetl"}, {"content_hash": "e0292c304fb5e2843183bd2b022f48b415aa44021f9c223fc663c187e4dea0f1", "fetched_at": "2026-08-29T09:17:22.105050+00:00", "kind": "homepage", "missing": false, "url": "https://docetl.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 56, "rhythm": 89}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 785, "days_push": 23, "days_rel": 77, "gap_med": 22, "n_releases_24m": 14}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}