perspective-dev/perspective

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

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 22 minutes ago
Added to GitGenius on March 15th, 2026
Created on November 2nd, 2017
Open Issues & Pull Requests: 84 (+0)
Number of forks: 1,333
Total Stargazers: 11,094 (+0)
Total Subscribers: 125 (+0)

Issue Activity (beta)

Open issues: 49
New in 7 days: 0
Closed in 7 days: 14
Avg open age: 544 days
Stale 30+ days: 46
Stale 90+ days: 45

Recent activity

Opened in 7 days: 0
Closed in 7 days: 14
Comments in 7 days: 3
Events in 7 days: 9

Top labels

  • bug (53)
  • enhancement (39)
  • JS (15)
  • plugins (9)
  • Python (7)
  • question (7)
  • documentation (6)
  • C++ (5)

Repository Insights (GitGenius)

Median issue/PR response: 14.2 hours
Mean response time: 102.5 days
90th percentile: 427.1 days
Tracked items: 243

Most active contributors

Sign in to see contributor activity.

Detailed Description

Perspective is an interactive analytics and data visualization component designed specifically for handling large and streaming datasets. Written primarily in C++, the project compiles to WebAssembly, Python, and Rust, enabling deployment across multiple platforms and environments. The repository is maintained as an OpenJS Foundation member project and serves as a foundation for building user-configurable reports, dashboards, notebooks, and applications with a high-performance query engine at its core.

The project provides a framework-agnostic user interface packaged as a Custom Element that can connect to data models either in-browser via WebAssembly or remotely via WebSocket. The UI includes a data grid alongside more than ten chart types, encompassing line, bar, area, scatter, heatmap, treemap, sunburst, and candlestick visualizations. A pluggable Data Model API allows Perspective's interface to query external data sources such as DuckDB while translating view configurations into native queries, extending the component's utility beyond its built-in capabilities.

The core streaming Data Model is written in C++ and compiled for WebAssembly, Python, and Rust. It supports read, write, and streaming operations for Apache Arrow data, incorporating a columnar expression language based on ExprTK. This architecture enables memory-efficient handling of large datasets with fast query performance. The project also includes a JupyterLab widget and Python client library, facilitating interactive data analysis directly within notebook environments.

GitGenius activity data reveals that the repository maintains active development with a median issue and pull request response latency of 14.1 hours across 230 tracked items, though mean latency extends to 2623.1 hours, indicating some longer-running discussions. Bug reports represent the most active issue category with 51 tracked items, followed by enhancement requests with 35 items. JavaScript-specific issues account for 9 tracked items. The primary contributor texodus has logged 321 events, with timkpaine contributing 106 events and aszenz adding 12 events, establishing a clear core development team. The repository shares overlapping contributors with microsoft/vscode, holoviz/panel, and rust-lang/rust, indicating cross-project collaboration within the data visualization and systems programming communities.

The documentation ecosystem is extensive, with separate API references for JavaScript browser and Node.js clients, Python packages including handlers for aiohttp, Starlette, and Tornado servers, and Rust crates covering perspective, perspective-client, perspective-server, perspective-python, perspective-js, and perspective-viewer. Virtual server integrations for ClickHouse and DuckDB are documented across all three language ecosystems. The project includes numerous examples demonstrating capabilities ranging from editable data grids and file uploads to DuckDB integration, streaming data visualization, and specialized use cases like market data analysis and webcam-based real-time visualization.

perspective
by
perspective-devperspective-dev/perspective

Repository Details

Fetching additional details & charts...