HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
cocoindex-io
cocoindex
Rust2025–2026
cocoindex-io / cocoindex

cocoindex

Incremental engine for long horizon agents 🌟 Star if you like it!

3Distinct people
18Mentions
0Explicit recommenders
11.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Incremental engine for long horizon agents 🌟 Star if you like it!

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month18 dated mentions

Observed mentions: 2025-03-07 19:31:53 UTC to 2026-02-28 15:23:02 UTC.

02462025-03-01 00:00:00 UTC to 2025-04-01 00:00:00 UTC (exclusive): 6 mentions; 3 submissions, 3 commentsMar 20252025-04-01 00:00:00 UTC to 2025-05-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2025-05-01 00:00:00 UTC to 2025-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-06-01 00:00:00 UTC to 2025-07-01 00:00:00 UTC (exclusive): 4 mentions; 3 submissions, 1 comments2025-07-01 00:00:00 UTC to 2025-08-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-08-01 00:00:00 UTC to 2025-09-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 commentsAug 20252025-09-01 00:00:00 UTC to 2025-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-10-01 00:00:00 UTC to 2025-11-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-11-01 00:00:00 UTC to 2025-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-12-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2026-01-01 00:00:00 UTC to 2026-02-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-02-01 00:00:00 UTC to 2026-03-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 2026

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Mar 20252025-03-01 00:00:00 UTC2025-04-01 00:00:00 UTC633
Apr 20252025-04-01 00:00:00 UTC2025-05-01 00:00:00 UTC110
May 20252025-05-01 00:00:00 UTC2025-06-01 00:00:00 UTC000
Jun 20252025-06-01 00:00:00 UTC2025-07-01 00:00:00 UTC431
Jul 20252025-07-01 00:00:00 UTC2025-08-01 00:00:00 UTC101
Aug 20252025-08-01 00:00:00 UTC2025-09-01 00:00:00 UTC312
Sep 20252025-09-01 00:00:00 UTC2025-10-01 00:00:00 UTC000
Oct 20252025-10-01 00:00:00 UTC2025-11-01 00:00:00 UTC101
Nov 20252025-11-01 00:00:00 UTC2025-12-01 00:00:00 UTC000
Dec 20252025-12-01 00:00:00 UTC2026-01-01 00:00:00 UTC110
Jan 20262026-01-01 00:00:00 UTC2026-02-01 00:00:00 UTC000
Feb 20262026-02-01 00:00:00 UTC2026-03-01 00:00:00 UTC101

What Hacker News says

18 sources
I built CocoSearch to fix a problem with code RAG: most tools split source files on token count or character limits, breaking functions and classes across chunk boundaries. The retriever can never return a coherent unit of code. CocoSearch uses Tree-sitter via https://github.com/cocoindex-io/cocoindex to split at syntax boundaries — functions, classes, config blocks stay intact. At search time, a second Tree-sitter pass expands matched chunks to enclosing scope boundaries (capped at 50 lines), so results are always self-contained code units. Search is hybrid: pgvector cosine similarity + PostgreSQL tsvector keyword matching, fused via RRF. Symbol-level filtering (type, name glob) narrows results before fusion. Where it matters most for DevOps/platform engineers: most code search tools treat YAML, HCL, and Dockerfiles as plain text. Search
Read the rest
ing "S3 bucket with versioning" across Terraform files returns random line matches because the tool has no concept of a resource block boundary. CocoSearch ships 8 grammar handlers — GitHub Actions (job/step boundaries), GitLab CI (job/stage boundaries), Docker Compose (service definitions), Helm (chart/template/values), Kubernetes (resource manifests), and Terraform (resource/data blocks). These split infrastructure configs at domain-aware boundaries and extract structured metadata, so search results land on complete, meaningful units. Without grammar handlers, your CI workflow YAML gets chunked on whitespace like any other text file. The grammar system is extensible — copy a template, define path patterns and separators, it gets autodiscovered. The dependency graph covers the same territory: Python, JS/TS, Go, plus Docker Compose (image refs, depends_on, extends), GitHub Actions (uses action/workflow refs, needs inter-job deps), GitLab CI (include, extends, needs, trigger pipelines), Terraform (module sources, required_providers, remote_state), and Helm (template includes, Chart.yaml subcharts). Forward trees, reverse impact analysis, and dependency-enriched search results. One thing I'm particularly happy with: a Markdown extractor tracks references from documentation to source files (inline links, code spans, frontmatter depends: fields). During PR review, impact analysis flags docs that reference changed files — so "you renamed cli.py but docs/architecture.md and CLAUDE.md still link to it" surfaces automatically instead of relying on reviewers to notice. Stack: PostgreSQL 17 + pgvector, Ollama for local embeddings (optional OpenAI/OpenRouter), CocoIndex, Tree-sitter. Runs as CLI, MCP server, web dashboard, or REPL. 32 languages, 8 grammar handlers, 10 dependency extractors. MIT licensed. Happy to answer questions about the chunking approach, grammar handlers, or anything else.
In Show HN: CocoSearch – semantic code search with syntax-aware chunking
georgehe9·Dec 8, 2025Submission

