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

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

cocoindex-1.0.0a27-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.0a27-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.0a27-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.0a27.tar.gz.

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a27.tar.gz
Algorithm Hash digest
SHA256 c883b281cdebb74de7d0a7082a5ee4d706e57951edb21624152db02b7af835a7
MD5 7f52ef280213ff6b2daf93c9f7ef112e
BLAKE2b-256 9233c9ae911717174f1f8ec7b29fe0832acaa149801809414f003d66176d8340

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 5ac12e086e68206f64087463918f57f0653ff2284f05bca3a36e2d79c6d05ab0
MD5 40b842c4f28aed2e3a8a80f0981f960c
BLAKE2b-256 c8200ecd6536508b1578356baa6584f8c4a770db7610821c7a3608382cca54f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e1cc8c754759a368fe98562560d99d9c313f228cd1ab2e33a48ac5382075fc5
MD5 2a1058d2adba1840b4996795c187ba9d
BLAKE2b-256 2788070cb4b883ea91d2c93c281a663000b380cd048a721c0b16f6b77ea9eb3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2cb202f2010d51aebd82ed3d05d48684cfafec2b690828cf83b33662f7b24c2a
MD5 3bd84d61f0e5152bf2fd0cd0ac609c29
BLAKE2b-256 428c35e09d3f62682b6b0cd9f315f70cfe32bd7a4e163d1b40dd5edfe0cf5855

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2c57d20123a07136fec60b9aee9056663b0df9f741f58c280c9dc22382386766
MD5 e9cb024b31545ac0bbe5e30a94862922
BLAKE2b-256 2f05208cef24843b5b2817e9a65d89d030acc94e1375fb938d6fa2ed64f0e317

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d249b108061da124a73f9dbf42d67fc03e817fbc943f9148288b03e34c00eccc
MD5 a54772549c247c65f5f1aebfeac3df9e
BLAKE2b-256 4d336e9a776ea37bbba9b14e36d27bd61c53d5a55fb887fdb062bdaeb689300a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e1e61dac49f90a272cd37079030510d7acd718a74760267212305e8cb6251191
MD5 975c2f0bef9e84492f5b297eee8d0364
BLAKE2b-256 3792e5dcec613900e5da9e359bd2e7e928bb17694a5fd4154c92cedf9decb985

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a27-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 423aa4f71dd7e8965b78524788170066252d5a6c8061fcc8826785bb7b3f081a
MD5 b2769ea0ee6e9cd3c83de5c909e21a8b
BLAKE2b-256 0a920ac5a1944d5d77d2c3f97bbd6c20e8fdc011670ec33986ed13dc68ae750b

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