cocoindex-io/cocoindex

Data

An ETL and indexing engine that reprocesses only changed data, keeping RAG corpora and agent context fresh.

11,767
920
Rust
Apache-2.0
1 year old

CocoIndex is worth a serious look if your RAG or agent pipeline is currently rebuilt from scratch whenever source data changes. It is not a general-purpose workflow builder; it is an opinionated incremental ETL core for AI ingestion, and that focus is both its appeal and its boundary.

The problem

A team has documents, Slack messages, meeting notes and PDFs that should feed an LLM app. The usual approach chunks and embeds everything on a schedule, so a single edited page triggers a full or ad hoc re-embedding run. That wastes model calls and leaves a window where the index no longer matches the source. CocoIndex changes the step from "recompute the corpus" to "declare the pipeline and let the engine reconcile deltas," so changed records are propagated through joins and lookups while untouched rows stay as they are.

What's different

The core mechanism is incremental processing across the whole pipeline, not just at the embedding call. Source change detection feeds a declarative Python transformation graph, and the engine tracks what was affected, updates the target store and retires stale rows. The README describes this as processing only the delta, with parallel chunking, zero-copy transforms where possible and failure isolation so one bad record does not stall the flow. The Rust core handles the execution side while pipelines are written in Python, which keeps the authoring model approachable without making Python responsible for scheduling.

The practical trade-off is that you commit to the framework's model of declarative flows and reconciliation rather than writing arbitrary batch scripts. The author compares it to "n8n with python blocks" for large-scale RAG pipelines in the launch discussion, which is a useful mental model: composable blocks, but still a framework you build inside. The README's enterprise material advertises petabyte-scale incremental indexing and lineage, but those figures come from the vendor's own marketing and should be treated as claims to evaluate against your corpus, not as independent benchmarks.

Who should try it

Good fit: a team maintaining a vector index or knowledge graph over changing internal sources where re-embedding cost and freshness both matter. Also a fit if you want a Python pipeline for document parsing, extraction and loading into a database, even outside RAG. In the 2025 Show HN thread, a maintainer explicitly confirmed the engine is an ETL framework not limited to RAG, pointing to a document extraction example in reply to a reader asking about that use case.

Poor fit: someone who needs a general cron-style data platform, or who only wants one-off batch processing with no ongoing reconciliation. If the source hardly ever changes, the incremental machinery adds concepts without buying much.

Requirements and limitations

Pipelines are Python, with the project listing Python 3.10–3.13 support and a Rust core. You need to choose source connectors and a target store, and the README shows a broad set of worked examples rather than a universal "any source to any store" promise. Setup is not the hard part; ongoing operation is. Incremental correctness depends on your source-change detection and on keeping transformation logic stable enough that the engine can match records across runs, so schema and pipeline changes deserve thought before you rely on the index.

The docs are the place to check connector coverage and how the project handles reconciliation and recovery for your specific store project documentation. The README is excerpted and does not settle every operational question.

HotRepo's take

HotRepo's recorded history is too thin to judge persistence: a single daily-board observation on 2026-10-28 at 11,767 stars with +3 that day, and no earlier tracked days. That is a snapshot, not a trend. The 2025 Hacker News threads show early interest, including one commenter saying the tutorial made updating vector embeddings easier in the April 2025 thread, but these are individual impressions from older versions. Before adopting, verify that the connectors and target store you need are documented and that the pipeline's reconciliation behavior matches how your sources signal changes.

Written by AI from the project's README, updated October 28, 2026. The project's own docs are the source of truth.

Hacker News

Show HN: CocoIndex – Open-Source Data framework for AI, built for data freshness
▲ 14 · 11 comments · April 23, 2025
Show HN: Open-Source Structured Extraction with LLM Using Ollama
▲ 5 · 2 comments · March 20, 2025
Show HN: Open-Source ETL to index data
▲ 4 · 2 comments · March 7, 2025