Skip to content

Latest commit

 

History

6,708 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



Build Status npm PyPI crates.io

Perspective is an interactive analytics and data visualization component for large, real-time and streaming datasets. Build user-configurable reports, dashboards, notebooks and applications, backed by a high-performance streaming query engine that runs in-browser via WebAssembly or server-side in Python, Node.js and Rust — or delegates to a database you already have.


Features

  • A data-reactive UI packaged as a Custom Element, with drag-and-drop query and layout configuration. Includes a virtual-scrolling, editable data grid, WebGL charting engine with 15+ chart types, tile-based geographic maps, full theme support, and React bindings.

  • A fast, memory-efficient streaming query engine written in C++ and compiled for WebAssembly (including a 64-bit memory64 build for in-browser datasets larger than 4GB), Python and Rust. Tables update incrementally and views tick in real time, with reactive joins across tables, a columnar expression language based on ExprTK, and read/write/streaming support for Apache Arrow, CSV and JSON.

  • A symmetric client/server architecture — the same Client API connects to an engine in-process, in a Web Worker, or remotely over WebSocket, with server bindings for Python (aiohttp, Starlette, Tornado), Node.js and Rust. Datasets can be mirrored to the browser for fluid interaction or virtualized server-side, streaming only what's visible.

  • Virtual servers that run Perspective's UI directly on external engines like DuckDB, ClickHouse and Polars, translating view configurations into native queries — no ETL or data copy required.

  • A Jupyter widget built on anywidget and a Python client library for interactive data analysis in JupyterLab and other notebook environments.

Documentation

Examples

SuperstoreWorkspaceWebcam
RaycastingMarketNYPD
MoviesEvictionsFractal

Media

@timkpaine @timbess @sc1f
@texodus @texodus







The Perspective project is a member of the The OpenJS Foundation.

Copyright OpenJS Foundation and Perspective contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

The OpenJS Foundation | Terms of Use | Privacy Policy | Bylaws | Code of Conduct | Trademark Policy | Trademark List | Cookie Policy

About

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

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

11.1k stars

Watchers

124 watching

Forks

Releases

Used by

Contributors

Languages