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

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

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a2-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.0a2-cp311-abi3-manylinux_2_28_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a2.tar.gz
Algorithm Hash digest
SHA256 2fe5ec74811cd286e4273d06ffb0eafc16f271a8d3835abfcceef60df3cc3e54
MD5 b020541f84575fa62ce5c2e5a645c25a
BLAKE2b-256 9a0dd9cd1432f2d20cdbb84c557a9843d10ba04a639effc6691745f5d65b6973

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 d6da13813ba236202f66ca263d8ba4f5ba3af115fe575f55b894cbce17f8a0cd
MD5 e78592e38bcd533c100d58e1fa08e35a
BLAKE2b-256 e8a334f1aed0698634a9bcf518f792a5d0674d61ee1ade19e077838b06ab05ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a2-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20e652e43d6d7860a5b8ab84b01551e0825ed9a93c8841dad28454e6d1749344
MD5 8101b70de127bfef10d879001440e83f
BLAKE2b-256 30f72ffd0b447a4ea3f975ee1720c2f926a6158adf9e92fe84f361cdca4925e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a2-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 39fb0bf8252af1d397b191c4a6b23553b3e2ecb4b4534f04b65d0c05fd0c79ac
MD5 e8dec3b21c5a41b975329774f85bcd19
BLAKE2b-256 b8f858b4052cac63816c1ba2d0b0b0d56aee756ba8b9d474962ad1bcb56cd5a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e00af30c037ea9a954a8a297893c3ae7efaca0106d5bed7b49debe2b444cffe1
MD5 0f3ce43725feba0db5b88f9f2dc215a8
BLAKE2b-256 235a89921fd664493a866cf05109d5d91d0396389a2122ff704d9a44d9a189e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a2-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8c4cb57ff0414d1cc6159ec4bd9f6d0004a58b0ef85d4fc3364a092b9c3ac093
MD5 cac73cf0a184e5e2342fce5ce54f1511
BLAKE2b-256 171848578b33401df3cf6b3703c0218c946681a91f1590dd58967ea4f45da543

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