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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a4.tar.gz
Algorithm Hash digest
SHA256 2004edb6187e3d20f2bc61cd3f5b89041d03e71c408ece3b22294f254d10b24e
MD5 c3499510516bbbf564181edaeb204056
BLAKE2b-256 7b16e4ce3472fe3e923c9924538247ef1eb1170aa47eb07ec6d37d8bfd058f11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a4-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fb5eff20ea1071b629430d2d62b329d164b0a52fa7c822c3d345f9303f7fab83
MD5 70b9db9a9f697d54af6cad71cd8ba225
BLAKE2b-256 c1c9ad4c80da27653c90a774493d2542650fab4aeb49ac9f3091596990cb62b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a4-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4f8632fac2c046dc7a3de2d292e78176e24623eb8f7792fad479f2f6f43da679
MD5 c6e7bf81ba67ec8ee10f494eeac279c2
BLAKE2b-256 68a0c7ce645dcc10b38276ff9c2865bd7d07971557bc6887d242a96fd4e40ce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a4-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d70be34e63d6e013db9648df701e3df57708fc6586607252b385d6032b313ada
MD5 ee048317c221be8e00608e13bff67e05
BLAKE2b-256 4c03088f3c6345419490e39171d6d2f6baed04f319ffecf4e252ef14fbc524f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a4-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e0230f6cd7a9cde6981e4a5037a7434c2b09ae09f51e0183edda2ccf58c5f10
MD5 ad0e2d59ed6ccb178be71bdb0ec1d8d3
BLAKE2b-256 00aeb322e5c40a374ecf9caa8ae58aa44b901e1e9035d9c0f59a8dce053e4db2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a4-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e8cc96d77ec6a95c6511ce7b0cce1609127e2c94b507e11c73c9f958fcf8e6b8
MD5 14df4ccd7db67796ec5147996887f45d
BLAKE2b-256 4cde543ab0c5704efd9c9e5074991624e659aeed62769d223bc3e6e379b05a8c

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