All Projects → equinor → webviz-config

equinor / webviz-config

Licence: MIT license
Make Dash applications from a user-friendly config file 📖 🐍

Programming Languages

python
139335 projects - #7 most used programming language
CSS
56736 projects
Jinja
831 projects
HTML
75241 projects

Projects that are alternatives of or similar to webviz-config

Dash Flask Login
Implementation of Flask-login on top of Dash.
Stars: ✭ 158 (+243.48%)
Mutual labels:  plotly, dash
2019-nCoV-dash
新型冠状病毒(2019-nCoV)肺炎(COVID-19)疫情展示
Stars: ✭ 13 (-71.74%)
Mutual labels:  plotly, dash
Slapdash
Boilerplate for bootstrapping scalable multi-page Dash applications
Stars: ✭ 225 (+389.13%)
Mutual labels:  plotly, dash
Dash Sample Apps
Open-source demos hosted on Dash Gallery
Stars: ✭ 2,090 (+4443.48%)
Mutual labels:  plotly, dash
dash-flask-login
A plugin to integrate Dash and Flask-Login
Stars: ✭ 54 (+17.39%)
Mutual labels:  plotly, dash
Real Time Sentiment Tracking On Twitter For Brand Improvement And Trend Recognition
A real-time interactive web app based on data pipelines using streaming Twitter data, automated sentiment analysis, and MySQL&PostgreSQL database (Deployed on Heroku)
Stars: ✭ 127 (+176.09%)
Mutual labels:  plotly, dash
Dash.jl
Dash for Julia - A Julia interface to the Dash ecosystem for creating analytic web applications in Julia. No JavaScript required.
Stars: ✭ 248 (+439.13%)
Mutual labels:  plotly, dash
Bowtie
Create a dashboard with python!
Stars: ✭ 724 (+1473.91%)
Mutual labels:  plotly, webapp
dash-google-auth
(Deprecated) Dash Extension for Google OAuth
Stars: ✭ 60 (+30.43%)
Mutual labels:  plotly, dash
app rasa chat bot
a stateless chat bot to perform natural language queries against the App Store top charts
Stars: ✭ 20 (-56.52%)
Mutual labels:  plotly, dash
Dash Stock Tickers Demo App
Dash Demo App - Stock Tickers
Stars: ✭ 108 (+134.78%)
Mutual labels:  plotly, dash
dash-hello-world
The simplest dash app
Stars: ✭ 23 (-50%)
Mutual labels:  plotly, dash
Hiitpi
A workout trainer Dash/Flask app that helps track your HIIT workouts by analyzing real-time video streaming from your sweet Pi using machine learning and Edge TPU..
Stars: ✭ 106 (+130.43%)
Mutual labels:  plotly, dash
Dash Oil And Gas Demo
Dash Demo App - New York Oil and Gas
Stars: ✭ 156 (+239.13%)
Mutual labels:  plotly, dash
Fitly
Self hosted web analytics for endurance athletes
Stars: ✭ 65 (+41.3%)
Mutual labels:  plotly, dash
Dash
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.
Stars: ✭ 15,592 (+33795.65%)
Mutual labels:  plotly, dash
Crypto Whale Watching App
Python Dash app that tracks whale activity in cryptocurrency markets.
Stars: ✭ 389 (+745.65%)
Mutual labels:  plotly, dash
Hexapod Robot Simulator
A hexapod robot simulator built from first principles
Stars: ✭ 577 (+1154.35%)
Mutual labels:  plotly, dash
dash-mantine-components
Plotly Dash components based on Mantine React Components
Stars: ✭ 263 (+471.74%)
Mutual labels:  plotly, dash
bifrost
Connect gpus with your eyes.
Stars: ✭ 23 (-50%)
Mutual labels:  plotly, dash

Democratizing Python web applications

Total alerts Language grade: Python


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 🔒 strict security headers and CSP settings, giving an rating of A+ on e.g. Mozilla observatory. It also facilitates a 🐳 Docker setup, where the Python code can be ran completely unpriviliged in a sandbox (both with respect to file system access and network communication).

Example configuration file and information about the standard plugins can be seen in the documentation.

The workflow can be summarized as this:

  1. The user provides a 📖 configuration file following the yaml standard.
  2. Webviz™ reads the configuration file and automatically writes the corresponding 🐍 Python code.
  3. The created application can be viewed locally, or deployed using 🐳 Docker to a cloud provider. Both out of the box.

technical_drawing


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 [email protected]: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

  1. create a temporary folder
  2. write the Python application code to that folder
  3. 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].