mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Dev Toolsevaluationupdated 26 Aug 2026

Dalaran review

Dalaran is a self-hosted viewer, recorder, and query stack for time-aligned robot data such as camera frames, LiDAR, IMU readings, and transforms. It is a hard fork of Rerun that adds Python, Rust, and C++ logging APIs while keeping compatibility with the upstream recording container.

-46stars / 7d
Verdict

Our Dalaran run built in 9 seconds, but pytest produced 29 failures and 96 collection or setup errors, so this fork is a research trial rather than a safe default for a robotics team. Its local-first licensing and upstream recording compatibility are attractive. Wait for the README and roadmap to agree, then rerun the complete suite before trusting the advertised robotics layer.

We ran it

Lab card: what happened when we ran DalaranScreenshot of Dalaran (github.com/Flaminis/Dalaran)
Install✓ · 29s33 packages · 36 MB
Build✓ · 9s
Tests✗ · 15s49 passed · 29 failed · 96 errors of 174 (pytest)
Known vulns0(pip-audit)
Repo8176 files~876,821 lines of source · 42.1 MB · 0 CI workflows · tests dir

Answers from our run

Does Dalaran build from source?

Dependencies installed in 29 seconds (33 packages), and the build succeeded in 9 seconds. We cloned commit da14440 into a clean Debian container with 3 CPUs and no project-specific setup.

Do Dalaran's tests pass?

Not all of them: 49 of 174 passed and 29 failed when we ran the project's own test command (pytest), with 96 collection errors. Some failures need services or credentials a bare container does not have.

Does Dalaran have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use Dalaran?

Teams that need a stable API or long support window: the README calls the project pre-1.0, warns of breaking changes, and supports only the latest release.

What are the alternatives to Dalaran?

Rerun, Foxglove Studio, PlotJuggler. Our Dalaran run built in 9 seconds, but pytest produced 29 failures and 96 collection or setup errors, so this fork is a research trial rather than a safe default for a robotics team.

Setup2/5Build passed, but 125 tests failed or errored
Docs2/5Useful build detail, but README and roadmap conflict
Community2/5823 stars; eight open items were dependency pull requests
Maturity1/5Pre-1.0 API with no clean test baseline in our run

Who it’s for

Robotics developers who need sensor streams and transforms on one synchronized timeline.
Teams that want to inspect recordings locally and recover the same data as dataframes.
Rerun users willing to test a young fork for its robotics-specific direction.
Engineers prepared to work across Rust, Python, C++, Pixi, and Git LFS when contributing.

Who it’s NOT for

Teams that need a stable API or long support window: the README calls the project pre-1.0, warns of breaking changes, and supports only the latest release.
Buyers choosing it mainly for the advertised robotics additions: the README says the robot API, ROS 2 bridge, costmaps, diagnostics, and dataset bundles work today, while ROADMAP.md lists those items as near-term or mid-term work.
Contributors expecting a simple Python-only checkout: BUILD.md requires Rust 1.95.0, Pixi, a generated PyO3 config, and Git LFS for a proper test environment.
Teams that require a clean test baseline on fresh Debian: our run ended with 29 failures and 96 collection or setup errors.
Operators seeking a hosted service: the roadmap explicitly rules one out.

Setup reality

Our sandbox install succeeded in 29 seconds, adding 33 packages and using 36 MB. The build passed in 9 seconds. Pytest then failed in 15 seconds: 49 passed, 29 failed, and 96 collection or setup errors were reported across 174 tests. Pip-audit found 0 known vulnerabilities.

The short Python example needs no hosted credential, while development is broader. BUILD.md calls for Rust 1.95.0, Pixi, a generated PyO3 configuration, and Git LFS for the full test environment. C++ work on Windows requires Visual Studio 2022.

The viewer needs graphics support, and web builds add a WebAssembly target. Dalaran is pre-1.0, supports only its latest release, and warns that APIs may break. The repository has no GitHub CI workflow or Dockerfile, so adopters must define their own reproducible check path.

Dalaran puts robot data on one clock

Dalaran records and displays time-indexed data from robots, simulators, and offline jobs. Camera frames, point clouds, IMU readings, transforms, and ordinary series can share one timeline. The same Arrow-backed chunks can be viewed in 2D or 3D and queried as dataframes. Python, Rust, and C++ clients log into a viewer, a file, or a remote endpoint. The checked-out repository is substantial: 8,176 files, about 876,821 source lines, and 42.1 MB.

The project is a hard fork of Rerun, and that ancestry matters. Dalaran says its .dlr container retains the RRF2 framing used by upstream .rrd recordings. It accepts the older extensions and reads chunks whose metadata uses either namespace. Saved upstream layouts have only partial compatibility, however, and very old recordings may still need migration. A team moving existing files should test the layouts it depends on, not stop after confirming that sensor data opens.

