def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if not loaded: param.main.param.warning( 'Displaying Panel objects in the notebook requires ' 'the panel extension to be loaded. Ensure you run ' 'pn.extension() before displaying objects in the ' 'notebook.' ) return None try: assert get_ipython().kernel is not None # noqa state._comm_manager = _JupyterCommManager except Exception: pass from IPython.display import display doc = _Document() comm = state._comm_manager.get_server_comm() self._init_doc(doc, comm, notebook=True) ref = doc.roots[0].ref['id'] manager = CommManager( comm_id=comm.id, plot_id=ref, name='comm_manager' ) client_comm = state._comm_manager.get_client_comm( on_msg=partial(self._on_msg, ref, manager), on_error=partial(self._on_error, ref), on_stdout=partial(self._on_stdout, ref) ) manager.client_comm_id = client_comm.id doc.add_root(manager) if config.console_output != 'disable': handle = display(display_id=uuid.uuid4().hex) state._handles[ref] = (handle, []) return render_template(doc, comm, manager)
def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if not loaded: param.main.warning('Displaying Panel objects in the notebook ' 'requires the panel extension to be loaded. ' 'Ensure you run pn.extension() before ' 'displaying objects in the notebook.') return None try: assert get_ipython().kernel is not None # noqa state._comm_manager = _JupyterCommManager except Exception: pass doc = _Document() comm = state._comm_manager.get_server_comm() self._init_doc(doc, comm, notebook=True) return render_template(doc, comm)
def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if not loaded: self.param.warning('Displaying Panel objects in the notebook ' 'requires the panel extension to be loaded. ' 'Ensure you run pn.extension() before ' 'displaying objects in the notebook.') return None try: assert get_ipython().kernel is not None # noqa state._comm_manager = JupyterCommManager except: pass comm = state._comm_manager.get_server_comm() doc = _Document() model = self._render_model(doc, comm) if config.embed: return render_model(model) return render_mimebundle(model, doc, comm)
def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if not loaded: self.param.warning('Displaying Panel objects in the notebook ' 'requires the panel extension to be loaded. ' 'Ensure you run pn.extension() before ' 'displaying objects in the notebook.') return None state._comm_manager = JupyterCommManager doc = _Document() comm = state._comm_manager.get_server_comm() model = self.get_root(doc, comm) if config.embed: embed_state(self, model, doc, json=config.embed_json, save_path=config.embed_save_path, load_path=config.embed_load_path) return render_model(model) return render_mimebundle(model, doc, comm)
def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if config.comms == 'ipywidgets': widget = ipywidget(self) data = {} if widget._view_name is not None: data['application/vnd.jupyter.widget-view+json'] = { 'version_major': 2, 'version_minor': 0, 'model_id': widget._model_id } if widget._view_name is not None: widget._handle_displayed() return data, {} if not loaded: self.param.warning('Displaying Panel objects in the notebook ' 'requires the panel extension to be loaded. ' 'Ensure you run pn.extension() before ' 'displaying objects in the notebook.') return None try: assert get_ipython().kernel is not None # noqa state._comm_manager = JupyterCommManager except: pass comm = state._comm_manager.get_server_comm() doc = _Document() model = self._render_model(doc, comm) if config.embed: return render_model(model) return render_mimebundle(model, doc, comm)
def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if config.comms in ('vscode', 'ipywidgets'): widget = ipywidget(self) if hasattr(widget, '_repr_mimebundle_'): return widget._repr_mimebundle_(include, exclude) plaintext = repr(widget) if len(plaintext) > 110: plaintext = plaintext[:110] + '…' data = { 'text/plain': plaintext, } if widget._view_name is not None: data['application/vnd.jupyter.widget-view+json'] = { 'version_major': 2, 'version_minor': 0, 'model_id': widget._model_id } if config.comms == 'vscode': from IPython.display import display display(data, raw=True) return {'text/html': '<div style="display: none"></div>'}, {} return data, {} if not loaded: self.param.warning('Displaying Panel objects in the notebook ' 'requires the panel extension to be loaded. ' 'Ensure you run pn.extension() before ' 'displaying objects in the notebook.') return None if config.comms == 'colab': from .io.notebook import load_notebook load_notebook(config.inline) try: from IPython import get_ipython assert get_ipython().kernel is not None state._comm_manager = JupyterCommManager except Exception: pass if not state._views: # Initialize the global Location from .io.location import Location state._location = location = Location() else: location = None from IPython.display import display from .models.comm_manager import CommManager doc = _Document() comm = state._comm_manager.get_server_comm() model = self._render_model(doc, comm) ref = model.ref['id'] manager = CommManager(comm_id=comm.id, plot_id=ref) client_comm = state._comm_manager.get_client_comm( on_msg=partial(self._on_msg, ref, manager), on_error=partial(self._on_error, ref), on_stdout=partial(self._on_stdout, ref)) self._comms[ref] = (comm, client_comm) manager.client_comm_id = client_comm.id if config.console_output != 'disable': handle = display(display_id=uuid.uuid4().hex) state._handles[ref] = (handle, []) if config.embed: return render_model(model) return render_mimebundle(model, doc, comm, manager, location)
def save(self, filename, title=None, resources=None, template=None, template_variables={}, embed=False, max_states=1000, max_opts=3, embed_json=False, save_path='./', load_path=None): """ Saves Panel objects to file. Arguments --------- filename: string 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) 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 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. """ doc = _Document() comm = _Comm() with config.set(embed=embed): model = self._get_root(doc, comm) if embed: embed_state(self, model, doc, max_states, max_opts, embed_json, save_path, load_path) else: add_to_doc(model, doc, True) if isinstance(filename, string_types): if filename.endswith('png'): _export_png(model, filename=filename) return if not filename.endswith('.html'): filename = filename + '.html' kwargs = {} if title is None: title = 'Panel' if resources is None: resources = _CDN if template: kwargs['template'] = template html = _file_html(doc, resources, title, **kwargs) if hasattr(filename, 'write'): filename.write(decode_utf8(html)) return with io.open(filename, mode="w", encoding="utf-8") as f: f.write(decode_utf8(html))
def _repr_mimebundle_(self, include=None, exclude=None): loaded = panel_extension._loaded if not loaded and 'holoviews' in sys.modules: import holoviews as hv loaded = hv.extension._loaded if config.comms == 'ipywidgets': widget = ipywidget(self) data = {} if widget._view_name is not None: data['application/vnd.jupyter.widget-view+json'] = { 'version_major': 2, 'version_minor': 0, 'model_id': widget._model_id } if widget._view_name is not None: widget._handle_displayed() return data, {} if not loaded: self.param.warning('Displaying Panel objects in the notebook ' 'requires the panel extension to be loaded. ' 'Ensure you run pn.extension() before ' 'displaying objects in the notebook.') return None try: from IPython import get_ipython assert get_ipython().kernel is not None state._comm_manager = JupyterCommManager except Exception: pass if not state._views: # Initialize the global Location from .io.location import Location state._location = location = Location() else: location = None from IPython.display import display from .models.comm_manager import CommManager comm = state._comm_manager.get_server_comm() doc = _Document() model = self._render_model(doc, comm) ref = model.ref['id'] manager = CommManager(comm_id=comm.id, plot_id=ref) client_comm = state._comm_manager.get_client_comm( on_msg=partial(self._on_msg, ref, manager), on_error=partial(self._on_error, ref), on_stdout=partial(self._on_stdout, ref) ) self._comms[ref] = (comm, client_comm) manager.client_comm_id = client_comm.id if config.console_output != 'disable': handle = display(display_id=uuid.uuid4().hex) state._handles[ref] = (handle, []) if config.embed: return render_model(model) return render_mimebundle(model, doc, comm, manager, location)