Skip to main content

perspective-python

PyPI

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 — Table and View — with incremental pivots, aggregates, filters, expressions and joins, reading and writing Apache Arrow, CSV, JSON, pandas, polars and pyarrow. Tables can be memory-mapped from disk with page_to_disk=True to 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

pip install perspective-python

For notebooks, install the jupyter extra:

pip install "perspective-python[jupyter]"

An interactive pivot table in Jupyter

import pandas as pd
from perspective.widget import PerspectiveWidget

df = pd.read_csv("superstore.csv")
PerspectiveWidget(df, plugin="Y Bar", group_by=["Region"], columns=["Sales"])

A streaming Table

import perspective

server = perspective.Server()
client = server.new_local_client()
table = client.table({"symbol": "string", "price": "float"}, name="prices")
table.update([{"symbol": "AAPL", "price": 189.5}])

A real-time dashboard server

import tornado.ioloop
import tornado.web
from perspective.handlers.tornado import PerspectiveTornadoHandler

app = tornado.web.Application([
    (r"/websocket", PerspectiveTornadoHandler, {"perspective_server": server}),
])

app.listen(8888)
tornado.ioloop.IOLoop.current().start()

Any number of browser clients can then open the prices table over WebSocket and receive every update() as it happens.

Documentation

Metadata

Release files for perspective-python 5.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for perspective-python 5.8.0
File Size Uploaded Provenance Actions
perspective_python-5.8.0.tar.gz 9.3 MB Without provenance Details for perspective_python-5.8.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for perspective-python 5.8.0
File Actions
perspective_python-5.8.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details for perspective_python-5.8.0-cp311-abi3-win_amd64.whl
perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl CPython 3.11 abi3 PyEmscripten 2026.0+ WebAssembly Details for perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl
perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl CPython 3.11 abi3 Linux glibc 2.28+ x86-64 Details for perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl
perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl CPython 3.11 abi3 Linux glibc 2.28+ ARM64 Details for perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl
perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl CPython 3.11 abi3 macOS 14.0+ ARM64 Details for perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl

Total release size: 78.7 MB

Release files / perspective_python-5.8.0.tar.gz

Download URL perspective_python-5.8.0.tar.gz
Size 9.3 MB
Tags Source
SHA-256 checksum
How to use checksums
bfda389608bbc8d87c12c9dd464f80fc4586fcdc59ac5e11e998eec613718b7d
BLAKE2b-256 checksum
How to use checksums
1b6869d269b46c2f41313850c7d141419951aa9bf4d768371155d708a306a68a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / perspective_python-5.8.0-cp311-abi3-win_amd64.whl

Download URL perspective_python-5.8.0-cp311-abi3-win_amd64.whl
Size 14.7 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
a74f55aaf33d32fb42818ee3381eaa1006c361e9afc2f4e51c21618e7aafe080
BLAKE2b-256 checksum
How to use checksums
2b18a6d2b2c26d1f3fdc0c0189e25906dcceadb4512d34c37b72cee70e0756be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl

Download URL perspective_python-5.8.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl
Size 8.3 MB
Tags CPython 3.11 PyEmscripten 2026.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
0ebe83c7ca3ed8ded9c927f59054252552934266000292f0d2b47f43c52599ea
BLAKE2b-256 checksum
How to use checksums
ffd3d222cc8accc6441bc01a55ad09249aa40723c111a9624fce782ccc8cc5ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl

Download URL perspective_python-5.8.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 16.1 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
d21de77d66d85ecdbbc9979f606bf36a6c6b2c5c5a4dec71f130e37062f67b23
BLAKE2b-256 checksum
How to use checksums
ba5a0747295d885c08904ec9481beecab92e3426f8c321cf476cd26b3af049f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl

Download URL perspective_python-5.8.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 15.7 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
45eaa689857c9456f852c031be2442be441b350f3eaa7adf4ef6b64dc266c0c1
BLAKE2b-256 checksum
How to use checksums
0481a9c5b580af9ccbabca0fe4a0495ea8a989826818fdb2ab6a491ae04c7928
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl

Download URL perspective_python-5.8.0-cp311-abi3-macosx_14_0_arm64.whl
Size 14.5 MB
Tags CPython 3.11 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
38019c9dcf03c0b85efe3703c7cf88fa53f00720232828a371f586c99789a84b
BLAKE2b-256 checksum
How to use checksums
df0194b7bff96d537f33084128c7739be4ed5c43c3d7293c9cbac6464f7872cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Security for perspective-python 5.8.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

5.8.0 This release

6 release files No provenance

1.1.1

1.1.0

1.0.8

1.0.7

0.1.11

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page