GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - perspective-dev/perspective: A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

BranchesTags
Open more actions menu

Latest commit

 

History

6,842 Commits
6,842 Commits

Folders and files

NameName
Last commit message
Last commit date
.cargo
.cargo
 
 
.devcontainer
.devcontainer
 
 
.github
.github
 
 
.husky
.husky
 
 
.vscode
.vscode
 
 
docs
docs
 
 
examples
examples
 
 
packages
packages
 
 
rust
rust
 
 
tools
tools
 
 
.clang-format
.clang-format
 
 
.clang-tidy
.clang-tidy
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.pnpmrc
.pnpmrc
 
 
.prettierignore
.prettierignore
 
 
.prettierrc.json
.prettierrc.json
 
 
CHANGELOG.md
CHANGELOG.md
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Cargo.lock
Cargo.lock
 
 
Cargo.toml
Cargo.toml
 
 
DEVELOPMENT.md
DEVELOPMENT.md
 
 
GOVERNANCE.md
GOVERNANCE.md
 
 
LICENSE.md
LICENSE.md
 
 
PROJECT_CHARTER.md
PROJECT_CHARTER.md
 
 
README.md
README.md
 
 
SECURITY.md
SECURITY.md
 
 
eslint.config.mjs
eslint.config.mjs
 
 
package.json
package.json
 
 
pnpm-lock.yaml
pnpm-lock.yaml
 
 
pnpm-workspace.yaml
pnpm-workspace.yaml
 
 
rust-toolchain.toml
rust-toolchain.toml
 
 
rustfmt.toml
rustfmt.toml
 
 
tsconfig.base.json
tsconfig.base.json
 
 

Repository files navigation


Perspective

Build Status npm PyPI crates.io

Perspective is an open-source data grid, pivot table and charting component for large, real-time and streaming datasets. Build user-configurable reports, dashboards, notebooks and embedded analytics applications, backed by a high-performance streaming query engine that runs in-browser via WebAssembly or server-side in Python, Node.js and Rust — or delegates to a database you already have.


A collage of Perspective data grids, pivot tables, charts and maps

Features

  • A data-reactive UI packaged as a Custom Element, with drag-and-drop query and layout configuration. Includes a virtual-scrolling, editable data grid, WebGL charting engine with 15+ chart types, tile-based geographic maps, full theme support, and React bindings.

  • A fast, memory-efficient streaming query engine written in C++ and compiled for WebAssembly (including a 64-bit memory64 build for in-browser datasets larger than 4GB, and support for paging columns to disk via OPFS in the browser or memory-mapped files natively), Python and Rust. Tables update incrementally and views tick in real time, with reactive joins across tables, a columnar expression language based on ExprTK, and read/write/streaming support for Apache Arrow, CSV and JSON.

  • A symmetric client/server architecture — the same Client API connects to an engine in-process, in a Web Worker, or remotely over WebSocket, with server bindings for Python (aiohttp, Starlette, Tornado), Node.js and Rust. Datasets can be mirrored to the browser for fluid interaction or virtualized server-side, streaming only what's visible.

  • Virtual servers that run Perspective's UI directly on external engines like DuckDB, ClickHouse, PostgreSQL and Polars, translating view configurations into native queries — no ETL or data copy required.

  • A Jupyter widget built on anywidget and a Python client library for interactive data analysis in JupyterLab and other notebook environments.

Documentation

  • Project Site
  • User Guide
  • JavaScript API
    • @perspective-dev/react React Component
    • @perspective-dev/viewer Web Component
    • @perspective-dev/client Client (Browser)
    • @perspective-dev/client Client (Node.js)
    • @perspective-dev/client Clickhouse Virtual Server
    • @perspective-dev/client DuckDB Virtual Server
  • Python API
    • perspective
    • perspective.widget
    • perspective.handlers.aiohttp
    • perspective.handlers.starlette
    • perspective.handlers.tornado
    • perspective.virtual_servers.clickhouse
    • perspective.virtual_servers.duckdb
    • perspective.virtual_servers.postgres
  • Rust API
    • perspective

Examples

SuperstoreWorkspaceWebcam
Perspective example: superstore Perspective example: superstore overview Perspective example: webcam video wall
RaycastingMarketNYPD
Perspective example: raycasting Perspective example: market trading desk Perspective example: nypd 4
MoviesEvictionsFractal
Perspective example: movies Perspective example: evictions 2 Perspective example: fractal

Media

@timkpaine @timbess @sc1f
Perspective conference talk Perspective conference talk Perspective conference talk
@texodus @texodus
Perspective conference talk Perspective conference talk




OpenJS Foundation


The Perspective project is a member of the The OpenJS Foundation.

Copyright OpenJS Foundation and Perspective contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

The OpenJS Foundation | Terms of Use | Privacy Policy | Bylaws | Code of Conduct | Trademark Policy | Trademark List | Cookie Policy

About

A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

perspective-dev.github.io/

Topics

analyticsapache-arrowbibusiness-intelligencechartsdashboarddata-visualizationdatagridduckdbjavascriptjupyterpivot-tablepythonreactreal-timeruststreamingwasmweb-componentswebassembly

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing

Security policy

Security policy
Activity
Custom properties

Stars

11.4k stars

Watchers

128 watching

Forks

1.4k forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.