The advertised robotics layer conflicts with its own roadmap

The README says several robotics features work today: a high-level robot API, ROS 2 bridging and bag replay, axis-convention helpers, occupancy grids, costmaps, a diagnostic command, and portable dataset bundles. ROADMAP.md tells a different story. It puts the robot API, axis helpers, costmaps, diagnostics, and direct .rrd opening in near-term work. ROS 2 bridging and .dlrpack bundles sit in the mid-term section.

That contradiction changes the decision more than the 823 GitHub stars do. A prospective user cannot tell which document describes commit da14440 without inspecting source and trying each required path. The roadmap also says dates are deliberately absent and its items are intentions rather than promises. Dalaran may already contain partial implementation, but the two documents do not provide a dependable boundary between shipped and unfinished behavior.

What happened when we ran it

Our sandbox installed 33 Python packages in 29 seconds and used 36 MB on disk. The build completed in another 9 seconds. Those two steps make the Python surface cheap to inspect. Pip-audit reported 0 known vulnerabilities among the installed dependencies. These measurements came from commit da14440 in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets.

The test result was poor. Pytest stopped with exit code 1 after 15 seconds: 49 tests passed, 29 failed, and 96 produced collection or setup errors out of 174. The tail lists failures across validators, vector data, versions, video helpers, views, coordinates, the viewer client, viewport blueprints, and two log benchmark modules. That tail does not contain the underlying exceptions, so it cannot support a claim about missing packages or broken code. It does show that the full command did not pass in our fresh environment.

The repository includes a tests directory, yet our scan found 0 GitHub CI workflow files and no Dockerfile. A local suite can still be well maintained, and external automation may exist, but neither signal gives a new adopter a visible reference environment. Until the maintainers publish one, teams should preserve their exact toolchain and treat a clean run as an adoption requirement.

Source development needs Rust, Pixi, PyO3, and Git LFS

The one-minute Python example hides most contributor setup. BUILD.md pins Rust 1.95.0 and uses Pixi to prepare commands and environments. PyO3 needs a generated configuration file before direct Cargo work. Git LFS is described as generally required for the proper development environment because test snapshots live there. On Windows, C++ builds also require Visual Studio 2022. That is reasonable for a multilingual viewer, but it is far beyond installing 33 Python packages.

Graphics and platform differences add another branch. The native viewer uses wgpu; the diagnostic material refers to adapters and drivers. A web viewer build requires the wasm32-unknown-unknown target and a feature flag. Windows users must also make sure Git creates symlinks. The build guide documents these details better than the quick start, which is useful once a developer knows which layer they are actually trying to change.

Pre-1.0 support means following the latest release

Dalaran's status section says the API is evolving and breaking changes should be expected between releases. Its security policy supports only the latest released version, with fixes landing on the main branch before the next release. GitHub's latest-release endpoint returned no published release for this repository, even though the README links package registries and mentions prerelease wheels. That mismatch deserves clarification before a production rollout.

The last push recorded by GitHub was August 12, 2026. GitHub listed 8 open issues and pull requests, and every returned open item was an automated dependency pull request. This is recent maintenance activity, but it gives little evidence of user discussion around ROS compatibility, recording migration, or the failed test areas. The project has an Apache-2.0 license and a private security-reporting path, both sensible foundations for self-hosting.

Rerun remains the safer default today

Dalaran has a clear reason to exist: robotics teams often need typed costmaps, frame conventions, bag replay, and synchronized sensor review rather than a generic plotting tool. The problem is proof. At commit da14440, 125 of 174 tests either failed or errored in our run, and the public documents disagree about whether the main differentiators have shipped.

Try Dalaran in a disposable environment if one of those additions solves a specific pain, especially if existing .rrd data must remain readable. Keep Rerun beside it during evaluation and compare real recordings, saved layouts, ROS messages, and export behavior. A team choosing its standard viewer should wait for a clean suite and one authoritative feature list.

Alternatives

ProjectWhat it isPick it when
RerunThe upstream multimodal data stack from which Dalaran was forked.pick this instead when upstream continuity and its existing ecosystem matter more than Dalaran's robotics-specific direction.
Foxglove StudioA robotics visualization application whose public repository is archived.pick this instead when its established ROS and MCAP workflow fits, and an archived public repository is acceptable.
PlotJugglerA desktop time-series viewer with ROS integration and a narrower plotting focus.pick this instead when charts and signal inspection matter more than synchronized 3D scenes and a recording store.

What people are saying

  1. [velocity-scout] Flaminis/Dalaran

Sources

  1. Dalaran README
  2. Dalaran roadmap
  3. Dalaran build guide
  4. Dalaran security policy
  5. Dalaran issues and pull requests

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →