This package will be deprecated - we move instead all collaboration focus to the reusable React and Dash components in:
Democratizing Python web applications
Writing a Dash web application gives a lot of flexibility, however, it also requires 🐍 Python knowledge from the person setting it up.
Webviz™ is a MIT-licensed configuration layer on top of Dash, which encourages making reusable components and dashboards, which can then be added/removed when creating an application using a short yaml
configuration file.
This Python package, webviz-config
, is the core plugin framework. For a real example repository using this plugin system, see e.g. webviz-subsurface
.
These are the main user groups targeted by Webviz™:
- You do not know Python, and only want to add different predefined dashboards or visualizations/components in a certain order and/or on different pages in the application. Optionally with some text and mathematical equations (that you provide) inbetween the dashboards, explaining what the user is looking at.
- You know Python, and want to create generic or specialized dashboards you or other users can reuse by simply asking for it in the Webviz™ configuration file. This can be done without knowing JavaScript (see also Dash for more information).
- You know React, and want to create highly specialized visualization which Python or pure config-file users can reuse.
Webviz™ will create web applications with very
Example configuration file and information about the standard plugins can be seen in the documentation.
The workflow can be summarized as this:
- The user provides a 📖 configuration file following the yaml standard.
- Webviz™ reads the configuration file and automatically writes the corresponding 🐍 Python code.
- The created application can be viewed locally, or deployed using
🐳 Docker to a cloud provider. Both out of the box.
Installation
The recommended and simplest way of installing webviz-config
is to run
pip install webviz-config
If you want to develop webviz-config
and install the latest source code manually you
can do something along the lines of:
git clone git@github.com:equinor/webviz-config.git
cd ./webviz-config
npm ci --ignore-scripts
# NOTE: If you are on Windows, make sure to first set `npm`'s default `script-shell` to `powershell` by running
# npm config set script-shell powershell
npm run postinstall
pip install -e .
After installation, there is a console script named webviz
available. You can test the
installation by using the provided example configuration file,
webviz build ./examples/basic_example.yaml
Without any additional arguments, this will
- create a temporary folder
- write the Python application code to that folder
- start a localhost server
When stopping the server (press CTRL+C at any time), the temporary folder is deleted.
The optional arguments can be seen when running
webviz --help
Usage
See the introduction page for information on how you
create a webviz
configuration file and use it.
Creating new plugins
If you are interested in creating new plugins which can be configured through the configuration file, take a look at the contribution guide.
To quickly get started, we recommend using the corresponding cookiecutter template.
License
webviz-config
is, with a few exceptions listed below, MIT licensed.