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

Uploaded CPython 3.14tWindows x86-64

cocoindex-1.0.0a42-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.0a42-cp314-cp314t-manylinux_2_28_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.11+Windows x86-64

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

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for cocoindex-1.0.0a42.tar.gz
Algorithm Hash digest
SHA256 4be223228d8335bb7be68a142e1982b2d2cdd963e9d243e78946fb5d2da30f56
MD5 1624355f6f6ce49ba8fa4ece1183e551
BLAKE2b-256 d4c2116fa6216c87338c6d40e1c1190d7c038b6f67bc7ecd98911a8a134e4655

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 5f1aa14252bba475ba560737eeb7364d220d759fee1e897c38f0c65a9e59f11d
MD5 240b232a4bc8dc8fad5962344ec3668f
BLAKE2b-256 58fde1947c06fe559e403378cad30c8375f4975c58043ae72c0176bc66aad910

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ccd2ba319c7c950cd49c36cf6c7621112cbc488e9ec3317176d004b63155742
MD5 8b33e288c44263f9ca07fead7d9d3616
BLAKE2b-256 5b1c1fbfc3454af34ad3b9171943a5323c9b68f095dcfde2333ff701ab4048c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp314-cp314t-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c5f34e4ef5cb66271d8cc505fb879d70de4d903f74300d9f8898848cd89ebf60
MD5 c612e791a5c38faad85bfaf772fe0851
BLAKE2b-256 de22cb0c4d02a1f86e9e6d0ffa6a4270e0f9c20845c42ad29be5cd4f2e2e2a1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 89fda269c7ba08bdff17efb8231835e741f35d8ce45c03901bd1faf7207221a5
MD5 5a305689b2e389a6c46d3f101677db70
BLAKE2b-256 f93e7eabe884ac2b791da61163323bfbf440d239150b25a5f66c0a9a15fff01d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cafc74a3b54068f87621154c287b35cd818e683c7213f6968a8bfa24fa4da865
MD5 560b5fcacddff1935cb9534a9e4cb6c3
BLAKE2b-256 29b0a4694189574df35190787e1ad13f3425526c851e658d67ae37f40955fcbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66b2ae06ac30ebc4de7381094fa71695756a0aca07e2801006cdaff757d23cff
MD5 79d4f339eb1a797412e3b80c6bf92de8
BLAKE2b-256 704776662973e3edbfbdd992ea66e40e2ccab93592140c2a46a5b4acd6a9e863

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 28019dc1e50f265b1a267c135b895e7803e0d6d00747b20deb2916548dc6e151
MD5 0ab3ad8b7b31988403a30e3ae2e16b5a
BLAKE2b-256 dad01983af60d24544b6e8873a135c73efcecdff0020d4c1b3c41f37147760e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 874b4a4025f784a6c2fe09a144426cd44a3bdc9fc9da1f73391276c94845cb25
MD5 bec73b6ab7d1745e258b6449bdb11b33
BLAKE2b-256 17e4b7658e01fe2848612ff96eb285a8b2ccf09737a88f2661fa3a8973da96ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cocoindex-1.0.0a42-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4d863e5fe5fde10b6e5586c4b51bcd732025424580a019bcb8dda136d72f0e4d
MD5 e43c1f1080a4e23444d530868aa2d01c
BLAKE2b-256 cc0c57b73ec2b853d3c813fd82892ee8e934a73ac239419e34190c5eb4664fd3

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