Show HN: CocoIndex – Open-Source Data Engine for Dynamic Context Engineering

Hi guys, I'm back with a new version of CocoIndex (v0.3.1), with significant updates since last one. CocoIndex is ultra performant data transformation for AI & Dynamic Context Engineering - Simple to connect to source, and keep the target always fresh for all the heavy AI transformations (and any transformations). Adaptive Batching Supports automatic, knob-free batching across all functions. In our benchmarks with MiniLM, batching delivered ~5× higher throughput and ~80% lower runtime by amortizing GPU overhead with no manual tuning. It you use remote embedding models, this will really help your workloads. Custom Sources/Target With custom source/target connector, you can now use it to any external system — APIs, DBs, cloud storage, file systems, and more. CocoIndex handles incremental ingestion, change tracking, and schema alignment. Run
Read the rest
time & Reliability Safer async execution and correct cancellation, Centralized HTTP utility with retries + clear errors, and many others. Btw, we are also on Github trending in Rust today :) it has Python SDK. We have been growing so much with feedbacks from this community, thank you so much! We have lots of releases since last time i shared the project, a few recent ones (each contains 20+ releases) : - https://cocoindex.io/blogs/changelog-0310 - https://cocoindex.io/blogs/cocoindex-changelog-2025-10-19 - https://cocoindex.io/blogs/cocoindex-changelog-2025-08-18
2 points · Open discussion
Hi I've been working on adding multi-vector support natively in cocoindex for multi-modal RAG at scale. I wrote blog to help understand the concept of multi-vector and how it works underneath. The framework itself automatically infers types, so when defining a flow, we don’t need to explicitly specify any types. Felt these concept are fundamental to multimodal data processing so just wanted to share. This unlocks at scale: images, text, audio, video — all can be represented as structured multi-vectors that preserve the unique semantics of each modality. breakdown + Python examples: https://cocoindex.io/blogs/multi-vector/ Star GitHub if you like it! https://github.com/cocoindex-io/cocoindex
In Multi-Dimensional Vector Support in CocoIndex – Underneath Explained
Hi HN, I’m George — I left Google after 10 years working on infrastructure and am building CocoIndex https://cocoindex.io with my friend Linghua. CocoIndex is an open source ETL framework that does incremental processing designed for AI workloads. We cut >90% of compute costs by processing only what’s changed — effortless fresh context for AI. It is easy to build scalable, production-grade pipelines like Lego in hours. Think it as n8n with python blocks but for large scale RAG pipelines. You can build vector index, knowledge graph and custom logic with any modality in the pipeline with AI. To get started, you can run `pip install -U cocoindex`. We’ve built 10+ examples to get you started. If you prefer to read blog: https://cocoindex.io/blogs/tags/examples If you prefer to read code: https://github.com/cocoindex-io/cocoindex?tab=readme-ov
Read the rest
-file... We’ve made 75+ releases since our last launch. Looking forward to learning your thoughts! Best, George
In CocoIndex – open-source ETL saves you >90% compute for AI workloads

Show HN: I made a data lineage tool for AI data pipelines

Hi HN, I made a data lineage tool for AI data pipeline, as a companion to open source ETL framework cocoindex. After months in private beta (and lots of love from early users), we’re excited to officially launch it today. It offers: - Before/after of the data are available at every transformation node - Every output field can be traced back to the exact set of input fields and operations that created it - Lineage is first-class - Zero pipeline data retention, connecting seamlessly to on-prem CocoIndex server This tool is free, and you can get start by running cocoindex server -ci main.py with any of the cocoindex projects https://github.com/cocoindex-io/cocoindex/tree/main/examples Thanks! Linghua
1 points · Open discussion

Show HN: CocoIndex – Open-Source Data transformation for AI, only process delta

