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.0a8.tar.gz (212.0 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.0a8-cp311-abi3-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a8-cp311-abi3-manylinux_2_28_x86_64.whl (5.9 MB view details)

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

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a8.tar.gz
Algorithm Hash digest
SHA256 0e7d53f153c92e1fa442d5951ada5c3f30eb40d54e827a6d2a2d597aa82504ed
MD5 4676700efc4649b13f909c693560efb6
BLAKE2b-256 2f52bc0b6ef617965fb92e81b85f6eeecaf6e7a14abb19c42b31c7aeeb4e1f04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a8-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8bb288d3f5949b8bf6c87f98ca2dfb7757524d48534360f2ecd9c6e29935545f
MD5 6fb042f1fb0d2f906daa0f6081e1a8c3
BLAKE2b-256 ae1f48b1370a50a162fa26fc820786ea6c950d0224ce92ed3fe3c961e4d3d389

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a8-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 322a02e2f35d50337dc5ae577f4cea6e017b595acfaad94eaea98f8edd8236a2
MD5 e7002b125b9a91e3d9ae8b7c328e0c23
BLAKE2b-256 2f3732e83904c0b04daab59d404ecdc206525794f5d165a3718c44b24de6183c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a8-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b44600d6d1b038efee871b6f3a8ad7fb0e21eb319acfd4cda9e86d2bb4766616
MD5 018d6ee6abeee333339c3092d967fe93
BLAKE2b-256 80c1445387748c208bad8ac93c2a7834fed7397f9149eec9389475797bb2fff4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a8-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d777bccd3862d60df8986124af92cd3349b1e1e869092379fdc90a2c87b983a
MD5 fc3bcb23fbeefdfe8be98a3d07f6cc26
BLAKE2b-256 c4d6e10b71bb6fed9598f3ee1a7386ab532f33d9f3921af5b3a5be0c903478ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a8-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 99eb27cbaf3977eba48306bba0e36037666bee2543c6c9ee0e54472d15c70a7d
MD5 f3315f6d386c509854b8b6b2c98690ef
BLAKE2b-256 105dd3bc3989141e2a9b30ff4ee731669500e6a19765d9a6c3c83d3ebf703e1f

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