Skip to main content

Python bindings and notebook widget support for ruviz

Project description

ruviz for Python

ruviz for Python wraps the Rust plotting runtime with a fluent Python API, static export helpers, native desktop show(), and notebook widget support.

Install

pip install ruviz

If you want pandas or Polars dataframe inputs, install the optional dataframe extras:

pip install "ruviz[dataframes]"

Quick Start

import numpy as np
import ruviz

x = np.linspace(0.0, 4.0, 50)
y = x**2

(
    ruviz.plot()
    .line(x, y)
    .title("Quadratic")
    .xlabel("x")
    .ylabel("y = x^2")
    .save("quadratic.png")
)

Notebook and Desktop Usage

  • In Jupyter, plot.show() displays a static PNG in the cell output.
  • Use plot.widget() when you want the synced WASM-backed notebook widget.
  • plot.size_px(width, height) also controls the widget's displayed size and aspect ratio.
  • Without size_px(...), the widget uses the default PNG size (640x480) and shrinks proportionally if the notebook column is narrower.
  • Drag the widget's bottom-right handle to resize the display freely.
  • Hold Shift or Ctrl while dragging the handle to preserve the current aspect ratio.
  • In the widget, right click opens the export menu and right drag performs box zoom.
  • Outside notebooks, plot.show() opens the native interactive window.
  • The published Linux wheel focuses on static rendering and notebook widgets. Install from source on Linux if you need the native desktop plot.show() window.
  • plot.render_png() and plot.render_svg() return in-memory export data.

Reactive Notebook Data

Use ruviz.observable(...) for notebook-driven updates that keep widget state in sync:

import numpy as np
import ruviz

x = np.linspace(0.0, 6.0, 200)
y = ruviz.observable(np.sin(x))

plot = ruviz.plot().line(x, y).title("Live Sine Wave")
widget = plot.widget()

ObservableSeries supports elementwise arithmetic and NumPy ufuncs. Derived observables stay live until you write to them directly:

from copy import deepcopy
import numpy as np

scaled = np.sin(y * 2.0 + 0.25)
template = deepcopy(plot)

deepcopy(plot) creates an independent live copy with fresh observables, while plot.clone() remains a static snapshot copy.

Documentation

Contributor Workflow

cd python
uv sync
uv run maturin develop
uv run python scripts/generate_gallery.py
uv run mkdocs serve

Rebuild the bundled widget frontend from the repository root when you change the web SDK or packages/ruviz-web/src/python-widget.ts:

bun run build:python-widget

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruviz-0.4.8.tar.gz (4.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ruviz-0.4.8-cp310-abi3-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

ruviz-0.4.8-cp310-abi3-manylinux_2_28_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.28+ x86-64

ruviz-0.4.8-cp310-abi3-macosx_11_0_arm64.whl (6.8 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

ruviz-0.4.8-cp310-abi3-macosx_10_12_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file ruviz-0.4.8.tar.gz.

File metadata

  • Download URL: ruviz-0.4.8.tar.gz
  • Upload date:
  • Size: 4.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ruviz-0.4.8.tar.gz
Algorithm Hash digest
SHA256 4a053895c50cfb5cce228f047a7c57e98f5b38d972bed01c13dc68b40f3c8fbe
MD5 0fb2b7c9243f3a6b58fabd8328860583
BLAKE2b-256 b20f08a6a01b73a54a9dade1d82690cf68a8a9ef14e67b69b226139f5898769b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.8.tar.gz:

Publisher: release.yml on Ameyanagi/ruviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruviz-0.4.8-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: ruviz-0.4.8-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 6.8 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ruviz-0.4.8-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2d4d9b32fdb40b119c86646844a700b1c2b903e8264e5a3f8a8bb39c5bd565e6
MD5 703f2de6ac833e00a125a60b999c8c5b
BLAKE2b-256 c5f573a1b5ce0384c7ca5394ce6965ede5084c5598eb502677ca533bfc5b6372

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.8-cp310-abi3-win_amd64.whl:

Publisher: release.yml on Ameyanagi/ruviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruviz-0.4.8-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruviz-0.4.8-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 653ead6df955b77ac02bd1438534f5776308fef44b4b8ba326bad46d9b7823f1
MD5 55812034302ef32e6ad5b67a20eb85e0
BLAKE2b-256 1308986f07f56d0f40c7f7a490f1ada6a8b9c23720130a3313a91d2603bfe229

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.8-cp310-abi3-manylinux_2_28_x86_64.whl:

Publisher: release.yml on Ameyanagi/ruviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruviz-0.4.8-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruviz-0.4.8-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98e8246e75f5d8d56e06739bd6701466e743b61d881d52d5e4488269dcdd48cd
MD5 d5657874eabc691e76e5ed2ba2a36665
BLAKE2b-256 7126ebeca32c188f4345e89296330eec8c3258fab8a8fb02c60530cf74810d21

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.8-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on Ameyanagi/ruviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ruviz-0.4.8-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ruviz-0.4.8-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9be95606b69ac1f61085a90ccacc877999c4db0258f461592960141417009e21
MD5 e8b3235ed190ff64001acd7452c18c49
BLAKE2b-256 5182c9847f5ff795b4dc750bf0f418016a793444ce0097cf8b07ec9d6d7dbeb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.8-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yml on Ameyanagi/ruviz

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page