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 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
pip install -U 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.0a1.tar.gz (200.4 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.0a1-cp311-abi3-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a1-cp311-abi3-manylinux_2_28_x86_64.whl (5.8 MB view details)

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

cocoindex-1.0.0a1-cp311-abi3-manylinux_2_28_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a1-cp311-abi3-macosx_11_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

cocoindex-1.0.0a1-cp311-abi3-macosx_10_12_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 1abee3db955c0d434730c6498e289160400d0049f49b5a2eb988868334af9777
MD5 759f3712b0e32112205e722dd1aa062b
BLAKE2b-256 0f496369eb24115c454f0a32d27fd68af900d0cf5b154e9d35463a6ba0c86f15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 634fc790243f1e833ceaf2e9fe458c0debe8b7eb6832dfcdadd2367e9db82fee
MD5 e4b9a1431a430ddfa6572fe5c3d35c6d
BLAKE2b-256 8b59b33e4949c5bf0478e3837808af30a1c81b06640405e6f4b8dde8f2f9049c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a1-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 40f81dc0406073b179b0fe0b05522cb74448171ffbecd9063bc584ec7af30089
MD5 607f91f8a5577dc167b7e68e1cbe6dea
BLAKE2b-256 8de60979ed6e2d4957284342302e7855bb98e744fd3824e79a47b4c428cd265e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a1-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6b7b11ac645cd80ac5c9b395744a356d39f2167945a2c0be919ce89e13256a77
MD5 5b76bbf2ffe9a296b6b58829244cbb79
BLAKE2b-256 32775b65909da0f55f1e5a85301ce7f76eddce4b5afaa69a3b30ba8b6317abe0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3926950d73a4c66cd7cc3b25f9266a6e9f87198d679a09c1a6fd4950dff81e6
MD5 f24e84f82020bc5968b6761794bb5f15
BLAKE2b-256 cc8fb00a548ffd93cfd4aee47b84ab9c219a90e7a2b6a4f9693aa67011d8db64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a1-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 059afa7b4a637f0ee11ce348f49dfdc2a4f3e0970c0e6d6e43620ff962b29eea
MD5 0b08303f5d048fc5ce9cf1ee41a7a5ae
BLAKE2b-256 d9a7e182a8510447307000a76f1347a3932ebe9fc208c3a586d8d537fdb538df

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