Hi HN community, I’ve been working on CocoIndex, an open-source data transformation framework for AI. it supports incremental processing and only processes what’s changed, for data freshness especially when resources cannot catch up. With 100 lines of python you can easily set up a production grade pipeline from vector embeddings, knowledge graphs, structured extraction etc. Once you bring the pipeline as live mode, it automatically detects source change, and keeps the target store updated, with minimal amount of processing. I’m building this framework to be as simple as possible to develop with, yet production-ready from day one — combining the best practices and lessons I’ve learned over the past years. Previously, I was a tech lead at Google on projects like search indexing and ETL infra for 8 years. After I left Google last year, I we
Read the rest
nt through pivoting hell. In all the projects I’ve built, data still sits in the center of the problem. I need to write custom logic to prepare data for AI and I need the data to stay fresh for AI to generate effective decisions or recommendations. So I started CocoIndex. Getting started: https://cocoindex.io/docs/getting_started/quickstart Examples: https://github.com/cocoindex-io/cocoindex/tree/main/examples If you prefer to read: https://cocoindex.io/blogs/tags/examples/ Would love to learn your thoughts. Thanks! Linghua
4 points · Open discussion
Hi HN community, I've worked on real-time knowledge graph to turn docs in to knowledge in this project and got very popular [1]. I've received feature request to integrated with Kuzu from CocoIndex users. So I've rolled out the integration with Kuzu + CocoIndex. CocoIndex is written in Rust to help with real-time data transformation for AI, for example knowledge graphs. Kuzu is written in C++ and is high performance and light weight. Both are open source. With the new change, you only need one config away to export existing knowledge to kuzu if already on neo4j. Blog with detailed explanations end to end: https://cocoindex.io/blogs/kuzu-integration Repo: https://github.com/cocoindex-io/cocoindex [1] https://news.ycombinator.com/item?id=43976895 Really appreciate the feedback from this community!
In Real-time knowledge graph with Kuzu and CocoIndex, performant open source stack
badmonster·Jun 4, 2025Submission

Show HN: CocoIndex – Open-Source Real-time Data transformation framework

Hi HN, I’ve been working on CocoIndex, an open-source ultra-performant framework to transform data for AI. It is optimized for data freshness, with incremental processing out-of-box. You can start a CocoIndex with `pip install cocoindex` and declare a data flow that can build data transformation like LEGO - vector embeddings - knowledge graphs, - or extract, transform data with LLMs It is a data processing framework beyond SQL. When you run the data flow either with live mode or batch mode, it will process the data incrementally with minimal recomputation and make it super fast to update the target stores on source changes. The core engine is written in Rust. I've been a big fan of Rust before I left my last job. It is my first choice on the open source project for the data framework because of 1) robustness 2) performance 3) ability to
Read the rest
bind to different languages. I’ve made a few tutorials and new projects since last launch, with different use cases: - https://www.youtube.com/@cocoindex-io - https://cocoindex.io/blogs/tags/examples Previously, I’ve worked at Google on projects like search indexing and ETL infra for 8 years. After I left Google last year, I built various projects and went through pivoting hell. In all the projects I’ve built, data still sits in the center of the problem and I find myself focusing on building data infra other than the business logic I need for data transformation. The current prepackaged RAG-as-service doesn't serve my needs, because I need to choose a different strategy for the context, and I also need deduplication, clustering (items are related), and other custom features that are commonly needed. That’s where CocoIndex starts. A simple philosophy behind it - data transformation is similar to formulas in spreadsheets. The ground of truth is at the source data, and all the steps to transform, and final target store are derived data, and should be reactive based on the source change. If you use CocoIndex, you only need to worry about defining transformations like formulas. Data flow paradigm came in as an immediate choice. because there’s no side effect, lineage and observability just come out of the box. Incremental processing - If you are a data expert, an analogy would be a materialized view beyond SQL. The framework tracks pipeline states in database (Postgres) and only re-processes necessary portions. When data has changed, the framework handles the change data capture comprehensively and combines the mechanism for push and pull. Then clear stale derived data/versions and re-index data based on tracking data/logic changes or data TTL settings. There’s lots of edge cases to do it right, for example, when a row is referenced in other places, and the row changes. These should be handled at the level of the framework. At the compute engine level - the framework should consider the multiple processes and concurrent updates. It should consider how to resume existing states from terminated execution. In the end, we want to build a framework that is easy to build with exceptional velocity, but scalable and robust in production. Standardized the interface throughout the data flow - really easy to plugin custom logic like LEGO; with a variety of native built-in components. One example is that it takes a few lines to switch among Qdrant, Postgres, Neo4j. CocoIndex is licensed under Apache 2.0 https://github.com/cocoindex-io/cocoindex Getting started: https://cocoindex.io/docs/getting_started/quickstart I have rolled out over 25 releases since last HN launch and it has significantly improved in all aspects, especially supporting property graphs (Neo4j, Kuzu), supporting queue based CDC (AWS S3, SQS) and lots of infra updates including CLI, resilience and error handlings. Excited to learn your thoughts, and thank you so much! Linghua
2 points · Open discussion

