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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: ruviz-0.4.10.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.10.tar.gz
Algorithm Hash digest
SHA256 f66503f38ec0c1a5125f67e559094e58602432df38b669f2b5109ece84b5374d
MD5 f4c60d144d2024247bb7dcf0d845b141
BLAKE2b-256 0697aa3149d86dd74ae4ddef2da69494054c1040e793f2392f6aa5d2ef5ad596

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ruviz-0.4.10-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.10-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e59bd4eb42bc2046f9ab0dcde197220a03a7653064b0a68e84116f3b2feac8ad
MD5 e8fdf5250add98505ffb15dfd3c7179b
BLAKE2b-256 9defd80cf5cd655041a3a2225087eac106eb383ad6d549c77fa37c38c627484f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.10-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a7cd9caf51997559c29c0077c40294de71b153ab09ccee09b50d4d86bdb97f4
MD5 1399ac35243208c89975bf88047eedd8
BLAKE2b-256 de5eb6082fc8ca5cdad5f823200ec018e6b32ee627a7cae64a2994ab1f78f4ac

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.10-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a06e14d7dd4118f7d19d8de39e061fc287fc9f63cddbcf9d789338879dad5b09
MD5 802cb16afdba98aadf10d328f81dcf23
BLAKE2b-256 898bb1168b2ceca7aa8e63afa9551f472b1f62d1347e960dd030186ad77166f7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.10-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a526f46157ffa0f08115a20265653178ac0b02fa19882dc56c96c0b504613729
MD5 086277975aad9eebca403705caf83b4d
BLAKE2b-256 0ae23a560afe4abbbf79a19a8f40ae64e0c95a3a6313e474c34423d2a0228104

See more details on using hashes here.

Provenance

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