finds.dev← search

// the find

perspective-dev/perspective

★ 11,049 · Rust · Apache-2.0 · updated Jul 2026

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

Perspective is a high-performance data visualization component built on a C++ engine compiled to WebAssembly, with bindings for JavaScript, Python, and Rust. The core idea is a single query engine that works in-browser via WASM or remotely via WebSocket, with the same UI component connecting to either. It's aimed at dashboards and notebooks where you're dealing with millions of rows or live-streaming data.

The WASM approach is the real differentiator — you get near-native query performance in the browser without shipping data to a server, which matters when you're pivoting and filtering 10M rows interactively. The virtual server abstraction that proxies DuckDB or ClickHouse queries through the same viewer interface is genuinely useful; you get the Perspective UI without loading all your data into its in-memory store. Apache Arrow as the wire format is a good call — zero-copy transfers between the engine and chart layer, and it plays well with the rest of the modern data stack. The JupyterLab widget is well-maintained and the Python async handlers (aiohttp, Starlette, tornado) cover the common server frameworks without forcing you into one.

The build story is brutal — this is a C++/Rust/TypeScript/Python monorepo and getting a dev environment working requires coordinating emscripten, pnpm, cargo, and pip. The README punts to DEVELOPMENT.md and that document is long. If you just want to drop a chart into an existing app, the bundle size is non-trivial (WASM binary). The expression language is ExprTk, which is not something most developers already know — there's no SQL or pandas-style filtering, so power users hit a learning curve just to write a calculated column. The React integration exists but it's thin; you're mostly wrapping a web component and dealing with imperative lifecycle issues yourself rather than getting a proper React component with first-class props.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →