Perspective is an interactive analytics and data visualization component, which is especially well-suited for large and/or streamingdatasets. Use it to create user-configurable reports, dashboards, notebooks and applications, then deploy stand-alone in the browser, or in concert with Python and/or Jupyterlab.
A fast, memory efficient streaming query engine, written in C++ and compiled for WebAssembly, Python and Rust, with read/write/streaming for Apache Arrow, and a high-performance columnar expression language based on ExprTK.
A framework-agnostic User Interface packaged as a Custom Element, powered either in-browser via WebAssembly or virtually via WebSocket server (Python/Node).
A JupyterLab widget and Python client library, for interactive data analysis in a notebook, as well as scalable production Voila applications.
Project Site
JavaScript (NPM)
@finos/perspective-viewer, JavaScript UI API
@finos/perspective, JavaScript Client/Server API
Table API
View API
Installation Guide
Python (PyPI)
perspective-python, Python Client/Server API
PerspectiveWidget Jupyter Plugin
Table API
View API
Rust (Crates.io)
perspective-client, Rust Client API
perspective-server, Rust Server API
perspective, Rust API
Table API
View API
Appendix
Data Binding
Expression Columns
| editable | file | fractal |
| market | raycasting | evictions |
| nypd | streaming | covid |
| webcam | movies | superstore |
| citibike | olympics | |
@timkpaine | @timbess | @sc1f |
@texodus | @texodus | |