cocoindex-v1

Build incremental data pipelines with declarative target states in Python.

75|9|Updated Oct 20, 2025
One-click install
npx skills add https://github.com/cocoindex-io/cocoindex-claude --skill cocoindex-v1
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cocoindex-v1
Source: https://github.com/cocoindex-io/cocoindex-claude/tree/main/cocoindex-v1
Command: npx skills add https://github.com/cocoindex-io/cocoindex-claude --skill cocoindex-v1

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) and references (resource) components.

What problem does it solve?

CocoIndex v1 provides a Python-native framework for building incremental data processing pipelines by declaratively specifying target states and letting CocoIndex manage incremental updates and change detection.

Core Features & Use Cases

  • Incremental processing: re-run only changed data and propagate updates to targets like databases and vector stores.
  • Declarative targets: declare desired end state; CocoIndex handles creation, update, and deletion automatically.
  • Flexible data types: supports any Python types with optional vector embeddings and database integrations.
  • Memoization: avoid recomputations for unchanged inputs or code.
  • Multi-database/FS targets: integrates with PostgreSQL, SQLite, LanceDB, Qdrant, and LocalFS for pipelines, embeddings, graphs, and ETL.

Quick Start

Start building with CocoIndex v1 by initializing a project, installing dependencies, and running the update command:

  • Run cocoindex init my-project to create a new CocoIndex v1 project.
  • Install dependencies with pip install -e .
  • Run your app with cocoindex update main.py to execute the pipeline.

Frequently Asked Questions about cocoindex-v1

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build incremental data pipelines that only re-process changed records?

You can build incremental data pipelines by declaratively defining the desired target state in Python, letting the framework automatically detect changes and re-run only modified records to update databases and vector stores.

What is declarative ETL and how does it handle automatic change detection?

Declarative ETL defines the desired end state rather than manual update logic, enabling automatic creation, update, and deletion of records across PostgreSQL, SQLite, LanceDB, and Qdrant as source data changes.

How do I update vector store embeddings without recomputing the entire dataset?

Use memoization in your pipeline to avoid recomputing unchanged inputs or code, ensuring only new or modified data triggers embedding generation for LanceDB and Qdrant targets during incremental updates.

Can I use Python to set up ETL pipelines without learning a separate DSL?

Yes, you can build ETL pipelines using standard Python without learning a separate DSL, defining data flows and target states natively to integrate directly with PostgreSQL, SQLite, and vector store backends.

Does CocoIndex work with PostgreSQL and Qdrant for knowledge graph pipelines?

Yes, CocoIndex integrates with PostgreSQL, SQLite, LanceDB, and Qdrant, supporting knowledge graph pipelines and ETL by automatically propagating incremental updates to these multi-database and file system targets.

How do I initialize and run an incremental data pipeline project?

Initialize a project with `cocoindex init my-project`, install dependencies using `pip install -e .`, and execute the pipeline by running `cocoindex update main.py` to process incremental updates.