Skip to main content

With CocoIndex, users declare the transformation, CocoIndex creates & maintains an index, and keeps the derived index up to date based on source update, with minimal computation and changes.

Project description

CocoIndex

Data transformation for AI

GitHub Documentation License PyPI version

PyPI Downloads CI release Link Check prek Discord

cocoindex-io%2Fcocoindex | Trendshift

Ultra performant data transformation framework for AI, with core engine written in Rust. Support incremental processing and data lineage out-of-box. Exceptional developer velocity. Production-ready at day 0.

⭐ Drop a star to help us grow!


CocoIndex Transformation


CocoIndex makes it effortless to transform data with AI, and keep source data and target in sync. Whether you’re building a vector index, creating knowledge graphs for context engineering or performing any custom data transformations — goes beyond SQL.


CocoIndex Features


Exceptional velocity

Just declare transformation in dataflow with ~100 lines of python

# import
data['content'] = flow_builder.add_source(...)

# transform
data['out'] = data['content']
    .transform(...)
    .transform(...)

# collect data
collector.collect(...)

# export to db, vector db, graph db ...
collector.export(...)

CocoIndex follows the idea of Dataflow programming model. Each transformation creates a new field solely based on input fields, without hidden states and value mutation. All data before/after each transformation is observable, with lineage out of the box.

Particularly, developers don't explicitly mutate data by creating, updating and deleting. They just need to define transformation/formula for a set of source data.

Plug-and-Play Building Blocks

Native builtins for different source, targets and transformations. Standardize interface, make it 1-line code switch between different components - as easy as assembling building blocks.

CocoIndex Features

Data Freshness

CocoIndex keep source data and target in sync effortlessly.

Incremental Processing

It has out-of-box support for incremental indexing:

  • minimal recomputation on source or logic change.
  • (re-)processing necessary portions; reuse cache when possible

Quick Start

If you're new to CocoIndex, we recommend checking out

Setup

  1. Install CocoIndex Python library

Note: CocoIndex v1 is currently in preview (pre-release). Use the --pre flag with pip, or configure your package manager to allow pre-releases.

pip install -U --pre cocoindex
  1. Install Postgres if you don't have one. CocoIndex uses it for incremental processing.

  2. (Optional) Install Claude Code skill for enhanced development experience. Run these commands in Claude Code:

/plugin marketplace add cocoindex-io/cocoindex-claude
/plugin install cocoindex-skills@cocoindex

📖 Documentation

For detailed documentation, visit CocoIndex Documentation, including a Quickstart guide.

🤝 Contributing

We love contributions from our community ❤️. For details on contributing or running the project for development, check out our contributing guide.

👥 Community

Welcome with a huge coconut hug 🥥⋆。˚🤗. We are super excited for community contributions of all kinds - whether it's code improvements, documentation updates, issue reports, feature requests, and discussions in our Discord.

Join our community here:

Support us

We are constantly improving, and more features and examples are coming soon. If you love this project, please drop us a star ⭐ at GitHub repo GitHub to stay tuned and help us grow.

License

CocoIndex is Apache 2.0 licensed.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cocoindex-1.0.0a24.tar.gz (269.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cocoindex-1.0.0a24-cp314-cp314t-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.14tWindows x86-64

cocoindex-1.0.0a24-cp314-cp314t-macosx_11_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

cocoindex-1.0.0a24-cp311-abi3-win_amd64.whl (6.4 MB view details)

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a24-cp311-abi3-macosx_11_0_arm64.whl (6.3 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

cocoindex-1.0.0a24-cp311-abi3-macosx_10_12_x86_64.whl (6.2 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

cocoindex-1.0.0a24-cp310-cp310-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

cocoindex-1.0.0a24-cp310-cp310-manylinux_2_28_aarch64.whl (6.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

File details

Details for the file cocoindex-1.0.0a24.tar.gz.

File metadata

  • Download URL: cocoindex-1.0.0a24.tar.gz
  • Upload date:
  • Size: 269.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for cocoindex-1.0.0a24.tar.gz
Algorithm Hash digest
SHA256 cd94c392808291875de908c371151651eead044d1e644c89635b4c2a509e09a4
MD5 91c57d0d261a4690f2b3b1ff396ae894
BLAKE2b-256 4d3c7a3dd61ae526d79b9e071a287ec34f472e387fa873c8cc2d9f5c3a13f027

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 c6e20f8c7edfe215b14a9c46b4ab7c7fd71fd4b3543ae6cf2cb96c4c7b20c3db
MD5 7f4d709534204542c084d8e4eb380154
BLAKE2b-256 f64dc97ef1662896a19ab28f71e21294af61c89fc5483588ff2b6e7f56bc62f4

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 082369d8aba4d2dea2e717840b6cac6d47c36e8b47e0c828add4c4614577985c
MD5 d2e4a264159ebcdb8cdaf20f157cd58b
BLAKE2b-256 8babdb88be894b92c3cfbbf683af97d85f0def6f40823d6a089c000bde466865

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4ffb68b2cc3f6812fc279a2412b6a31410aa17aa61a4113655ea1d1af49ca8bc
MD5 1c1325787c3e6171b67b4efda37511fb
BLAKE2b-256 fd7a02a24cfdd5cc7fa7478168cbbcdb232f84eca24f38d5496e4f7e5ed434d1

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6d29d33c8de7b3a4e99fe1186fa3183ac15d4065b9dcb52efe79e1aed4a65c7
MD5 bbcc0dd41f6f89d9450f8e57bf1e6a52
BLAKE2b-256 a361f6169ee87b611ccb24e5b5fc7c58d1b56d2ec1532ff889e823298e646338

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 41746a56dffad56639b68be8cd741d5085cdc6af86e7961747302178ae931068
MD5 b21dc798899e759536b4d254a6cac396
BLAKE2b-256 1ee0c3b6be46530ffb404fea19c9290e63cad0ee92bb8daa5a2bbb465063ec66

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f8df2457bc6b8ea875837c7147c69a717caf15e23a96bebd4498efda964fe19e
MD5 cee0e9bbd8534732807611d699122902
BLAKE2b-256 3025ea026f469c8ae1e4955bcce9820147047751ba730b4696039350cfb3e258

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a24-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a24-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4b057f345a050765543ec9f25b5062124ba63440fb2ae4587d972dd13dee940c
MD5 54cc069c41aad8c478a7b05fa5976d78
BLAKE2b-256 fbbcde9ecee5a00ff78701d683f501bbb7db9bad41d8b1a1fff86fa4e37597be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page