jpmorganchase/perspective: Streaming pivot visualization via WebAssembly


17 bookmarks. First posted by tscheer february 2018.


Github repo
Name: perspective
Tagline: Streaming pivot visualization via WebAssembly
Homepage: https://jpmorganchase.github.io/perspective/
Languages:
C++ = 1049570 bytes
JavaScript = 269028 bytes
HTML = 20166 bytes
CSS = 15344 bytes
TypeScript = 4904 bytes
CMake = 4456 bytes
C = 3477 bytes

# Perspective

[![Build Status](https://travis-ci.org/jpmorganchase/perspective.svg?branch=master)](https://travis-ci.org/jpmorganchase/perspective)

A streaming data visualization engine for Javascript, Perspective makes it simple to build real-time
& user configurable analytics entirely in the browser.

<p align="center">
<img src="https://jpmorganchase.github.io/perspective/examples/demo.gif">
</p>

Features:

- A fast, memory efficient streaming pivot engine written principally in C++ and
compiled to both WebAssembly and asm.js via the
[emscripten](https://github.com/kripken/emscripten) compiler.

- An embeddable, framework-agnostic UI for user engine configuration & visualization, based
on [Web Components](https://www.webcomponents.org/), and a WebWorker engine host for
responsive UIs no matter the update frequency.

- A suite of simple visualization plugins for some common Javascript libraries such as
[HighCharts](https://github.com/highcharts/highcharts) and
[Hypergrid](https://github.com/fin-hypergrid/core).

- Runtimes for the Browser and Node.js.

## Examples

* [superstore.html](https://jpmorganchase.github.io/perspective/examples/superstore.html) A static `superstore.csv` demo page.
* [citibike.html](https://jpmorganchase.github.io/perspective/examples/citibike.html) NYC Citibike availability map.
* [streaming.html](https://jpmorganchase.github.io/perspective/examples/streaming.html) A streaming random data demo page.
* [coincap.html](https://jpmorganchase.github.io/perspective/examples/coincap.html) Streaming crypto currency prices via [Coincap.io](http://coincap.io/).

## Installation

### From source

You'll need [emscripten](https://github.com/kripken/emscripten) installed and
resolveable on your PATH in order to build from source, for example via [`emsdk_env.sh`](https://github.com/juj/emsdk):

```bash
source emsdk/emsdk_env.sh
```

Once installed, you can build perspective via:

```bash
npm install
./node_modules/.bin/lerna run start --stream
```

If everything is successful, you should find a few built example assets in the
`packages/perspective-examples/build` directory:

You can run a simple test server on port 8080 by running:

```bash
./node_modules/.bin/lerna run host --stream
```

#### OSX specific instructions

As of this writing, the latest version of Emscripten does not correctly build on
OSX due to a [bug](https://github.com/kripken/emscripten/issues/5418) in `1.37.22`.
Instead of `latest`, you'll need to install and activate an older version:

```bash
./emsdk install sdk-1.37.21-64bit
./emsdk activate...
github  programming  github-starred-to-pinboard  crypto 
february 2018 by brianyang
jaygooby starred jpmorganchase/perspective
github  starred  favorite 
february 2018 by jaygooby
Streaming pivot visualization via WebAssembly
real-time  web  UI  library  engine  visual  javascript  view  display  graph  barchart  data  webassembly  pivot  druid 
february 2018 by ebouchut
A streaming data visualization engine for Javascript, Perspective makes it simple to build real-time & user configurable analytics entirely in the browser.
visualization  web_assembly 
february 2018 by kbonnet
J.P.Morgan open sources Perspective – a WebAssembly streaming data vis engine
from twitter_favs
february 2018 by tguemes