Perspective is a data visualization and analytics component for large and streaming datasets.
Perspective addresses the challenge of building interactive analytics interfaces that remain responsive when handling massive or continuously updating data. It accomplishes this through a high-performance query engine compiled to WebAssembly, Python, and Rust, allowing computation to happen either in-browser or on a remote server. The tool provides a framework-agnostic custom element UI that connects to a data model, offering a data grid alongside chart types including line, bar, area, scatter, heatmap, treemap, sunburst, and candlestick visualizations. Its architecture supports pluggable data engines, enabling queries against external sources like DuckDB while translating view configurations into native queries. The built-in streaming data model handles read, write, and streaming operations for Apache Arrow data with a columnar expression language.
Perspective suits teams building dashboards, reports, and analytics applications where dataset size or real-time updates would strain traditional approaches. It works well in Jupyter notebooks through a dedicated widget and Python client library, making it valuable for interactive data analysis workflows. The tool's framework-agnostic design means it integrates with existing web stacks without forcing architectural choices. The README does not compare Perspective to alternative tools, so no positioning against competitors can be stated.
The project maintains a substantial base of adopters reporting real-world use, as evidenced by the fact that almost all open issues are raised by outside users rather than the core team. Maintainers typically respond to new issues and pull requests within a few days. Work in the issue tracker is dominated by bug reports, enhancement requests, and JavaScript-related tasks.