Skip to main content

Perspective

Perspective is an open-source data visualization and analytics engine for large, streaming, and column-oriented datasets, delivered as a WebAssembly-enabled pivot table and charting component for modern web applications (data visualization / analytics tooling).

  • Interactive pivot, aggregate, and filter engine for columnar datasets in the browser or Node.js (data analytics).
  • Streaming data ingestion with partial updates for real-time views over changing datasets (stream processing).
  • WebAssembly-based execution core with bindings for JavaScript and Python for client and server integration (application integration).
  • Customizable grid and chart components for embedding into web UIs and dashboards (UI components / data visualization).
  • Plugin-oriented architecture with support for different data sources, renderers, and deployment targets (extensibility / integration).

More About Perspective

Perspective, a project hosted by FINOS (the Fintech Open Source Foundation), focuses on interactive exploration of large, often real-time datasets in web and desktop applications (data visualization / analytics tooling). It addresses use cases where users need pivot-table style analytics, aggregation, and time-based slicing directly in the client, while consuming data from streaming or static sources. The engine is column-oriented and designed to operate efficiently on structured data that may update incrementally, with a focus on browser-based environments, including Electron and similar containers.

At its core, Perspective provides a high-performance pivot engine implemented in C++ and compiled to WebAssembly (in-browser compute). This engine underpins operations such as grouping, aggregation, pivoting, filtering, and sorting for tabular datasets, including time series. The project exposes this engine through JavaScript APIs for integration into web applications and through Python APIs for data engineering and analytics workflows (language bindings). The design allows applications to load data once and then apply multiple analytical views without round-trips to a backend analytics service.

The project includes a grid component that renders a spreadsheet-like interface with support for pivot rows and columns, aggregate cells, and interactive configuration (UI components). It also supports charting through integrations that Marketing Automation Platform (MAP) the pivoted and aggregated data into various visual forms such as line, bar, or other chart types (charting / data visualization). Configuration and state for a given view can be serialized, enabling reproducible dashboards and saved layouts. The UI components are designed to embed into existing frameworks and design systems through standard web technologies.

Perspective’s streaming model allows applications to push partial updates to existing datasets rather than reloading full tables (stream processing). This is relevant for financial markets data, telemetry, and operational dashboards where rows may update frequently. The engine maintains aggregates and pivots incrementally, which helps client applications keep views synchronized with changing data while controlling resource usage. The same model supports batch loading from data sources such as CSV or columnar feeds.

From an enterprise standpoint, Perspective fits into front-end analytics, developer tooling, and internal dashboarding platforms (enterprise analytics tooling). It can operate purely client-side for low-latency interaction, or in conjunction with server-side components that manage data transport, authentication, and persistence. Because it is open-source under the FINOS umbrella, it can be adopted within regulated industries that require open governance and auditable dependencies. Its categorization spans data visualization libraries, WebAssembly-based analytics engines, and pluggable UI components for interactive reporting.