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.6.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.6.0
File Size Uploaded
perspective_python-5.6.0.tar.gz 9.2 MB Details

Built distributions (wheels)

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

Total release size: 77.3 MB

Release files / perspective_python-5.6.0.tar.gz

Download URL perspective_python-5.6.0.tar.gz
Size 9.2 MB
Tags Source
SHA-256 checksum
How to use checksums
efaa63fa38bd1c672556402e278eaffd347663981f7cd8fdd22007d0008f78f7
BLAKE2b-256 checksum
How to use checksums
9cac2efc8ae61f35dcc0fc0f224bbf879a2cb4101b397b2df61afda565cf4151
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

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

Download URL perspective_python-5.6.0-cp311-abi3-win_amd64.whl
Size 14.5 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6e883f6abbac0f172cbfe550d42f9823e809a466c0ff57804f0dcfe3819eca57
BLAKE2b-256 checksum
How to use checksums
00f565ea25653ecef7322d0dc2d1148c671e75c29612a95b7f2ba29db2bcea9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

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

Download URL perspective_python-5.6.0-cp311-abi3-pyemscripten_2026_0_wasm32.whl
Size 8.2 MB
Tags CPython 3.11 PyEmscripten 2026.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
64a3f5498a92ca3e47e24f08e18d3d8a93a47d718cba6bb1f80ff2df659d8305
BLAKE2b-256 checksum
How to use checksums
61b5d6ffcfdaf25d8893304c59ba8558aa8122c560e66ead4a314c4d63756142
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

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

Download URL perspective_python-5.6.0-cp311-abi3-manylinux_2_28_x86_64.whl
Size 15.8 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
1ce0ee83d914dfe81827f42a5ff5130fe6c9209e796eb5d574178d4fa085342f
BLAKE2b-256 checksum
How to use checksums
26ca0ccf2ad8d0e63cbb232d36ea8be888cfd883445e0a24e1aa87e5cd2db064
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

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

Download URL perspective_python-5.6.0-cp311-abi3-manylinux_2_28_aarch64.whl
Size 15.4 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
46d721952bd9761d3a1fb0d48238d441c10990ab87417f8c2f6be79210e66199
BLAKE2b-256 checksum
How to use checksums
4d3c6f4418ab874555ac046fa6186326149a67b24e35d489cf2f95be176f95a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

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

Download URL perspective_python-5.6.0-cp311-abi3-macosx_14_0_arm64.whl
Size 14.3 MB
Tags CPython 3.11 abi3 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
63bdebe56623a2e9f8b1503a4ccdee9dece745364dea375736545c3aefc307da
BLAKE2b-256 checksum
How to use checksums
342aea8c790d92c99f8a4da072612b7fc55d74a593edde6344ebcad5a4318e62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.11

Release history Release notifications | RSS feed

This release

5.6.0 This release

6 release files

5.5.1

6 release files

5.5.0

6 release files

5.4.0

6 release files

5.3.1

6 release files

5.3.0

6 release files

5.2.0

6 release files

5.1.0

6 release files

5.0.0

6 release files

4.5.2

6 release files

4.5.1

5 release files

4.5.0

5 release files

4.4.1

5 release files

4.4.0

5 release files

4.3.0

5 release files

4.2.0

5 release files

4.1.1

5 release files

4.1.0

5 release files

4.0.1

5 release files

4.0.0

5 release files

3.8.0

5 release files

3.7.4

5 release files

3.7.3

5 release files

3.7.2

5 release files

3.7.1

5 release files

3.7.0

5 release files

3.6.1

5 release files

3.6.0

5 release files

3.5.1

5 release files

3.5.0

5 release files

3.4.3

5 release files

3.4.2

5 release files

3.4.1

5 release files

3.4.0

5 release files

3.3.4

5 release files

3.3.3

5 release files

3.3.2

5 release files

3.3.1

5 release files

3.3.0

5 release files

3.2.1

5 release files

3.2.0

5 release files

3.1.8

5 release files

3.1.7

5 release files

3.1.6

5 release files

3.1.5

5 release files

3.1.4

5 release files

3.1.3

5 release files

3.1.2

5 release files

3.1.1

5 release files

3.1.0

5 release files

3.0.3

5 release files

3.0.2

5 release files

3.0.1

5 release files

3.0.0

5 release files

2.9.0

21 release files

2.8.1

21 release files

2.8.0

21 release files

2.7.1

21 release files

2.7.0

21 release files

2.6.0

21 release files

2.5.0

21 release files

2.3.2

20 release files

2.3.0

21 release files

2.2.0

21 release files

2.1.4

17 release files

2.1.3

17 release files

2.1.2

13 release files

2.0.1

13 release files

1.9.4

13 release files

1.9.3

13 release files

1.9.2

13 release files

1.9.0

10 release files

1.8.1

1 release file

1.8.0

1 release file

1.7.2

1 release file

1.6.5

13 release files

1.6.3

13 release files

1.6.0

13 release files

1.5.0

1 release file

1.4.0

1 release file

1.3.5

1 release file

1.3.1

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.1

1.1.0

1.0.8

1.0.7

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.10.2

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.7.0

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.3

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.2

1 release file

0.4.1

1 release file

0.1.11

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.6

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.0.15

1 release file

0.0.14

1 release file

0.0.13

1 release file

0.0.12

1 release file

0.0.11

1 release file

0.0.10

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

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