Liga-System/.venv/lib/python3.12/site-packages/nicegui/elements/altair.py
2026-02-16 08:18:53 +00:00

36 lines
1.1 KiB
Python

from __future__ import annotations
import importlib.util
from typing import TYPE_CHECKING
from .. import optional_features
from .anywidget import AnyWidget
if importlib.util.find_spec('altair'):
optional_features.register('altair')
if TYPE_CHECKING:
import altair
class Altair(AnyWidget):
def __init__(self, chart: altair.TopLevelSpec | altair.JupyterChart, *, throttle: float = 0) -> None:
"""Altair Chart
Wrap an Altair chart in NiceGUI via anywidget.
Refer to the `altair documentation <https://altair-viz.github.io/user_guide/interactions/jupyter_chart.html#accessing-variable-params>`_
for more information about synchronizing Altair parameters with Python.
*Added in version 3.5.0*
:param chart: the chart to wrap
:param throttle: minimum time (in seconds) between widget updates to Python (default: 0.0)
"""
import altair # pylint: disable=import-outside-toplevel
if isinstance(chart, altair.TopLevelSpec):
chart = altair.JupyterChart(chart)
super().__init__(chart, throttle=throttle) # type: ignore[arg-type]