# Programming guide

> **CocoIndex v1, Rust SDK (experimental).** This page documents the CocoIndex **v1** Rust SDK (the `cocoindex` crate). The Rust SDK is experimental: any release may change or remove its API, and it is not yet published on crates.io. The Python SDK pages are at https://cocoindex.io/docs/.
>
> Source: https://cocoindex.io/docs/rust/programming_guide/ · Rust docs index: https://cocoindex.io/docs/rust/llms.txt · Rust SDK tour: https://github.com/cocoindex-io/cocoindex/blob/main/rust/sdk/SHOWCASE.md · Rust examples: https://github.com/cocoindex-io/cocoindex/tree/main/examples/rust

Start with [Core Concepts](/docs/rust/programming_guide/core_concepts/) for the mental model and the diagrams behind it. Use this reference to find each building block, its API, and its role in an incremental pipeline.

## How the pieces fit

An App runs processing components. Each component calls functions and declares target states, which describe the output CocoIndex keeps in sync.
