What DatumHue is built on
DatumHue is a workstation for building charts, dashboards, internal tools, games and art in Lua. It's written in Rust and built on open-source projects. These are the main ones, and what each one does in DatumHue.
Running it for an organization? Read the operator manual (opens datumhue.dev) and the security model (opens datumhue.dev).
Rust
Memory-safe by default
DatumHue is written in Rust: the workstation app, its browser version and every DatumHue server. Rust rules out whole kinds of memory bugs by default, such as reading freed memory or writing past the end of a buffer.
Bevy and wgpu
One codebase for Windows, macOS (Apple Silicon), Linux and the browser
Bevy is the game engine the workstation app is built on. It draws the 2D and 3D scenes and the interface, and handles input and sound. Underneath, it draws through wgpu, a graphics library in Rust. An app you write uses the same API on Windows, macOS (Apple Silicon), Linux and in a browser.
iroh and WebRTC
Connections that get through NAT and firewalls
iroh is a networking library in Rust, built on QUIC. Workstations, browser tabs and DatumHue servers connect through it, directly when the network allows and relayed when it doesn't, and every connection is encrypted end to end. When one end is a browser, the same connections run over WebRTC.
piccolo
Each app in its own interpreter, with limits
DatumHue apps are written in Lua, and piccolo, a Lua interpreter written in Rust, runs them. Each app gets an interpreter of its own, with its own share of each frame and its own memory ceiling. The same interpreter runs in the workstation app and in a browser.
Apache DataFusion, Apache Arrow and Apache Parquet
SQL over your data, in the app and on the server
Apache DataFusion is a SQL query engine built on Apache Arrow, a columnar format for data in memory. Apps use it to query CSV and Parquet files with SQL, in the workstation app and in a browser. On Enterprise, it also runs on your server, in the data service for folders of Parquet files.
Also in the box
Physics, text, screen readers and TLS
Rapier
2D and 3D physics.
Parley
Text layout, with font fallback for each writing system.
AccessKit
Screen reader support in the workstation app.
rustls
TLS for HTTPS and QUIC, written in Rust.
Credits
Thank you to these projects
- Rust (opens rust-lang.org)
- Bevy (opens bevy.org)
- wgpu (opens wgpu.rs)
- iroh (opens www.iroh.computer)
- str0m (opens github.com)
- piccolo (opens github.com)
- Apache DataFusion (opens datafusion.apache.org)
- Apache Arrow (opens arrow.apache.org)
- Apache Parquet (opens parquet.apache.org)
- Rapier (opens rapier.rs)
- Parley (opens github.com)
- AccessKit (opens accesskit.dev)
- rustls (opens github.com)
Every download comes with the full third-party notices. For the browser version, the licenses page links them.
Apache DataFusion, Apache Arrow and Apache Parquet are trademarks of The Apache Software Foundation. No endorsement by The Apache Software Foundation is implied.
Rust is a trademark of the Rust Foundation.
Start making things
The workstation app is free for any use. For an organization, Enterprise runs it on your own servers.
Free · No sign-up · Windows, macOS (Apple Silicon), Linux