How to Use Streamlit and PyGWalker Together

What is Streamlit?

Streamlit is a powerful Python library that streamlines the process of transforming your data scripts into interactive web applications. With Streamlit, you can bid farewell to the complexities of web development and coding challenges. It is a fast, open-source, and free solution for building and sharing data applications.


What is Pygwalker?

On the other hand, Pygwalker is a popular Python library specifically designed for data analysis and visualization. It offers data scientists and analysts an intuitive interface for creating captivating visualizations, including scatter plots, line plots, bar charts, and histograms. The best part? You don't need any coding skills to use Pygwalker!


To access additional examples and resources, visit the official Pygwalker GitHub Page.


Getting Started with Streamlit and Pygwalker

Before we embark on our data exploration journey, let's ensure that your computer is equipped with a Python environment (version 3.6 or higher). Once you have that set up, follow these steps:


Installing Dependencies


Open your command prompt or terminal and execute the following commands to install the necessary dependencies:


```bash

pip install pandas

pip install pygwalker

pip install streamlit

```

Integrating Pygwalker in a Streamlit Application


Now that we have all the dependencies installed, let's create a Streamlit application that incorporates Pygwalker. Create a new Python script called `pygwalker_demo.py` and add the following code:


```python

import pygwalker as pyg

import pandas as pd

import streamlit.components.v1 as components

import streamlit as st


# Configure the Streamlit page

st.set_page_config(

    page_title="Using Pygwalker with Streamlit",

    layout="wide"

)


# Add a title

st.title("Using Pygwalker with Streamlit")


# Import your data

df = pd.read_csv("https://sample.csv")


# Generate the HTML using Pygwalker

pyg_html = pyg.walk(df, return_html=True)


# Embed the generated HTML into the Streamlit app

components.html(pyg_html, height=1000, scrolling=True)

```


Exploring Data with Pygwalker in Streamlit


To launch the Streamlit application and start exploring your data, execute the following command in your command prompt or terminal:


```shell

streamlit run pygwalker_demo.py

```


You will see some information displayed on the terminal. Access the Streamlit app in your browser using the provided URL:


Local URL: [http://localhost:8501](http://localhost:8501)


Network URL: [http://xxx.xxx.xxx.xxx:8501](http://xxx.xxx.xxx.xxx:8501)


Open the provided URL ([http://localhost:8501](http://localhost:8501)) in your web browser and witness the power of Pygwalker's intuitive drag-and-drop actions for interactive data exploration and visualization.


Saving the State of a Pygwalker Chart


If you wish to save the state of a Pygwalker chart, follow these simple steps:


1. Click the export button on the chart.


2. Click the copy code button.


3. Copy and paste these codes to your project:


```python

import pygwalker as pyg

import pandas as pd

import streamlit.components.v1 as components

import streamlit as st


# Configure the Streamlit page

st.set_page_config(

    page_title="Using Pygwalker with Streamlit",

    layout="wide"

)


# Add a title

st.title("Using Pygwalker with Streamlit")


# Import your data

df = pd.read_csv("https://kanaries-app.s3.ap-northeast-1.amazonaws.com/public-datasets/bike_sharing_dc.csv")


# Paste the copied Pygwalker chart code here

vis_spec = """<PASTE_COPIED_CODE_HERE>"""


# Generate the HTML using Pygwalker

pyg_html = pyg.walk(df, spec=vis_spec, return_html=True)


# Embed the generated HTML into the Streamlit app

components.html(pyg_html, height=1000, scrolling=True)

```


Remember to refresh the webpage to see the saved state of your Pygwalker chart.


It's worth noting that Pygwalker is built upon graphic-walker, a powerful library that can be embedded in various platforms, including Excel and Airtable. This means that your Pygwalker app can easily collaborate with users in different environments, leveraging the capabilities of graphic-walker and Pygwalker.



Conclusion and References

Streamlit and Pygwalker are invaluable tools that simplify data exploration and enable effective communication of insights. Streamlit's user-friendly interface and Pygwalker's interactive visualization options seamlessly enhance your data analysis workflow. So go ahead, delve into your data, and share your remarkable insights with the world!

Pygwalker GitHub Repository

Pygwalker in Streamlit Demo

How to Use Streamlit with PyGWalker