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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: ruviz-0.4.6.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.6.tar.gz
Algorithm Hash digest
SHA256 ef94a6468cca0e23c5aebd5559e8ba9a23cdcf62150812d932ec0f63e1fa8a45
MD5 e362fd8cb1c886a6c96d9cfd09b1f897
BLAKE2b-256 654324e287b36d85ea7192ff8a854609295bb6b6e1ed1fb6c0f4a5a2e941eebc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ruviz-0.4.6-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.6-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 8aeb3d0204f4608915a4244a5de50038e67bee16b98075c9f74a5ac5e060f16b
MD5 5e42f054ef57ec7a28fa26ad87cac815
BLAKE2b-256 5ee0ddbc6e293801479fc34846cdb848c5a7ea883f3924555bbb262742c3a1ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.6-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a48e2759825c02140017479d570ba9f3505190bfdcd1ca5f5778a5173de2f88
MD5 fcfa1841e68bfad3a3ebfb3b953bfa7e
BLAKE2b-256 93070ec67ee3b20b084ca6a0019b3410160ae756d507219fd7788a647094d6b5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.6-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1025dcfecd72c4db1f6687026e9dfe3f053dbf56f03f3e3bb51eb28f7f130b0c
MD5 b8eec849b719192288741ca4f20123fa
BLAKE2b-256 0090d5971416e127f84e240327700c8c128abf4439cce88078d6236a47133709

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.6-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb868f98666e9066c277eed6cdbe4ab78d9053edd479894824cabe1597486fd5
MD5 8d6c9e9ef055e368483261fed5899a53
BLAKE2b-256 3545c10641d98578489de41ea679e75b8e7fca5772db4dbcd61e562295caf21d

See more details on using hashes here.

Provenance

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