{"id":13475004,"url":"https://github.com/rerun-io/rerun","last_synced_at":"2026-04-02T00:46:31.902Z","repository":{"id":65907192,"uuid":"479289739","full_name":"rerun-io/rerun","owner":"rerun-io","description":"An open source SDK for logging, storing, querying, and visualizing multimodal and multi-rate data","archived":false,"fork":false,"pushed_at":"2026-03-07T11:27:28.000Z","size":258253,"stargazers_count":10293,"open_issues_count":1340,"forks_count":680,"subscribers_count":71,"default_branch":"main","last_synced_at":"2026-03-07T13:39:49.864Z","etag":null,"topics":["computer-vision","cpp","multimodal","python","robotics","rust","visualization"],"latest_commit_sha":null,"homepage":"https://rerun.io/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rerun-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2022-04-08T07:30:05.000Z","updated_at":"2026-03-07T11:27:32.000Z","dependencies_parsed_at":"2023-10-16T08:21:36.090Z","dependency_job_id":"b5356e21-da51-4fe6-a11d-394b0980d423","html_url":"https://github.com/rerun-io/rerun","commit_stats":{"total_commits":5120,"total_committers":74,"mean_commits":69.1891891891892,"dds":0.707421875,"last_synced_commit":"4b8a487e54d2c1f3c891c23a968814a72388b288"},"previous_names":[],"tags_count":120,"template":false,"template_full_name":null,"purl":"pkg:github/rerun-io/rerun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Frerun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Frerun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Frerun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Frerun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rerun-io","download_url":"https://codeload.github.com/rerun-io/rerun/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rerun-io%2Frerun/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30286128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","cpp","multimodal","python","robotics","rust","visualization"],"created_at":"2024-07-31T16:01:16.621Z","updated_at":"2026-04-02T00:46:31.895Z","avatar_url":"https://github.com/rerun-io.png","language":"Rust","readme":"\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://www.rerun.io/\"\u003e\n    \u003cimg alt=\"banner\" src=\"https://user-images.githubusercontent.com/1148717/218142418-1d320929-6b7a-486e-8277-fbeef2432529.png\"\u003e\n  \u003c/a\u003e\n\u003c/h1\u003e\n\n\u003ch1 align=\"center\"\u003e\n  \u003ca href=\"https://pypi.org/project/rerun-sdk/\"\u003e                        \u003cimg alt=\"PyPi\"           src=\"https://img.shields.io/pypi/v/rerun-sdk.svg\"\u003e                              \u003c/a\u003e\n  \u003ca href=\"https://crates.io/crates/rerun\"\u003e                             \u003cimg alt=\"crates.io\"      src=\"https://img.shields.io/crates/v/rerun.svg\"\u003e                                \u003c/a\u003e\n  \u003ca href=\"https://github.com/rerun-io/rerun/blob/main/LICENSE-MIT\"\u003e    \u003cimg alt=\"MIT\"            src=\"https://img.shields.io/badge/license-MIT-blue.svg\"\u003e                        \u003c/a\u003e\n  \u003ca href=\"https://github.com/rerun-io/rerun/blob/main/LICENSE-APACHE\"\u003e \u003cimg alt=\"Apache\"         src=\"https://img.shields.io/badge/license-Apache-blue.svg\"\u003e                     \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/Gcm8BbTaAj\"\u003e                              \u003cimg alt=\"Rerun Discord\"  src=\"https://img.shields.io/discord/1062300748202921994?label=Rerun%20Discord\"\u003e \u003c/a\u003e\n\u003c/h1\u003e\n\n# Time-aware multimodal data stack and visualizations\nRerun is building the multimodal data stack to model, ingest, store, query and view robotics-style data.\nIt's used in areas like robotics, spatial and embodied AI, generative media, industrial processing, simulation, security, and health.\n\nRerun is easy to use!\nUse the Rerun SDK (available for C++, Python and Rust) to log data like images, tensors, point clouds, and text.\nLogs are streamed to the Rerun Viewer for live visualization or to file for later use.\nYou can also query the logged data through [our dataframe API](https://rerun.io/docs/howto/query-and-transform/get-data-out).\n\n[Get started](#getting-started) in minutes – no account needed.\n\n* [Run the Rerun Viewer in your browser](https://www.rerun.io/viewer)\n* [Read about what Rerun is and who it is for](https://www.rerun.io/docs/overview/what-is-rerun)\n\n### A short taste\n```py\nimport rerun as rr  # pip install rerun-sdk\n\nrr.init(\"rerun_example_app\")\n\nrr.spawn()  # Spawn a child process with a viewer and connect\n# rr.save(\"recording.rrd\")  # Stream all logs to disk\n# rr.connect_grpc()  # Connect to a remote viewer\n\n# Associate subsequent data with 42 on the “frame” timeline\nrr.set_time(\"frame\", sequence=42)\n\n# Log colored 3D points to the entity at `path/to/points`\nrr.log(\"path/to/points\", rr.Points3D(positions, colors=colors))\n…\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003cimg src=\"https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/full.png\" alt=\"\"\u003e\n    \u003csource media=\"(max-width: 480px)\" srcset=\"https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/480w.png\"\u003e\n    \u003csource media=\"(max-width: 768px)\" srcset=\"https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/768w.png\"\u003e\n    \u003csource media=\"(max-width: 1024px)\" srcset=\"https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/1024w.png\"\u003e\n    \u003csource media=\"(max-width: 1200px)\" srcset=\"https://static.rerun.io/opf_screenshot/bee51040cba93c0bae62ef6c57fa703704012a41/1200w.png\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n## Getting started\n* [**C++**](https://www.rerun.io/docs/getting-started/data-in/cpp)\n* [**Python**](https://www.rerun.io/docs/getting-started/data-in/python): `pip install rerun-sdk` or on [`conda`](https://github.com/conda-forge/rerun-sdk-feedstock)\n* [**Rust**](https://www.rerun.io/docs/getting-started/data-in/rust): `cargo add rerun`\n\n### Installing the Rerun Viewer binary\nTo stream log data over the network or load our `.rrd` data files you also need the `rerun` binary.\nIt can be installed with `pip install rerun-sdk` or with `cargo install rerun-cli --locked --features nasm` (see note below).\nNote that only the Python SDK comes bundled with the Viewer whereas C++ \u0026 Rust always rely on a separate install.\n\n**Note**: the `nasm` Cargo feature requires the [`nasm`](https://github.com/netwide-assembler/nasm) CLI to be installed and available in your path.\nAlternatively, you may skip enabling this feature, but this may result in inferior video decoding performance.\n\nYou should now be able to run `rerun --help` in any terminal.\n\n\n### Documentation\n- 📚 [High-level docs](https://rerun.io/docs)\n- ⏃ [Loggable Types](https://www.rerun.io/docs/reference/types)\n- ⚙️ [Examples](https://rerun.io/examples)\n- 📖 [Code snippets](./docs/snippets/INDEX.md)\n- 🌊 [C++ API docs](https://ref.rerun.io/docs/cpp)\n- 🐍 [Python API docs](https://ref.rerun.io/docs/python)\n- 🦀 [Rust API docs](https://docs.rs/rerun/)\n- ⁉️ [Troubleshooting](https://www.rerun.io/docs/overview/installing-rerun/troubleshooting)\n\n\n## Status\nWe are in active development.\nThere are many features we want to add, and the API is still evolving.\n_Expect breaking changes!_\n\nSome shortcomings:\n* [The viewer slows down when there are too many entities](https://github.com/rerun-io/rerun/issues/7115)\n* [Multi-million point clouds can be slow](https://github.com/rerun-io/rerun/issues/1136)\n\n\n## What is Rerun for?\n\nRerun is built to help you understand and improve complex processes that include rich multimodal data, like 2D, 3D, text, time series, tensors, etc.\nIt is used in many industries, including robotics, simulation, computer vision,\nor anything that involves a lot of sensors or other signals that evolve over time.\n\n### Example use case\nSay you're building a vacuum cleaning robot and it keeps running into walls. Why is it doing that? You need some tool to debug it, but a normal debugger isn't gonna be helpful. Similarly, just logging text won't be very helpful either. The robot may log \"Going through doorway\" but that won't explain why it thinks the wall is a door.\n\nWhat you need is a visual and temporal debugger, that can log all the different representations of the world the robots holds in its little head, such as:\n\n* RGB camera feed\n* depth images\n* lidar scan\n* segmentation image (how the robot interprets what it sees)\n* its 3D map of the apartment\n* all the objects the robot has detected (or thinks it has detected), as 3D shapes in the 3D map\n* its confidence in its prediction\n* etc\n\nYou also want to see how all these streams of data evolve over time so you can go back and pinpoint exactly what went wrong, when and why.\n\nMaybe it turns out that a glare from the sun hit one of the sensors in the wrong way, confusing the segmentation network leading to bad object detection. Or maybe it was a bug in the lidar scanning code. Or maybe the robot thought it was somewhere else in the apartment, because its odometry was broken. Or it could be one of a thousand other things. Rerun will help you find out!\n\nBut seeing the world from the point of the view of the robot is not just for debugging - it will also give you ideas on how to improve the algorithms, new test cases to set up, or datasets to collect. It will also let you explain the brains of the robot to your colleagues, boss, and customers. And so on. Seeing is believing, and an image is worth a thousand words, and multimodal temporal logging is worth a thousand images :)\n\nWhile seeing and understanding your data is core to making progress in robotics, there is one more thing:\nYou can also use the data you collected for visualization to create new datasets for training and evaluating the models and algorithms that run on your robot.\nRerun provides query APIs to make it easy to extract clean datasets from your recording for exactly that purpose.\n\nOf course, Rerun is useful for much more than just robots. Any time you have any form of sensors, or 2D or 3D state evolving over time, Rerun is a great tool.\n\n### Rerun vs. Rviz\n\nWhen coming from pure visualization tools like [RViz](https://docs.ros.org/en/rolling/Tutorials/Intermediate/RViz/RViz-Main.html), you might be used to seeing the latest data only.\nRerun is more than a pure visualization solution, it provides a platform for multimodal data with a powerful visualizer, storage model and query engine (see also: [*\"What is Rerun?\"*](https://rerun.io/docs/overview/what-is-rerun)).\nIn robotics, you can use Rerun e.g. to record test runs, manage and query training data, visually debug live streams or recordings (also from third-party formats like [MCAP](https://rerun.io/docs/howto/logging-and-ingestion/mcap)) and much more.\n\nSo while Rerun makes your data streams visualizable in the viewer, integrating Rerun logging into your robotics applications also opens up the door for leveraging Rerun's broader capabilities.\n\nIf you are only interested in visualization, the Rerun viewer has powerful features like the ability to go back in time thanks to its time-aware in-memory database.\nYou can adjust the size of this buffer to your needs (see [here](https://rerun.io/docs/howto/visualization/limit-ram)), e.g. to a smaller size if you want to use Rerun as an RViz replacement in long-running or memory-constrained applications.\n\n\n## Business model\nRerun uses an open-core model. Everything in this repository will stay open source and free (both as in beer and as in freedom).\n\nWe are also building a commercial data platform.\nRight now that is only available for a few select design partners.\n[Click here if you're interested](https://rerun.io/pricing).\n\nThe Rerun open source project targets the needs of individual developers.\nThe commercial product targets the needs specific to teams that build and run computer vision and robotics products.\n\n## How to cite Rerun\n\nWhen using Rerun in your research, please cite it to acknowledge its contribution to your work. This can be done by\nincluding a reference to Rerun in the software or methods section of your paper.\n\nSuggested citation format:\n\n```bibtex\n@software{RerunSDK,\n  title = {Rerun: A Visualization SDK for Multimodal Data},\n  author = {{Rerun Development Team}},\n  url = {https://www.rerun.io},\n  version = {insert version number},\n  date = {insert date of usage},\n  year = {2024},\n  publisher = {{Rerun Technologies AB}},\n  address = {Online},\n  note = {Available from https://www.rerun.io/ and https://github.com/rerun-io/rerun}\n}\n```\n\nPlease replace \"insert version number\" with the version of Rerun you used and \"insert date of usage\" with the date(s)\nyou used the tool in your research.\nThis citation format helps ensure that Rerun's development team receives appropriate credit for their work and\nfacilitates the tool's discovery by other researchers.\n\n# Development\n* [`ARCHITECTURE.md`](ARCHITECTURE.md)\n* [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md)\n* [`CODE_STYLE.md`](CODE_STYLE.md)\n* [`CONTRIBUTING.md`](CONTRIBUTING.md)\n* [`BUILD.md`](BUILD.md)\n* [`rerun_py/README.md`](rerun_py/README.md) - instructions for Python SDK\n* [`rerun_cpp/README.md`](rerun_cpp/README.md) - instructions for C++ SDK\n\n\n## Installing a pre-release Python SDK\n\n1. Download the correct `.whl` from [GitHub Releases](https://github.com/rerun-io/rerun/releases)\n2. Run `pip install rerun_sdk\u003c…\u003e.whl` (replace `\u003c…\u003e` with the actual filename)\n3. Test it: `rerun --version`\n","funding_links":[],"categories":["Rust","Libraries","Rust 程序设计","Applications","Scientific Computation","Industry Strength Visualisation","Visualization","\u003ca name=\"Rust\"\u003e\u003c/a\u003eRust","Projects using Pixi","Libraries \u0026 Frameworks","Libraries and Frameworks"],"sub_categories":["Data visualization","网络服务_其他","Teleoperation","Robotics","Autopilots"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frerun-io%2Frerun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frerun-io%2Frerun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frerun-io%2Frerun/lists"}