interact Module#
interact
Module#
Interact with functions using widgets.
The interact Pane implemented in this module mirrors ipywidgets.interact in its API and implementation. Large parts of the code were copied directly from ipywidgets:
Copyright (c) Jupyter Development Team and PyViz Development Team. Distributed under the terms of the Modified BSD License.
- class panel.interact.interactive(object, params={}, **kwargs)[source]#
Bases:
PaneBase
Parameters inherited from:
panel.viewable.Layoutable
: align, aspect_ratio, css_classes, design, height, min_width, min_height, max_width, max_height, styles, stylesheets, tags, width, width_policy, height_policy, sizing_mode, visiblepanel.viewable.Viewable
: loadingpanel.pane.base.PaneBase
: margin, objectdefault_layout
= param.ClassSelector(allow_refs=False, class_=<class βpanel.layout.base.Panelβ>, default=<class βpanel.layout.base.Columnβ>, label=βDefault layoutβ, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x14462db50>)Defines the layout the model(s) returned by the pane will be placed in.
manual_update
= param.Boolean(allow_refs=False, default=False, label=βManual updateβ, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x1445ffc90>)Whether to update manually by clicking on button.
manual_name
= param.String(allow_refs=False, default=βRun Interactβ, label=βManual nameβ, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x1445fecd0>)_pane
= param.ClassSelector(allow_None=True, allow_refs=False, class_=<class βpanel.viewable.Viewableβ>, label=β paneβ, nested_refs=False, rx=<param.reactive.reactive_ops object at 0x14462e8d0>)- classmethod applies(object)[source]#
Returns boolean or float indicating whether the Pane can render the object.
If the priority of the pane is set to None, this method may also be used to define a float priority depending on the object being rendered.
- clone(object: Optional[Any] = None, **params) T [source]#
Makes a copy of the Pane sharing the same parameters.
- Parameters:
object (Optional new object to render) β
params (Keyword arguments override the parameters on the clone.) β
- Return type:
Cloned Pane object
- controls(parameters: List[str] = [], jslink: bool = True, **kwargs) Panel [source]#
Creates a set of widgets which allow manipulating the parameters on this instance. By default all parameters which support linking are exposed, but an explicit list of parameters can be provided.
- Parameters:
parameters (list(str)) β An explicit list of parameters to return controls for.
jslink (bool) β Whether to use jslinks instead of Python based links. This does not allow using all types of parameters.
kwargs (dict) β Additional kwargs to pass to the Param pane(s) used to generate the controls widgets.
- Return type:
A layout of the controls
- embed(max_states: int = 1000, max_opts: int = 3, json: bool = False, json_prefix: str = '', save_path: str = './', load_path: Optional[str] = None, progress: bool = False, states={}) None [source]#
Renders a static version of a panel in a notebook by evaluating the set of states defined by the widgets in the model. Note this will only work well for simple apps with a relatively small state space.
- Parameters:
max_states (int) β The maximum number of states to embed
max_opts (int) β The maximum number of states for a single widget
json (boolean (default=True)) β Whether to export the data to json files
json_prefix (str (default='')) β Prefix for JSON filename
save_path (str (default='./')) β The path to save json files to
load_path (str (default=None)) β The path or URL the json files will be loaded from.
progress (boolean (default=False)) β Whether to report progress
states (dict (default={})) β A dictionary specifying the widget values to embed for each widget
- find_abbreviations(kwargs)[source]#
Find the abbreviations for the given function and kwargs. Return (name, abbrev, default) tuples.
- classmethod get_pane_type(obj: Any, **kwargs) Type[PaneBase] [source]#
Returns the applicable Pane type given an object by resolving the precedence of all types whose applies method declares that the object is supported.
- Parameters:
(object) (obj) β
- Return type:
The applicable Pane type with the highest precedence.
- get_root(doc: Optional[Document] = None, comm: Comm | None = None, preprocess: bool = True) Model [source]#
Returns the root model and applies pre-processing hooks
- Parameters:
doc (bokeh.document.Document) β Optional Bokeh document the bokeh model will be attached to.
comm (pyviz_comms.Comm) β Optional pyviz_comms when working in notebook
preprocess (bool (default=True)) β Whether to run preprocessing hooks
- Return type:
Returns the bokeh model corresponding to this panel object
- jscallback(args: Dict[str, Any] = {}, **callbacks: str) Callback [source]#
Allows defining a JS callback to be triggered when a property changes on the source object. The keyword arguments define the properties that trigger a callback and the JS code that gets executed.
- Parameters:
args (dict) β A mapping of objects to make available to the JS callback
**callbacks (dict) β A mapping between properties on the source model and the code to execute when that property changes
- Returns:
callback β The Callback which can be used to disable the callback.
- Return type:
- jslink(target: JSLinkTarget, code: Dict[str, str] = None, args: Optional[Dict] = None, bidirectional: bool = False, **links: str) Link [source]#
Links properties on the this Reactive object to those on the target Reactive object in JS code.
Supports two modes, either specify a mapping between the source and target model properties as keywords or provide a dictionary of JS code snippets which maps from the source parameter to a JS code snippet which is executed when the property changes.
- Parameters:
target (panel.viewable.Viewable | bokeh.model.Model | holoviews.core.dimension.Dimensioned) β The target to link the value to.
code (dict) β Custom code which will be executed when the widget value changes.
args (dict) β A mapping of objects to make available to the JS callback
bidirectional (boolean) β Whether to link source and target bi-directionally
**links (dict) β A mapping between properties on the source model and the target model property to link it to.
- Returns:
link β The GenericLink which can be used unlink the widget and the target model.
- Return type:
GenericLink
- link(target: Parameterized, callbacks: Optional[Dict[str, Union[str, Callable]]] = None, bidirectional: bool = False, **links: str) Watcher [source]#
Links the parameters on this Reactive object to attributes on the target Parameterized object.
Supports two modes, either specify a mapping between the source and target object parameters as keywords or provide a dictionary of callbacks which maps from the source parameter to a callback which is triggered when the parameter changes.
- Parameters:
target (param.Parameterized) β The target object of the link.
callbacks (dict | None) β Maps from a parameter in the source object to a callback.
bidirectional (bool) β Whether to link source and target bi-directionally
**links (dict) β Maps between parameters on this object to the parameters on the supplied object.
- save(filename: str | os.PathLike | IO, title: Optional[str] = None, resources: bokeh.resources.Resources | None = None, template: str | jinja2.environment.Template | None = None, template_variables: Dict[str, Any] = {}, embed: bool = False, max_states: int = 1000, max_opts: int = 3, embed_json: bool = False, json_prefix: str = '', save_path: str = './', load_path: Optional[str] = None, progress: bool = True, embed_states: Dict[Any, Any] = {}, as_png: bool | None = None, **kwargs) None [source]#
Saves Panel objects to file.
- Parameters:
filename (str or file-like object) β Filename to save the plot to
title (string) β Optional title for the plot
resources (bokeh resources) β One of the valid bokeh.resources (e.g. CDN or INLINE)
template β passed to underlying io.save
template_variables β passed to underlying io.save
embed (bool) β Whether the state space should be embedded in the saved file.
max_states (int) β The maximum number of states to embed
max_opts (int) β The maximum number of states for a single widget
embed_json (boolean (default=True)) β Whether to export the data to json files
json_prefix (str (default='')) β Prefix for the auto-generated json directory
save_path (str (default='./')) β The path to save json files to
load_path (str (default=None)) β The path or URL the json files will be loaded from.
progress (boolean (default=True)) β Whether to report progress
embed_states (dict (default={})) β A dictionary specifying the widget values to embed for each widget
as_png (boolean (default=None)) β To save as a .png. If None save_png will be true if filename is string and ends with png.
- select(selector: Optional[Union[type, Callable[[Viewable], bool]]] = None) List[Viewable] [source]#
Iterates over the Viewable and any potential children in the applying the Selector.
- Parameters:
selector (type or callable or None) β The selector allows selecting a subset of Viewables by declaring a type or callable function to filter by.
- Returns:
viewables
- Return type:
list(Viewable)
- servable(title: Optional[str] = None, location: bool | 'Location' = True, area: str = 'main', target: Optional[str] = None) ServableMixin [source]#
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.
- Parameters:
title (str) β A string title to give the Document (if served as an app)
location (boolean or panel.io.location.Location) β 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
- server_doc(doc: Optional[Document] = None, title: Optional[str] = None, location: bool | 'Location' = True) Document [source]#
Returns a serveable bokeh Document with the panel attached
- Parameters:
doc (bokeh.Document (optional)) β The bokeh Document to attach the panel to as a root, defaults to bokeh.io.curdoc()
title (str) β A string title to give the Document
location (boolean or panel.io.location.Location) β Whether to create a Location component to observe and set the URL location.
- Returns:
doc β The bokeh document the panel was attached to
- Return type:
bokeh.Document
- show(title: 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) StoppableThread' | 'Server [source]#
Starts a Bokeh server and displays the Viewable in a new tab.
- Parameters:
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 panel.io.location.Location) β Whether to create a Location component to observe and set the URL location.
- Returns:
server β Returns the Bokeh server instance or the thread the server was launched on (if threaded=True)
- Return type:
bokeh.server.Server or panel.io.server.StoppableThread