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.7.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.7-cp310-abi3-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10+Windows x86-64

ruviz-0.4.7-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.7-cp310-abi3-macosx_11_0_arm64.whl (6.8 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

ruviz-0.4.7-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.7.tar.gz.

File metadata

  • Download URL: ruviz-0.4.7.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.7.tar.gz
Algorithm Hash digest
SHA256 8bf3a64a7e1a4fecf5dc97196a1f302ec507d7c92234eed8d4305d1c5215a5fc
MD5 0469a1d051ddcb1ca9fef44cdac6d4e1
BLAKE2b-256 95f51ecd9aebe7131e7e4c0a3aa779eb96c9d6c79fb90dd6efb0801f76124cb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.7.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.7-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: ruviz-0.4.7-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.7-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3726202dfaf6fe8afea0cc5824fb296eb187c4e3641014a2abca66562d319811
MD5 4b09ab9367bb486d2ca09e51aaffcdd1
BLAKE2b-256 9c3a2eaeb1ab953592d9fea08a63851f7e0cced7c18d9d0d0add8c565feab320

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.7-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.7-cp310-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ruviz-0.4.7-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50ca13e23fdf804bf713a8397fa72c623c25db6106c91fd89cb1c04f8077ea6f
MD5 26a9f26f9bd9b19916d0239b651d0e9d
BLAKE2b-256 ff0648ad339f5e3eedf6ba3da92b787f38072fa6fda3808d20868c45405dce59

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.7-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.7-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruviz-0.4.7-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 00fe99b85d95027ff9e6c735b555ca8864db72dacd831d39777f0cc91c3eeb30
MD5 a5cf4fcd0e21a0c4da933efbb78a1e0f
BLAKE2b-256 e1fb9a9546ad4a04e1a7e8ef5e60f8f5bdb7c5ea5d493e8d910bdef0d4063957

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.7-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.7-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ruviz-0.4.7-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 961e2d03becf105d1e2656b7e91fa5a4213d6c294bf4f1e82e4cb03cbe3da24d
MD5 c95aba9dd329d1f346c6d24f751ac1bf
BLAKE2b-256 700201422d832663211d8883feb887040d2682ffdb427759c4fe1942adb9149a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ruviz-0.4.7-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