class lumen.views.base.View(**params)#

View components provide a visual representation for the data returned by a lumen.source.base.Source or lumen.pipeline.Pipeline.

The View must return a Panel object or an object that can be rendered by Panel. The base class provides methods which query the the provided lumen.pipeline.Pipeline.

Subclasses should use these methods to query the data and return a Viewable Panel object in the get_panel method.



type: list[Any]
default: []
Parameters that should be exposed as widgets in the UI.


type: lumen.views.base.Download
default: Download()
The download objects determines whether and how the source tablescan be downloaded.


type: Any
default: None
Possible values: ``
The field being visualized.


type: str
default: 'View'
String identifier for this object.


type: lumen.Pipeline
default: None
The data pipeline that drives the View.


type: bool
default: False
An event that is triggered whenever the View requests a re-render.


type: str
default: None
Declares a selection group the plot is part of. This featurerequires the separate HoloViews library.



Queries the Source for the specified table applying any filters and transformations specified on the View. Unlike get_value this should be used when multiple return values are expected.


The queried table after filtering and transformations are applied.

Return type:


View.get_panel() Viewable#

Constructs and returns a Panel object which will represent a view of the queried table.


A Panel Viewable object representing a current representation of the queried table.

Return type:


View.get_value(field: str | None = None)#

Queries the Source for the data associated with a particular field applying any filters and transformations specified on the View. Unlike get_data this method returns a single scalar value associated with the field and should therefore only be used if only a single.


field (str (optional)) – The field from the table to return; if None uses field defined on the View.


A single scalar value representing the current value of the queried field.

Return type:


View.servable(title: Optional[str] = None, location: bool | 'Location' = True, area: str = 'main', target: Optional[str] = None) Viewable#

Serves the object or adds it to the configured pn.state.template if in a panel serve context, writes to the DOM if in a pyodide context and returns the Panel object to allow it to display itself in a notebook context.

  • title (str) – A string title to give the Document (if served as an app)

  • location (boolean or – Whether to create a Location component to observe and set the URL location.

  • area (str (deprecated)) – The area of a template to add the component too. Only has an effect if pn.config.template has been set.

  • target (str) – Target area to write to. If a template has been configured on pn.config.template this refers to the target area in the template while in pyodide this refers to the ID of the DOM node to write to.

Return type:

The Panel object itself Optional[str] = None, port: int = 0, address: Optional[str] = None, websocket_origin: Optional[str] = None, threaded: bool = False, verbose: bool = True, open: bool = True, location: bool | 'Location' = True, **kwargs) threading.Thread | 'Server'#

Starts a Bokeh server and displays the Viewable in a new tab.

  • title (str | None) – A string title to give the Document (if served as an app)

  • port (int (optional, default=0)) – Allows specifying a specific port

  • address (str) – The address the server should listen on for HTTP requests.

  • websocket_origin (str or list(str) (optional)) – A list of hosts that can connect to the websocket. This is typically required when embedding a server app in an external web site. If None, “localhost” is used.

  • threaded (boolean (optional, default=False)) – Whether to launch the Server on a separate thread, allowing interactive use.

  • verbose (boolean (optional, default=True)) – Whether to print the address and port

  • open (boolean (optional, default=True)) – Whether to open the server in a new browser tab

  • location (boolean or – Whether to create a Location component to observe and set the URL location.


server – Returns the Bokeh server instance or the thread the server was launched on (if threaded=True)

Return type:

bokeh.server.Server or threading.Thread

View.to_spec(context: Dict[str, Any] | None = None) Dict[str, Any]#

Exports the full specification to reconstruct this component.


context (Dict[str, Any]) – Context contains the specification of all previously serialized components, e.g. to allow resolving of references.

Return type:

Declarative specification of this component.

View.update(*events: Event, invalidate_cache: bool = True)#

Triggers an update in the View.

  • events (tuple) – param events that may trigger an update.

  • invalidate_cache (bool) – Whether to clear the View’s cache.


Panel type: panel

Panel views provide a way to declaratively wrap a Panel component.

StringView type: string

StringView renders the latest value of the field as a HTML string.

IndicatorView type: indicator

IndicatorView renders the latest field value as a Panel Indicator.

Table type: table

Table renders data using the powerful Panel Tabulator component.

DownloadView type: download

DownloadView renders a button that allows downloading data as CSV, Excel, and parquet files.

PerspectiveView type: perspective

PerspectiveView renders data into a Perspective widget.

AltairView type: altair

AltairView provides a declarative way to render Altair charts.

hvPlotUIView type: hvplot_ui

hvPlotUIView displays provides a component for exploring datasets interactively.

hvPlotView type: hvplot

hvPlotView renders the queried data as a bokeh plot generated with hvPlot.