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.0a28.tar.gz (287.6 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.0a28-cp314-cp314t-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.14tWindows x86-64

cocoindex-1.0.0a28-cp314-cp314t-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

cocoindex-1.0.0a28-cp314-cp314t-manylinux_2_28_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a28-cp314-cp314t-macosx_11_0_arm64.whl (6.4 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

cocoindex-1.0.0a28-cp311-abi3-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a28-cp311-abi3-manylinux_2_28_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

cocoindex-1.0.0a28-cp311-abi3-manylinux_2_28_aarch64.whl (6.2 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a28-cp311-abi3-macosx_11_0_arm64.whl (6.4 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a28.tar.gz
Algorithm Hash digest
SHA256 654760c3fa06e4d76c2c215e82f3f59cbd6ec22206d4fc2c173ba1b10e056e80
MD5 db49ad3292b096c37d56b679f8e90f8c
BLAKE2b-256 0f3b67eb06371a9afc114db0262c92de099c859f07605d87f4450e21de694652

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2855c7dec01db86be3d3d439c96cb571fbbcca19807de7abaabf83c3c7cfcd5c
MD5 bdcd13e8e10bc81a3ff8ba2a239c9478
BLAKE2b-256 f61e5930ef7e75c2da06eb72031cc034dc711af9159d8b8ee78bbeaaaf089a76

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a28-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a182c0d85957c1c6aa06cf5041833abbc9d0877effb7c7817d262ae0a9a033b1
MD5 d0796ac299d72f39094480a7db4e4348
BLAKE2b-256 c93c90723c9efd6a8c6778211feaeebcfe7eb2d05b6b61f0d25de7df4020c2ba

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a28-cp314-cp314t-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a222844a6f5e6808457f603253d8d3982dec205c3feeeb68a8fe95d71416c22
MD5 6c2f47d40d762b220fa793313efc6457
BLAKE2b-256 582b1df48ae492cbfd84fbfd8dc9e18b8ad55b91b04a8d8b1c902af0f43684a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b551874c663cc0fe5eb2c93b3e13b108b7d6351f3a4614ca65b66716b025b01
MD5 145d12ac350a2e9f30311c11771bc5c6
BLAKE2b-256 87df6bab4865ef1e1771dfd3900cef2432692349da3052bdbd27949fea8241fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e49af896f5cb61df0b0249ecee00ef44a10e94f5c442b91f5bfe505e91913b35
MD5 b27672dd29283193cdfb57836a7dfaf0
BLAKE2b-256 e36e7f6303e9c21eead537a552d63bae00a8546c8744825ef45ec7b99cda4457

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a28-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9aa2b258d824db25737d98dcc8e7a2c20828e4838deff1f3d4b3aa37ab3e6ef9
MD5 e4a3dd059ac05a2a5287ac02df5136c0
BLAKE2b-256 baa858a5db98239b7371a6d6d6d8611577b3fc38ba967ea40a51d1c702229dff

See more details on using hashes here.

File details

Details for the file cocoindex-1.0.0a28-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 efa2c67b90a4032815b7eb2e051f83de466135657acae034e561d177ef7f7f80
MD5 a8df69b77e7627cae14edeebb7102667
BLAKE2b-256 b000f91ed32a67511280f75194cfd337e1699484630b56d4f0d2d6757495dd44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5948e074af59842096214e251a0940c8ea6313b35dfa81b7c9567b08ec4df9c4
MD5 74250337f1df7590659e3f28a5803821
BLAKE2b-256 f2667c11f9aa2b71862b493b90f670a821db0ac8c5920689c0f042a574f67f2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a28-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c4806afb416a0ddd413653c207f4f5b886d0f404aa6348a214f9092532d7e8f2
MD5 2e9548608851676322aa33cee9ff04f9
BLAKE2b-256 155fbf0eb7a549698479e831cce77a1d4cc872550c55aaad407ca120aca048cf

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