perspective-python
Perspective is an open-source data grid, pivot table and charting component for large, real-time and streaming datasets.
perspective-python is the Python distribution of Perspective:
- A streaming query engine —
TableandView— with incremental pivots, aggregates, filters, expressions and joins, reading and writing Apache Arrow, CSV, JSON,pandas,polarsandpyarrow. Tables can be memory-mapped from disk withpage_to_disk=Trueto exceed available memory. PerspectiveWidget, an interactive data grid, pivot table and charting widget for JupyterLab, Jupyter Notebook, VS Code notebooks, Google Colab and marimo, built on anywidget.- WebSocket handlers for Tornado, Starlette (FastAPI) and aiohttp, which serve
real-time dashboards to
<perspective-viewer>in the browser. - Virtual servers which run the same UI directly against DuckDB, ClickHouse, PostgreSQL and Polars, with no data copy.
Installation
For notebooks, install the jupyter extra:
An interactive pivot table in Jupyter
=
A streaming Table
=
=
=
A real-time dashboard server
=
Any number of browser clients can then open the prices table over WebSocket
and receive every update() as it happens.