Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Library name

Language

Open-source? Does it cost money?

Requires internet connection?

Real-time support for data entry?

Strengths

Limitations

Connection details (requirements, cloud-based, etc.)

Extra info

Streamlit (https://streamlit.io/)

Python

  • Open source

  • Free

  • No

Yes…? (https://blog.streamlit.io/how-to-build-a-real-time-live-dashboard-with-streamlit/ )

  • Beginner-friendly

  • Simple API with excellent documentation

  • Can mix visualizations into one presentation

  • Requires a bit of HTML knowledge to truly customize

  • Reruns the entire app once the input is changed

  • Uses a localhost for local development

  • Streamlit Cloud allows you to run applications in the cloud, share with colleagues

  • https://streamlit.io/security

Dash by Plotly (Dash Documentation & User Guide | Plotly)

Python

  • Open source, MIT licensed

  • Free

  • Dash Enterprise (ie. deployment server) has an associated cost → have to fill out some form on the website to learn more about pricing

  • Possible to run without internet connection, but all resources need to be bundled within the app

Yes (Live Updates | Dash for Python Documentation | Plotly)

  • Pure Python → No Javascript unless you want to include Javascript assets

  • Jupyter and Django integrations

  • Cross-filtering/interacting with Plotly charts

  • Aesthetics are more flexible, compatible with Bootstrap

  • Has “callback” functions

  • Robust modules library

  • Difficulty with interactivity

  • Difficulty to customize API

  • No HTML → Must use Markdown function

  • Cannot have two Python callbacks update the same element

Seaborn (https://seaborn.pydata.org/index.html )

Python

  • Open source

  • Free

  • No

  • Seaborn has datasets that are available on Github → Require internet to load the datasets into Seaborn

  • Not really → Uses matplotlib, so you need a while loop to use “real time data”

  • Can install other libraries while using Seaborn since Seaborn is based on matplotlib

  • Generates engaging plot to represent our data

  • Feed our data using replot() method, library computes the values and places them without us worrying it

  • Default themes are aesthetically pleasing

  • Visualizes information in matrices and DataFrames

  • Based on matplotlib, no connection

  • Based on matplotlib

  • Close integration with pandas

  • Dataset oriented API for examining relationships between multiple variables

  • Specialized support for categorical variables to show observations or aggregate statistics

  • Concise control over matplotlib figure styling with several built-in themes.

  • Tools for choosing color palettes to reveal data patterns

Bokeh (https://bokeh.org/ )

Python

  • Open source

  • Can add custom Javascript for advanced/specialized cases

D3.js

Javascript

Pts.js

Javascript

References:

4 Python Packages to Create Interactive Dashboards | by Cornellius Yudha Wijaya | Towards Data Science

The best tools for Dashboarding in Python | by Abdishakur | Spatial Data Science | Medium

Pros and Cons of Streamlit 2023 (trustradius.com)

Pros & Cons of Dash - Dash Python - Plotly Community Forum

Plotly Dash vs Streamlit — Which is the best library for building data dashboard web apps? | by JP Hwang | Towards Data Science

5 challenges using Plotly Dash for web apps | Analytics Vidhya (medium.com)

Seaborn Library Python | Perks of Using Seaborn - DataScienceVerse

The Ultimate Python Seaborn Tutorial: Gotta Catch 'Em All (elitedatascience.com)

Is Seaborn too assertive at times? | by Pragya Verma | Analytics Vidhya | Medium

(notes)

Name

Open-source (if paid, how much $)

Does it require a wireless connection?

Real-time support for data entryStrengths

Pain-points

easy to create

Limitations

Language (Python or Javascript compatible)

Connection Details (connection requirements, cloud-based etc.) (boolean of whether the software can receive data from a database directly (MySQL))

Any other additional details you think may be good to include?

power bi, tableau, streamlit, dash, javascript plotting library, dash (6 or 7 minimum options)