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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: ruviz-0.4.12.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.12.tar.gz
Algorithm Hash digest
SHA256 408e75d3d3f5673edba248fabd91e4215f887ca6bfba65fe0562f51c021077ac
MD5 7b4efc5dc7c0813898d1263a0fe64493
BLAKE2b-256 53132555c685b19f8a76b702334a11cc78165d798f7205bb11462d7c439497d2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ruviz-0.4.12-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.12-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5727a36ffc719240213329d48470405966eac77e2fe500e974c01625950e28d5
MD5 b95b34d5fd7f7b23b1ac73a49c23af09
BLAKE2b-256 a15542e1e12f3f1dd60f4a1f0ba14cd86cb49664acd907e1c0c991ffc4af9fc1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.12-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec8e56f1aca8932c55f1a6e6a1f8fb8fe9584c0b6497a86cdd0899fb1ce0b07d
MD5 a339e5520a20febec1bd068e508e83e4
BLAKE2b-256 a02aa4d5e20b87b4c2cd2f66e374cf1ea5624805393c789bde13e48c0e817599

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.12-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d1163b28db3d4e101e610767444c1e5cbde9bc4e71ee126d4e507e43def9841
MD5 a0f9aedef0076a11740042243f7b3a87
BLAKE2b-256 da9d1271f87f4f6ec2c7332ddc5d7d34ea35e807aa94875fbbc749d307bdced9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.12-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3d5eec0833637d04b765c5b424f8b74f608f4a683edb7c477a354fc51ebbfe9c
MD5 5e9b4779a314d9f9c0b5b8d519958e41
BLAKE2b-256 cce83bb0bb4fb2007f4ec1aecb0ada72b0f70dab8ee1bd8cd4dc44a79d78abc7

See more details on using hashes here.

Provenance

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