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

Uploaded CPython 3.10+Windows x86-64

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

Uploaded CPython 3.10+macOS 11.0+ ARM64

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

File metadata

  • Download URL: ruviz-0.4.9.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.9.tar.gz
Algorithm Hash digest
SHA256 ee1fd92543d2a59f577cf1acb88883202460ec6144cdc07b60a79f6c050b3e21
MD5 28185c0411071a087038c358a9e57e3f
BLAKE2b-256 9a9864c9bb8cdc729896df364c9fa734cbaa3a45891e7e8c3d5b2dbe11dfe557

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ruviz-0.4.9-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.9-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b5096604508f2112690c295455f050e5a66efe3dc2e0f46842968b3476593eb6
MD5 5e527334e680d5a1b102a671460a0d46
BLAKE2b-256 7e26836d6b22957ac0a80b30704af1be62979421c81c3a3ca2b76ad72167a264

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.9-cp310-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 985a11e8977b980bfb8f00d903cee75f9d60db3dad7c243f1e1298a62689fd65
MD5 f9af2fa07afc6c44c65465a380d60da6
BLAKE2b-256 23e626e1f8396db82dbab48715a52447015ea881ac296dc15b9deced2f867118

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.9-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a93c0bb3e76387c867c7b84f7e88123c55ff0823ccc128332c87c0231eff8337
MD5 b7b8455110728aa43aa765a576f0b137
BLAKE2b-256 f97d303350c485f92880e624622310691db8b5882d232f05c96f6b9aabdd84a8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for ruviz-0.4.9-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6922c951b8064fb0bac32b2902109deeca7ba6cf17afbdc95ee1358ec18cc269
MD5 8d6ecc2a284bb90e7e02377a231ca88c
BLAKE2b-256 72b0b3b6e90f89712f03644411b7809add38953fd36ca910a6e55983b36da354

See more details on using hashes here.

Provenance

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