> For the complete documentation index, see [llms.txt](https://garaga.gitbook.io/garaga/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://garaga.gitbook.io/garaga/installation/rust-crate.md).

# Rust Crate

To use the [`garaga_rs`](https://github.com/keep-starknet-strange/garaga/tree/main/tools/garaga_rs) crate in your project, add the following to your `Cargo.toml`

```toml
[dependencies]
garaga_rs = { git = "https://github.com/keep-starknet-strange/garaga.git"}
```

{% hint style="warning" %}
**Version Compatibility:** Use the latest [release tag](https://github.com/keep-starknet-strange/garaga/releases) (e.g., `v1.1.0`) to match the declared [Maintained Smart Contracts](/garaga/maintained-smart-contracts.md) and ensure compatibility with the pip package that generated your verifiers.
{% endhint %}

```toml
[dependencies]
garaga_rs = { git = "https://github.com/keep-starknet-strange/garaga.git", tag = "v1.1.0" }
```

## Features

The `garaga_rs` crate provides optional features for different use cases:

* **No features (default)**: Pure Rust library without any bindings
* **`python` feature**: Enables Python bindings via PyO3 (for use with maturin)
* **`wasm` feature**: Enables WebAssembly bindings via wasm-bindgen (for use with wasm-pack)

For example, if you're building a Python extension:

```toml
[dependencies]
garaga_rs = { git = "https://github.com/keep-starknet-strange/garaga.git", tag = "v1.1.0", features = ["python"] }
```
