Introducing the Rerun Blueprint APIs
Rerun 0.15 introduces Blueprint Python APIs for controlling the layout and contents of views in the Rerun Viewer. It also introduces the ability to save and load blueprints from file.
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,000pip install rerun-sdk rerun
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))
Get powerful interactive visualizations of live and recorded streams. Time travel through your data, dynamically aligned to any timeline.
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.
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. ... }
Rerun's data model, a time aware Entity Component System, is designed to be expressive, composable, and extensible.
Everything from serialization, transport, out-of-order and multi-process ingestion, and multi-timeline indexing is handled for you.
Rerun understands spatial relationships by default. Use projections and transform hierarchies to connect spatial data.
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 0.15 introduces Blueprint Python APIs for controlling the layout and contents of views in the Rerun Viewer. It also introduces the ability to save and load blueprints from file.
This is a follow up post that dives into how we managed to achieve such huge performance gains for time series (among other things), and why it was so hard in the first place.
The 0.13 release means teams can now correlate kHz resolution motion and perception data in Rerun. Seeing all your data and state together, correlated over time, is the most powerful thing you can do to understand your systems better.
Rerun should be able to open any file containing data you want to see, whether it's highly complex, rare, or proprietary to your team. With the new plugin system for loading arbitrary files in Rerun's 0.12 release that is now starting to become possible.
The Rerun C++ SDK is now fully on par with our two other SDKs in Python and Rust. Thanks to some great community feedback we've added more options for integrating Rerun in your CMake projects.
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