Visualize multimodal data over time

Rerun is an SDK, time-series database, and visualizer for temporal and multimodal data. It’s used in fields like robotics, spatial computing, 2D/3D simulation, and finance to verify, debug, and explain.

Rerun is open source3,000
.cpp
.py
.ipynb
.rs
.rrd
.jpg
.gltf
.txt
.glb
.exr
.pam
.png

Get started in seconds

pip install rerun-sdk rerun
Python quick start guide

How it works

1

Stream multimodal data

Log data like tensors, point clouds, and text to create streams. Easily correlate input, intermediate state, and output from multiple sources.

import rerun as rr rr.init("my_data_generating_application") rr.connect() # Connect to a remote viewer … rr.log("tensor", rr.Tensor(array)) rr.log("points", rr.Points3D(positions)) rr.log("text", rr.TextDocument(string))
2

Visualize and interact

Get powerful interactive visualizations of live and recorded streams. Time travel through your data, dynamically aligned to any timeline.

3

Build and customize

Express the semantics of your data with Rerun's composable data model. Build layouts and customize visualizations directly through code or interactively in the UI.

4

Extend when you need it

Use Rerun's dynamic schemas to log data in your own formats. Extend the Rerun Viewer with custom views or by embedding it in your own app.

// Rust Traits for custom Rerun Space Views // Defines a class of space view. impl SpaceViewClass for CustomSpaceView { // Frame to frame state of a space view. type State =// Display the space view contents in the viewport. fn ui() {} // What happens when the space view is selected. fn selection_ui() {} // ...more customizations... } // Element of a scene derived from a single archetype query. impl ViewPartSystem for CustomSystem { // Which components does the system need to run. fn required_components(&self) -> ComponentNameSet {} // Query for components and emit renderables. fn execute() -> Result<Vec<re_renderer::QueueableDrawData>, SpaceViewSystemExecutionError> {} // ...shared data, heuristics, etc. ... }
Read the documentation

The core API and data model in four calls

Learn about the data model

Rerun solves the hard parts for you

Data model

Rerun's data model, a time aware Entity Component System, is designed to be expressive, composable, and extensible.

Data layer

Everything from serialization, transport, out-of-order and multi-process ingestion, and multi-timeline indexing is handled for you.

Data semantics

Rerun understands spatial relationships by default. Use projections and transform hierarchies to connect spatial data.

Visualization engine

The high performance and cross platform 2D/3D engine is built with Rust and wgpu to run native and in the browser with Wasm.

Rerun is in active development

We're just getting started and have lots of exciting features in the pipeline. We regularly publish summary Release Notes of what got built and shipped in the last month, as well as updates on our plans.

Sign up for release notes