Show HN: CocoIndex – Open-Source Data framework for AI, built for data freshness

Hi HN, I’ve been working on CocoIndex, an open-source Data ETL framework to transform data for AI, optimized for data freshness. You can start a CocoIndex project with `pip install cocoindex` and declare a data flow that can build ETL like LEGO - build a RAG pipeline for vector embeddings, knowledge graphs, or extract, transform data with LLMs. It is a data processing framework beyond text. When you run the data flow either with live mode or batch mode, it will process the data incrementally with minimal recomputation and make it super fast to update the target stores on source changes. Get started video: https://www.youtube.com/watch?v=gv5R8nOXsWU Demo video: https://www.youtube.com/watch?v=ZnmyoHslBSc Previously, I’ve worked at Google on projects like search indexing and ETL infra for 8 years. After I left Google last year, I built vari
Read the rest
ous projects and went through pivoting hell. In all the projects I’ve built, data still sits in the center of the problem and I find myself focusing on building data infra other than the business logic I need for data transformation. The current prepackaged RAG-as-service doesn't serve my needs, because I need to choose a different strategy for the context, and I also need deduplication, clustering (items are related), and other custom features that are commonly needed. That’s where CocoIndex starts. A simple philosophy behind it - data transformation is similar to formulas in spreadsheets. The ground of truth is at the source data, and all the steps to transform, and final target store are derived data, and should be reactive based on the source change. If you use CocoIndex, you only need to worry about defining transformations like formulas. *Data flow paradigm* came in as an immediate choice - because there’s no side effect, lineage and observability just come out of the box. *Incremental processing* - If you are a data expert, an analogy would be a materialized view beyond SQL. The framework tracks pipeline states in database, and only reprocessing necessary portions. When data has changed, framework handles the change data capture comprehensively and combines the mechanism for push and pull. Then clear stale derived data/versions and re-index data based on tracking data/logic changes or data TTL settings. There’s lots of edge cases to do it right, for example, when a row is referenced in other places, and the row changes. These should be handled at the level of the framework. *At the compute engine level* - the framework should consider the multiple processes and concurrent updates. It should consider how to resume existing states from terminated execution. In the end, we want to build a framework that is easy to build with exceptional velocity, but scalable and robust in production. *Standardized the interface throughout the data flow* - really easy to plugin custom logic like LEGO; with a variety of native built-in components. One example is that it takes a few lines to switch among Qdrant, Postgres, Neo4j. CocoIndex is licensed under Apache 2.0 https://github.com/cocoindex-io/cocoindex Getting started: https://cocoindex.io/docs/getting_started/quickstart Excited to learn your thoughts, and thank you so much! Linghua
14 points · Open discussion
yes. currently covers the following - C (.c) - C++ (.cpp, .cc, .cxx, .h, .hpp, cpp) - C# (.cs, cs) - CSS (.css, .scss) - Fortran (.f, .f90, .f95, .f03, f, f90, f95, f03) - Go (.go, golang) - HTML (.html, .htm) - Java (.java) - JavaScript (.js, js) - JSON (.json) - Markdown (.md, .mdx, md) - Pascal (.pas, pas, .dpr, dpr, Delphi) - PHP (.php) - Python (.py) - R (.r) - Ruby (.rb) - Rust (.rs, rs) - Scala (.scala) - SQL (.sql) - Swift (.swift) - TOML (.toml) - TSX (.tsx) - TypeScript (.ts, ts) - XML (.xml) - DTD (.dtd) - YAML (.yaml, .yml) you can see the code here https://github.com/cocoindex-io/cocoindex/blob/ab9f286633e54...
In Show HN: Open-Source Codebase Index with Tree-sitter

Showing the 15 most recent of 18 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.