Building Your own UI Dashboards in Python: Streamlit vs Gradio vs Dash


Machine Learning is penetrating every sector, and its applications have become a part of our day-to-day lives. As the use of Machine Learning models continues to grow, the need for easy-to-use interfaces that allow users to interact with these models also increases. In this tutorial, we’ll explore three popular open-source libraries – Dash, Streamlit and Gradio – that can help you create intuitive frontend interfaces for your ML models.

Streamlit is a python library specifically designed for building Dashboards for ML and data science. It simplifies the process of creating a UI for your models and offers many features to help you do so quickly.

Gradio, on the other hand, is a library for creating a friendly web-based interface for ML models. It offers a fast and easy way to create interfaces for your models, even if you don’t have much experience with web development. The Dashboard built using Gradio can be used by anyone and anywhere.

Dash, another awesome python library that helps Data Scientists to build an analytical web Dashboard. It mainly helps the user who is not familiar with web development.

By using Dash, Streamlit and Gradio together, you can build powerful and user-friendly interfaces for your Machine Learning models. Whether you’re new to data science or an experienced data scientist, here we will provide you with the tools you need to create your interfaces.

So, let’s dive in and compare Dash vs Streamlit vs Gradio, and see how you can use them to create engaging interfaces that improve the user experience when interacting with your ML models.


Streamlit is an open-source Python library that enables data scientists and machine learning engineers to build visually appealing and interactive data applications with ease. With Streamlit, developers can turn their data scripts into shareable web apps in just a matter of minutes. One of the key benefits of Streamlit is its simple and intuitive API, which makes it easy for developers of all skill levels to use.

Streamlit uses Flask as a server-side environment for Python code, and React for rendering and interacting with the results on the client-side. When a Streamlit application is executed, the Flask server starts and listens for API calls from the user’s browser. As the user interacts with the application, the React front-end sends an API call to the Flask server, running the appropriate Python code and returning the results to the user’s browser for rendering. This approach has many advantages, including fast and responsive performance, real-time interaction, and the ability to handle large amounts of data and complex computations with ease.

Streamlit is a powerful tool for data scientists and machine learning engineers who are already familiar with Python, as it is built using this programming language. However, even if you are new to Python, Streamlit’s easy-to-use API and efficient architecture make it a popular choice among developers.

How to use Streamlit

– Install the Library

– Import the library

– Run Streamlit application

Streamlit is very simple and easy to use with just a few lines of code. Let’s understand some of the features of Streamlit.


When you’ve got the data or model into the state that you want to explore, you can add widgets like st.slider()st.button() or st.selectbox(). It’s really straightforward, treat widgets as variables:


Streamlit makes it easy to organize your widgets in a left panel sidebar with st.sidebar. Each element that’s passed to st.sidebar is pinned to the left, allowing users to focus on the content in your app while still having access to UI controls. For example, if you want to add a selectbox and a slider to a sidebar, in place of st.slider and st.selectbox use st.sidebar.slider and st.sidebar.selectbox

Similarly, Data Scientists can use many more beautiful features can be used to build the Dashboard using Streamlit.


Gradio is a versatile and free Python library that enables developers to create interactive and customizable component demos for machine learning models that can be accessed anywhere. Gradio seamlessly integrates with a range of popular Python libraries, including NumPy, PyTorch, Scikit-learn, Tensor Flow, seaborn, pandas, and more, giving developers the flexibility to work with the tools they are familiar with.

One of Gradio’s key strengths is its ability to interact with the web application you are currently developing in your Jupyter or Colab notebook. With a variety of unique features at its disposal, Gradio makes it easy to construct web apps that offer a highly engaging user experience.

Whether you’re a seasoned machine learning engineer or just starting with Python, Gradio’s user-friendly interface and intuitive API make it easy to create demos that showcase the power and potential of your models. So if you’re looking to build an interactive and customizable demo for your Machine Learning model, Gradio is a great option to explore.

How to use Gradio

– Install the library

– Import the library

– Run Gradio

Gradio can be used for any Machine Learning project with an easy-to-use interface. This ability ranges from a simple task of connecting a new machine to an already existing model to an advanced process of enhancing the performance of a pre-trained model.

Let’s understand a few features of Gradio

– The interface

The interface is the basic class of Gradio, which has 3 parameters:

  1. inputs: input component type
  2. outputs: output component type and
  3. fn: function to wrap

By using these parameters, we can easily create the interphase and launch it


One can explore more around the features, capabilities etc. by checking out the official documentation by Gradio


Dash is an open-source framework for creating easy-to-use interfaces. part from a Python library, it’s grown to include implementations for R, Julia, and F#. Dash is a tool that empowers data scientists to create web applications for analyzing data without requiring extensive expertise in web development.

Three technologies constitute the core of Dash:

  1. Flask provides web server functionality.
  2. React.js renders the user interface of the web page.
  3. Plotly.js to generate the charts.

There is no need to worry about these individual technologies, Dash takes care of this by itself. You just need to write Python, R, Julia, or F# and sprinkle in a bit of CSS.

How to use Dash

– Install the library

– Import the library

– Run Dash

To run the dash application first, we need to wrap the application into a .py file and then run the application using python

Let’s understand a few of the features of Dash and see how powerful it is.

We have seen that creating a dashboard is as simple as following a few easy steps, and you don’t need to be a tech-savvy person to do it. If you want to know more, you can check out the official documentation page of Dash for a more comprehensive understanding.

Leave a Comment

Your email address will not be published. Required fields are marked *