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.0a49.tar.gz (339.9 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.0a49-cp314-cp314t-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.14tWindows x86-64

cocoindex-1.0.0a49-cp314-cp314t-manylinux_2_28_x86_64.whl (6.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

cocoindex-1.0.0a49-cp314-cp314t-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a49-cp314-cp314t-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

cocoindex-1.0.0a49-cp311-abi3-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a49-cp311-abi3-manylinux_2_28_x86_64.whl (6.6 MB view details)

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

cocoindex-1.0.0a49-cp311-abi3-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a49-cp311-abi3-macosx_11_0_arm64.whl (6.6 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

cocoindex-1.0.0a49-cp311-abi3-macosx_10_12_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a49.tar.gz
Algorithm Hash digest
SHA256 b974c6fffee8243550738f4b3c19ae251af44ce0bf5876244ef3e80e7c9b0d2f
MD5 114b88834669e7e15b353e721faf4102
BLAKE2b-256 b2903a3cd29a43820709bfcb93b5d8723ac4705b3c85b67783a4997c6f7e393a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 767b08b2303283a2e832c27581f810f7e1a9a6e038376bf41b6a160af08140b5
MD5 d04894b2c15116dff6c87c346fa1e99c
BLAKE2b-256 089913faf1508094e2cc36f4051447a6d2dd64da9be9c260e2a67aff308f13f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ea2cd6b4c1944cbba603e23c1483bcd5110f744f21cbaf5ecf4a09e0e3173eb
MD5 56907d2be258320b62ad37de9dbdfd9e
BLAKE2b-256 f568783b61ab2ec89d0e65cfffa3842e533f636c55b028eed8a06cc106a8857a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1d86cbc28929d16533237cdf9ec5d16748643ca7dccd8f87b014e420374f5b81
MD5 69cf1e5a961b065934409b7e468b393e
BLAKE2b-256 f26d376c2f69f5d8f6c14085c4b6eda38e541721675ebedcee2b1a7a33e60c9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 937fffa2cb50c7bd1ed4dfc656276b2503d5f5ac9460d4fbcb59bb855487c5e7
MD5 0d524a4a2c5cb65029ae2358c0e95974
BLAKE2b-256 3560462fbf8cb983820b6ed75468b8bfb4ee00b3befec6cbb9689c93be5fc085

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4110e79800acc367bfde4c3864263337a0b160930232ec86a3f9fd2b36f020d3
MD5 bc17737cc3f1fff88a01909b6d9f9221
BLAKE2b-256 b7baa7abe38a4645cec03972d021af6bd091740ff569d41d7613456f2c9976f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6852dfd5c386dd01c8a2da5b77219ab438f340e1b97a6a98d96878d07df4b601
MD5 e816fea0d85d71fca4e67040a079716e
BLAKE2b-256 6395f7df23f941861b5826666f5160cce8c609e294dd82006c3011a458f1a55a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 90139afafa01eb318286ba3817d897d4c491154e9cb0040ed63b63f3d52cd042
MD5 9c4bd979fb0ad8c4fe7537f760396b50
BLAKE2b-256 d5878bd34e39ef265731e31affb57f465232bef4e9a0c906b40801fb2f0c7d18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8440651953d1d5ff93c1e7b2041a68e00f50484177e4458943f232daaf6047c
MD5 51fa19e01bd37eb752510827ebea48a7
BLAKE2b-256 61e540297fed64a8e2e1ce067a7733da3b95e30e1ab831890c63af2c543c3f5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a49-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2438284ba80e17ff87f1ea76ed76384983aec5362e934c122f23f377581a1579
MD5 7eb2175d74dd35f1e9d5f0aaaad450cd
BLAKE2b-256 9094d0bdc135c97b0eea655c079e71e0743792b867c902306c1bf9c7e77eded2

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