#data-analytics #data-analysis #dataset #interactive #perspective #jupyter

perspective-server

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

24 stable releases

Uses new Rust 2024

new 3.4.3 Mar 20, 2025
3.3.4 Feb 10, 2025
3.2.1 Dec 23, 2024
3.1.7 Nov 30, 2024
3.0.0-rc.1 Jul 27, 2024

#131 in Visualization

Download history 383/week @ 2024-11-30 245/week @ 2024-12-07 30/week @ 2024-12-14 174/week @ 2024-12-21 10/week @ 2024-12-28 11/week @ 2025-01-04 128/week @ 2025-01-11 24/week @ 2025-01-18 145/week @ 2025-01-25 348/week @ 2025-02-01 191/week @ 2025-02-08 31/week @ 2025-02-15 193/week @ 2025-02-22 336/week @ 2025-03-01 303/week @ 2025-03-08 260/week @ 2025-03-15

1,101 downloads per month
Used in 2 crates

Apache-2.0

1.5MB
35K SLoC

C++ 30K SLoC // 0.1% comments Rust 4.5K SLoC // 0.1% comments JavaScript 51 SLoC // 0.3% comments Python 21 SLoC // 0.5% comments



Build Status npm PyPI crates.io


Perspective is an interactive analytics and data visualization component, which is especially well-suited for large and/or streaming datasets. Use it to create user-configurable reports, dashboards, notebooks and applications.

Features

  • 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/Rust).

  • A JupyterLab widget and Python client library, for interactive data analysis in a notebook, as well as scalable production applications.

Documentation

Examples

editablefilefractal
marketraycastingevictions
nypdstreamingcovid
webcammoviessuperstore
citibikeolympics

Media

@timkpaine @timbess @sc1f
@texodus @texodus

Dependencies

~3–6.5MB
~112K SLoC