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.0a39.tar.gz (300.3 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.0a39-cp314-cp314t-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.14tWindows x86-64

cocoindex-1.0.0a39-cp314-cp314t-manylinux_2_28_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

cocoindex-1.0.0a39-cp314-cp314t-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a39-cp314-cp314t-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

cocoindex-1.0.0a39-cp311-abi3-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.11+Windows x86-64

cocoindex-1.0.0a39-cp311-abi3-manylinux_2_28_x86_64.whl (6.5 MB view details)

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

cocoindex-1.0.0a39-cp311-abi3-manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

cocoindex-1.0.0a39-cp311-abi3-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

cocoindex-1.0.0a39-cp311-abi3-macosx_10_12_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a39.tar.gz
Algorithm Hash digest
SHA256 dda2a0da5c2a921c4185c1cf9cbc8f0289ebf93aa934b61d9eb81740b0bba6c7
MD5 9df0f3048d0d73aa54fee358bc289c71
BLAKE2b-256 7a16f73cd09a61c7c7773df33552cbda536c2a7340f1a1762445fef4271a1b36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 8c4a53d4af388d418edecce807038fc8e263b2561ebfdfa49524a516d691e2bc
MD5 c393f82c6faa27fcf8f1778d634c16c7
BLAKE2b-256 0aca35ef8a30b8c87ec4c7f8583711670649d78b0c9503f570fd26c875f037a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24c4add3bd57f418647d84ddb3731c38c283848894a86fc3e10e8f65aee56dd1
MD5 4f6c9b937e2eac8dcc093bcb0fcb5056
BLAKE2b-256 94d700be1e5a4254013501ac8ca5d2b537cb1555677dd2a543361e1539d84047

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 932e5a3da402d895a973c70a03276345582a14c0cf44906f275b9034d8872908
MD5 a43210ef8d1cd000be3d659911adf2a2
BLAKE2b-256 ba5fd1290878383d77cf523c46b9c0155e9d5e1df4b7866e8e00ed7b71303f67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef9b7786a3a6af2a9319b71a70feb2566c2f3321de43750144781b112cbebd60
MD5 8c5732c267fa8c590dd870027bfb0eff
BLAKE2b-256 20e06fcd537627fbafff7d6e684feeb8cb25ac520bf7f50ab0e6d09c0fc36d8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 214a95b3a30814cb2905f305b7236a88298bc071226619b7ad34102b318df1fa
MD5 4fcb6eac23a0b395ffdb010957b40ce5
BLAKE2b-256 2590f811b696948f1e7fae0b3096bd2dd85c329aaed597809c3212fa6b5b0387

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cbd2edbb5fa5acc748319ce763fb0e479636ab36aa7e299b85213f80db7f2aea
MD5 154bea2cb7f2ce70d50c3efb2ec703ea
BLAKE2b-256 c2f5b22cfa8d607b8ac5a414d66f4594c081d0365a7ce73ce29a3ecd3001f67e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aa5541cda41d627d1dc60e47bede96d13ba7bc944a059422fc66fefa5784ef74
MD5 48c50c6cd632053e17c7c274124de67e
BLAKE2b-256 02b0c9a7e5333fc241c799d7a05223b6d5f37883657204f5d05633a7b51dae57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52806d1451eaf1f62f4bdfc59e80dc5a946d23e058473ded5cf7d690cd0e7e64
MD5 0abfd6858c735af34137c3a1c9e0757f
BLAKE2b-256 ce2ec04069bda0193f1d5aaa4f007a10d1b055dbf613e404cdb18275e4c8d4ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a39-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b7b1260ad57ff304d104580ba22cd0636321eb4dc49a84a1b996ae0928b10b33
MD5 619361512a0c71f8a6873fea8c9737c2
BLAKE2b-256 8759bc2280b5a35a8f54c98c99d7a8e243c625de118a5e1803a8e772954fe718

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