# Rerun Rust logging SDK
Rerun is an SDK for logging computer vision and robotics data paired with a visualizer for exploring that data over time. It lets you debug and understand the internal state and data of your systems with minimal code.
```shell
cargo add rerun
````
```rust
let rec = rerun::RecordingStream::global(rerun::StoreKind::Recording)?;
rec.log("points", &rerun::archetypes::Points3D::new(points).with_colors(colors))?;
rec.log("image", &rerun::archetypes::Image::new(image))?;
```
## Getting started
- [Examples](https://github.com/rerun-io/rerun/tree/latest/examples/rust)
- [High-level docs](https://rerun.io/docs)
- [Rust API docs](https://docs.rs/rerun/)
- [Troubleshooting](https://www.rerun.io/docs/overview/installing-rerun/troubleshooting)
## Library
You can add the `rerun` crate to your project with `cargo add rerun`.
To get started, see [the examples](https://github.com/rerun-io/rerun/tree/latest/examples/rust).
## Binary
You can install the binary with `cargo install rerun-cli --locked --features nasm`.
**Note**: this requires the [`nasm`](https://github.com/netwide-assembler/nasm) CLI to be installed and available in your path.
Alternatively, you may skip enabling the `nasm` feature, but this may result in inferior video decoding performance.
The `rerun` CLI can act either as a server, a viewer, or both, depending on which options you use when you start it.
Running `rerun` with no arguments will start the viewer, waiting for an SDK to connect to it over gRPC.
Run `rerun --help` for more.
### Running a web viewer
The web viewer is an experimental feature, but you can try it out with:
```sh
rerun --web-viewer path/to/file.rrd
```