|
1 | 1 | <br /> |
| 2 | + |
2 | 3 | <a href="https://perspective-dev.github.io"> |
3 | 4 | <picture> |
4 | 5 | <source media="(prefers-color-scheme: dark)" srcset="https://github.com/perspective-dev/perspective/raw/master/docs/static/svg/perspective-logo-dark.svg?raw=true"> |
|
14 | 15 |
|
15 | 16 | <br/> |
16 | 17 |
|
17 | | -Perspective is an <i>interactive</i> analytics and data visualization component, |
18 | | -which is especially well-suited for <i>large</i> and/or <i>streaming</i> |
19 | | -datasets. Use it to create user-configurable reports, dashboards, notebooks and |
20 | | -applications. |
| 18 | +Perspective is an interactive analytics and data visualization component for |
| 19 | +large and streaming datasets. Build user-configurable reports, dashboards, |
| 20 | +notebooks, and applications with a high-performance query engine compiled to |
| 21 | +WebAssembly, Python, and Rust. |
21 | 22 |
|
22 | 23 | ### Features |
23 | 24 |
|
24 | | -- A fast, memory efficient streaming query engine, written in C++ and compiled |
25 | | - for [WebAssembly](https://webassembly.org/), [Python](https://www.python.org/) |
26 | | - and [Rust](https://www.rust-lang.org/), with read/write/streaming for |
27 | | - [Apache Arrow](https://arrow.apache.org/), and a high-performance columnar |
28 | | - expression language based on [ExprTK](https://github.com/ArashPartow/exprtk). |
29 | | - |
30 | | -- A framework-agnostic User Interface packaged as a |
| 25 | +- A framework-agnostic user interface packaged as a |
31 | 26 | [Custom Element](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements), |
32 | | - powered either in-browser via WebAssembly or virtually via WebSocket server |
33 | | - (Python/Node/Rust). |
| 27 | + which connects to a Data Model in-browser (via WebAssembly) or remotely (via |
| 28 | + WebSocket, with integration in Python, Node.js and Rust). Includes a data |
| 29 | + grid, 10+ chart types line, bar, area, scatter, heatmap, treemap, sunburst, |
| 30 | + candlestick, and more. |
| 31 | + |
| 32 | +- A Data Model API for pluggable engines, enabling Perspective's UI to query |
| 33 | + external data sources like [DuckDB](https://duckdb.org/) while translating |
| 34 | + view configurations into native queries. |
| 35 | + |
| 36 | +- A fast, memory-efficient streaming Data Model built-in, written in C++ and |
| 37 | + compiled for [WebAssembly](https://webassembly.org/), |
| 38 | + [Python](https://www.python.org/), and [Rust](https://www.rust-lang.org/). |
| 39 | + Supports read/write/streaming for [Apache Arrow](https://arrow.apache.org/), |
| 40 | + with a columnar expression language based on |
| 41 | + [ExprTK](https://github.com/ArashPartow/exprtk). |
34 | 42 |
|
35 | | -- A [JupyterLab](https://jupyter.org/) widget and Python client library, for |
36 | | - interactive data analysis in a notebook, as well as _scalable_ production |
37 | | - applications. |
| 43 | +- A [JupyterLab](https://jupyter.org/) widget and Python client library for |
| 44 | + interactive data analysis in notebooks. |
38 | 45 |
|
39 | 46 | ### Documentation |
40 | 47 |
|
@@ -62,7 +69,7 @@ applications. |
62 | 69 | ### Examples |
63 | 70 |
|
64 | 71 | <!-- Examples --> |
65 | | -<table><tbody><tr><td>editable</td><td>file</td><td>fractal</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=editable"><img height="125" src="https://perspective-dev.github.io/blocks/editable/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=file"><img height="125" src="https://perspective-dev.github.io/blocks/file/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=fractal"><img height="125" src="https://perspective-dev.github.io/blocks/fractal/preview.png?"></img></a></td></tr><tr><td>market</td><td>raycasting</td><td>evictions</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=market"><img height="125" src="https://perspective-dev.github.io/blocks/market/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=raycasting"><img height="125" src="https://perspective-dev.github.io/blocks/raycasting/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=evictions"><img height="125" src="https://perspective-dev.github.io/blocks/evictions/preview.png?"></img></a></td></tr><tr><td>nypd</td><td>streaming</td><td>covid</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=nypd"><img height="125" src="https://perspective-dev.github.io/blocks/nypd/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=streaming"><img height="125" src="https://perspective-dev.github.io/blocks/streaming/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=covid"><img height="125" src="https://perspective-dev.github.io/blocks/covid/preview.png?"></img></a></td></tr><tr><td>webcam</td><td>movies</td><td>superstore</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=webcam"><img height="125" src="https://perspective-dev.github.io/blocks/webcam/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=movies"><img height="125" src="https://perspective-dev.github.io/blocks/movies/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=superstore"><img height="125" src="https://perspective-dev.github.io/blocks/superstore/preview.png?"></img></a></td></tr><tr><td>citibike</td><td>olympics</td><td>dataset</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=citibike"><img height="125" src="https://perspective-dev.github.io/blocks/citibike/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=olympics"><img height="125" src="https://perspective-dev.github.io/blocks/olympics/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=dataset"><img height="125" src="https://perspective-dev.github.io/blocks/dataset/preview.png?"></img></a></td></tr></tbody></table> |
| 72 | +<table><tbody><tr><td>editable</td><td>file</td><td>duckdb</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=editable"><img height="125" src="https://perspective-dev.github.io/blocks/editable/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=file"><img height="125" src="https://perspective-dev.github.io/blocks/file/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=duckdb"><img height="125" src="https://perspective-dev.github.io/blocks/duckdb/preview.png?"></img></a></td></tr><tr><td>fractal</td><td>market</td><td>raycasting</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=fractal"><img height="125" src="https://perspective-dev.github.io/blocks/fractal/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=market"><img height="125" src="https://perspective-dev.github.io/blocks/market/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=raycasting"><img height="125" src="https://perspective-dev.github.io/blocks/raycasting/preview.png?"></img></a></td></tr><tr><td>evictions</td><td>nypd</td><td>streaming</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=evictions"><img height="125" src="https://perspective-dev.github.io/blocks/evictions/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=nypd"><img height="125" src="https://perspective-dev.github.io/blocks/nypd/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=streaming"><img height="125" src="https://perspective-dev.github.io/blocks/streaming/preview.png?"></img></a></td></tr><tr><td>covid</td><td>webcam</td><td>movies</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=covid"><img height="125" src="https://perspective-dev.github.io/blocks/covid/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=webcam"><img height="125" src="https://perspective-dev.github.io/blocks/webcam/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=movies"><img height="125" src="https://perspective-dev.github.io/blocks/movies/preview.png?"></img></a></td></tr><tr><td>superstore</td><td>citibike</td><td>olympics</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=superstore"><img height="125" src="https://perspective-dev.github.io/blocks/superstore/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=citibike"><img height="125" src="https://perspective-dev.github.io/blocks/citibike/preview.png?"></img></a></td><td><a href="https://perspective-dev.github.io/block?example=olympics"><img height="125" src="https://perspective-dev.github.io/blocks/olympics/preview.png?"></img></a></td></tr><tr><td>dataset</td></tr><tr><td><a href="https://perspective-dev.github.io/block?example=dataset"><img height="125" src="https://perspective-dev.github.io/blocks/dataset/preview.png?"></img></a></td></tr></tbody></table> |
66 | 73 | <!-- Examples --> |
67 | 74 |
|
68 | 75 | ### Media |
|
0 commit comments