#1414th of 20 in Data and scraping for AI

cocoindex

Incremental Python pipelines that keep vector indexes and agent context fresh

Stars
11.7k
License
Apache-2.0
Last commit
Oct 2026
Last release
Oct 2026
Language
Rust
Stars, last 29 weeks+5,180
31 Mar 2026: 6,554 stars7 Apr 2026: 6,669 stars14 Apr 2026: 6,758 stars21 Apr 2026: 6,838 stars28 Apr 2026: 7,037 stars5 May 2026: 8,379 stars12 May 2026: 9,552 stars19 May 2026: 9,776 stars26 May 2026: 9,949 stars2 Jun 2026: 10,049 stars9 Jun 2026: 10,130 stars16 Jun 2026: 10,269 stars23 Jun 2026: 10,382 stars30 Jun 2026: 10,477 stars7 Jul 2026: 10,566 stars14 Jul 2026: 10,684 stars21 Jul 2026: 10,927 stars28 Jul 2026: 11,026 stars4 Aug 2026: 11,114 stars11 Aug 2026: 11,211 stars18 Aug 2026: 11,299 stars25 Aug 2026: 11,358 stars1 Sept 2026: 11,409 stars8 Sept 2026: 11,479 stars15 Sept 2026: 11,530 stars22 Sept 2026: 11,561 stars29 Sept 2026: 11,612 stars6 Oct 2026: 11,630 stars13 Oct 2026: 11,678 stars20 Oct 2026: 11,734 stars

6,554 on 31 Mar 202611,734 on 20 Oct 2026

From GitHub's daily star counts.

Checked on GitHub.

Overview

CocoIndex is a Python framework with a Rust core for declaring how source data (files, code, PDFs, Slack, databases) maps to a target such as Postgres/pgvector or LanceDB. It memoizes by input and code hash, so after a change only the affected rows are recomputed and re-embedded. It also tracks lineage from each target row back to its source.

Who it is for: Python engineers keeping RAG and agent indexes in sync with changing sources

Strengths

  • Memoization keyed on input and code hash re-embeds only changed files
  • Pipelines are plain Python functions, not a DAG or YAML config
  • Per-row lineage traces target vectors back to source content
  • Rust core with retries, back-off and dead-letter queues, per the README

Weaknesses

  • Library only: no UI, you write and run the pipeline code yourself
  • Python 3.10-3.13 supported; other languages are not mentioned
  • Quickstart needs an external target store such as Postgres
  • README is marketing-heavy; connector and scale details are only in the docs

What it needs

  • Needs Python 3.10-3.13, Postgres (pgvector) or LanceDB as target
  • Models: sentence-transformers

Also in Data and scraping for AI

See all 20
Also in Data and scraping for AI
RankProjectScore
1mineruDocument parser that converts PDFs, images and Office files to Markdown and JSON Live demo ↗ (opens in a new tab)82.2k starscustom license80 out of 100
2Crawl4AIPython web crawler that converts pages to LLM-ready Markdown and JSON86k starsApache-2.078 out of 100
3doclingPython library and CLI that converts PDFs, Office files and more into structured text69.2k starsMIT78 out of 100
#4label-studioMulti-user data labeling tool for audio, text, images, video and time series28.5k starsApache-2.072 out of 100
#5markitdownPython tool that converts PDF, Office, HTML and audio files to Markdown for LLMs191.4k starsMIT71 out of 100