- Combining holoviz panel with the golden-panel layout.
- Author: Leon van Kouwen, lvankouwen@gmail.com
- Last updated: 12-09-2020
- Version 0.1.1
Elvis is primarily intended to enable using all the features of panel in combination with the golden-layout, in a way that it can be setup entirely from simple python commands. This enables a nice looking and flexible dashboard being setup very quickly, while having all the options of python at ones disposal.
In addition, this package is a collection of somewhat arbitrary additions to panel. Current functionality includes
- Golden layout combined with panel from pure python
- Altered styling of golden-layout (dark and light theme)
- A KPI widget matching the theme.
- Re-styling of bokeh graphs.
- A-synchronous live calculation and live plotting.
The .js code for golden-layout is included in this package such that the packge can be used offline as well and to avoid problems when the online golden-layout resources move or are no longer available. This means that the golden-layout code does not automatically follow updates of golden-layout.
NOTE: this package under development and experimental. Some of the solutions are probably not very scalable/maintainable. In particular the a-synchronous live calculation and live plotting isn't what it could be. I am no longer using this functionality, but it is left here as code snippet inspiration. I appreciate suggestions, advice, contributions... :).
Feel free to use this for any purpose, within the limits of the licenses of panel and golden-layout. If you make improvements or additions I kindly ask you to share them. This can be done by adding them to this repository, or other channels like a blog. Feel free to contact me.
Some documentation is generated using pdoc3 and can be found in 'docs'.
Elvis can be installed using:
git clone https://github.com/LeonvanKouwen/elvis.git
cd elvis
pip install .
It is now possible to remove the elvis folder. Be careful not to simply run conda install elvis
, or pip install elvis
, because you will install something else.
If you want to develop, it is best to add the elvis root directory to the 'sources root' of your IDE.
- panel > 0.10.0 (0.9.x will NOT work)
- holoviews
- plotly
Currently plotly is required, even when not used. This will be refactored out.
To get started with some examples look at the examples folder.
- live_time_series shows the asynchronous live plotting functionality in the light theme
- science-dashboard shows the dark theme and some standard panel/param functionality.
Elvis internally uses the panel command panel.serve()
, which launches a server when running the code as a script. This is currently the only way to use elvis. Panel can also be run from the command line using panel serve dirname
, but this is NOT supported.
This package is just a very thin layer around the holoviz framework and the golden layout GUI package.
A good comparison with other frameworks can be found here.
As a plotting backend both Bokeh and plotly can be used, although currently there is a problem with vertical responsiveness of plotly. Matloblib is not implemented due to the lack of interactive possibilities.
For demonstrations and more additions to panel, visit
Combining panel with the golden-layout was inspired by the VTKSlicer dashboard.
For bugs and problems with the code in this package, please raise a github issue. For more general questions, the holoviz discourse can be used.