On this page

panel.grid Package#

grid Package#

Inheritance diagram of panel.template.fast.grid

The Fast GridTemplate provides a grid layout based on React Grid Layout similar to the Panel ReactTemplate but in the Fast.design style and enabling the use of Fast components.

class panel.template.fast.grid.FastGridDarkTheme(*, fig, holomap, widgets, fps, max_frames, size, dpi, filename, info, css, widget_location)[source]#

Bases: panel.template.fast.theme.FastDarkTheme

The Dark Theme of the FastGridTemplate

Parameters inherited from:

css = param.Filename(default=PosixPath(‘/home/runner/work/panel/panel/panel/template/fast/grid/dark.css’), label=’Css’, search_paths=[])

property bokeh_theme#

Provide new default values for Bokeh models.

Bokeh Model properties all have some built-in default value. If a property has not been explicitly set (e.g. m.foo = 10), accessing the property will return the default value. It may be useful for users to be able to specify a different set of default values than the built-in default. The Theme class allows collections of custom default values to be easily applied to Bokeh documents.

The Theme class can be constructed either from a YAML file or from a JSON dict (but not both). Examples of both formats are shown below.

The plotting API’s defaults override some theme properties. Namely: fill_alpha, fill_color, line_alpha, line_color, text_alpha and text_color. Those properties should therefore be set explicitly when using the plotting API.

  • filename (str, optional) – path to a YAML theme file

  • json (str, optional) – a JSON dictionary specifying theme values


ValueError – If neither filename or json is supplied.


Themes are specified by providing a top-level key attrs which has blocks for Model types to be themed. Each block has keys and values that specify the new property defaults for that type.

Take note of the fact that YAML interprets the value None as a string, which is not usually what you want. To give None as a value in YAML, use !!null. To give ‘None’ as a value in json, use null.

Here is an example theme in YAML format that sets various visual properties for all figures, grids, and titles:

        background_fill_color: '#2F2F2F'
        border_fill_color: '#2F2F2F'
        outline_line_color: '#444444'
        axis_line_color: !!null
        grid_line_dash: [6, 4]
        grid_line_alpha: .3
        text_color: "white"

Here is the same theme, in JSON format:

'attrs' : {
    'Figure' : {
        'background_fill_color': '#2F2F2F',
        'border_fill_color': '#2F2F2F',
        'outline_line_color': '#444444',
    'Axis': {
        'axis_line_color': null,
    'Grid': {
        'grid_line_dash': [6, 4]',
        'grid_line_alpha': .3,
    'Title': {
        'text_color': 'white'
class panel.template.fast.grid.FastGridDefaultTheme(*, fig, holomap, widgets, fps, max_frames, size, dpi, filename, info, css, widget_location)[source]#

Bases: panel.template.fast.theme.FastDefaultTheme

The Default Theme of the FastGridTemplate

Parameters inherited from:

css = param.Filename(default=PosixPath(‘/home/runner/work/panel/panel/panel/template/fast/grid/default.css’), label=’Css’, search_paths=[])

class panel.template.fast.grid.FastGridTemplate(**params)[source]#

Bases: panel.template.fast.base.FastGridBaseTemplate

The FastGridTemplate is a grid based Template with a header, sidebar and main area. It is based on the fast.design style and works well in both default (light) and dark mode.

Reference: https://panel.holoviz.org/reference/templates/FastGridTemplate.html


>>> template = pn.template.FastGridTemplate(
...     site="Panel", title="FastGridTemplate", accent="#A01346",
...     sidebar=[pn.pane.Markdown("## Settings"), some_slider],
... ).servable()
>>> template.main[0:6,:]=some_python_object

Some accent colors that work well are #A01346 (Fast), #00A170 (Mint), #DAA520 (Golden Rod), #2F4F4F (Dark Slate Grey), #F08080 (Light Coral) and #4099da (Summer Sky).

Please note the FastListTemplate cannot display in a notebook output cell.

Parameters inherited from:

panel.template.base.BasicTemplate: location, config, busy_indicator, header, main_max_width, sidebar, modal, notifications, logo, favicon, title, site, site_url, meta_description, meta_keywords, meta_author, meta_refresh, meta_viewport, base_url, base_target, header_background, header_color, theme, _actions

panel.template.react.ReactTemplate: main, sidebar_width, compact, cols, breakpoints, row_height, dimensions, prevent_collision, save_layout

panel.template.fast.base.FastBaseTemplate: accent_base_color, background_color, corner_radius, font, font_url, header_neutral_color, header_accent_base_color, neutral_color, theme_toggle, shadow, sidebar_footer, main_layout

close_modal() None#

Closes the modal area

open_modal() None#

Opens the modal area

save(filename: str | os.PathLike | IO, title: Optional[str] = None, resources=None, 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) None#

Saves Panel objects to file.

  • 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

  • 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.


Iterates over the Template and any potential children in the applying the Selector.


selector (type or callable or None) – The selector allows selecting a subset of Viewables by declaring a type or callable function to filter by.



Return type


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

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 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: str = None, location: bool | Location = True) Document#

Returns a servable bokeh Document with the panel attached

  • 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.


doc – The Bokeh document the panel was attached to

Return type


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) 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 panel.io.location.Location) – 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


alias of panel.template.theme.DefaultTheme