Skip to content
Top 5 Python-Bibliotheken zum Hosten und Teilen Ihrer PyGWalker als Web-App

Top 5 Python-Bibliotheken zum Hosten und Teilen Ihrer PyGWalker als Web-App

In der heutigen datenzentrierten Welt ist das Teilen von Erkenntnissen genauso wichtig wie ihre Ableitung. Python, als führende Sprache in der Datenwissenschaft, bietet zahlreiche Bibliotheken, um Web-Apps aus Ihren Datenanalysen zu erstellen. Wenn Sie ein Fan von pygwalker für interaktive Visualisierungen sind, haben Sie Glück! Dieser Blogbeitrag stellt die Top 5 Bibliotheken vor, mit denen Sie Ihre pygwalker-Visualisierungen als Web-Apps hosten und teilen können.

  1. Streamlit
  2. Gradio
  3. Dash
  4. Shiny-Python
  5. Flask

1. Streamlit

Überblick: Streamlit (opens in a new tab) ist eine äußerst beliebte Python-Bibliothek, mit der Daten-Scripts innerhalb von Minuten anstelle von Wochen in teilbare Web-Apps umgewandelt werden können. Streamlit kann als Flask speziell für Data Scientists betrachtet werden und ermöglicht die schnelle Entwicklung von Daten-Apps, ohne dass umfangreiche Kenntnisse in der Webentwicklung erforderlich sind. Darüber hinaus bietet Streamlit eine nahtlose Plattform, um pygwalker in eine Live-Webanwendung umzuwandeln, sodass Sie diese nicht nur als statische Berichte präsentieren, sondern auch einem breiteren Publikum zugänglich machen können. Der Benutzer kann Fragen stellen und basierend auf seinen Anforderungen weiter erkunden.

Hauptmerkmale:

  • Einfachheit: Verwandeln Sie Ihre Daten-Scripts mit nur wenigen Codezeilen in Web-Apps.
  • Interaktive Widgets: Fügen Sie ganz einfach Schieberegler, Buttons und Texteingaben hinzu, um Visualisierungen zu manipulieren.
  • Hot-Reloading: Änderungen werden in Echtzeit angezeigt, ohne dass die App neu gestartet werden muss.

Integration mit PyGWalker: Streamlit und PyGWalker bieten eine leistungsstarke Kombination. Die neueste API in pygwalker erleichtert die Verwendung mit Streamlit und ermöglicht die Verwendung des duckdb-Berechnungsmotors, einer Funktion, die exklusiv für diese Kombination ist. Hier ist eine Schritt-für-Schritt-Anleitung zur Integration:

  1. Einrichten der Umgebung: Stellen Sie sicher, dass Sie Python 3.6 oder höher haben. Installieren Sie die erforderlichen Abhängigkeiten mit folgendem Befehl:

    pip install pandas pygwalker streamlit
  2. Einbetten von PyGWalker in Streamlit: Erstellen Sie ein neues Python-Skript mit dem Namen pygwalker_demo.py. Verwenden Sie den StreamlitRenderer aus pygwalker.api.streamlit für eine nahtlose Integration:

    from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm
    import pandas as pd
    import streamlit as st
     
    st.set_page_config(
        page_title="PyGWalker in Streamlit verwenden",
        layout="wide"
    )
     
    init_streamlit_comm()
    st.title("PyGWalker in Streamlit verwenden")
     
    @st.cache_resource
    def get_pyg_renderer() -> "StreamlitRenderer":
        df = pd.read_csv("https://kanaries-app.s3.ap-northeast-1.amazonaws.com/public-datasets/bike_sharing_dc.csv")
        return StreamlitRenderer(df, spec="./gw_config.json", debug=False)
     
    renderer = get_pyg_renderer()
    renderer.render_explore()
  3. Daten in Streamlit mit PyGWalker erkunden: Starten Sie Ihre Streamlit-App mit dem Befehl: streamlit run pygwalker_demo.py. Dieser Befehl startet Ihre Streamlit-App und Sie können Ihre Daten interaktiv mit PyGWalker's intuitiver Drag-and-Drop-Funktionalität visualisieren.

  4. Speichern des Zustands einer PyGWalker-Grafik: Wenn Ihr PyGWalker-Renderer im Debug-Modus ist und der spec-Parameter auf einen lokalen JSON-Dateipfad verweist, können Sie Ihre Diagrammkonfiguration speichern, indem Sie auf die Schaltfläche "Speichern" in der Explorationsoberfläche klicken.

Weiterführende Informationen: Wie man PyGWalker mit Streamlit verwendet

2. Gradio

Überblick: Gradio (opens in a new tab) ermöglicht es Ihnen, eine Benutzeroberfläche um Machine-Learning-Modelle zu erstellen. Aber es beschränkt sich nicht nur darauf. Die Möglichkeit, benutzerdefinierte Oberflächen zu erstellen, ist beispiellos.

Hauptmerkmale:

  • Flexibilität der Benutzeroberfläche: Erstellen Sie Oberflächen mit Dropdown-Menüs, Schiebereglern, Texteingabe und mehr.
  • Schnelle Bereitstellung: Erstellen und bereitstellen von ML-Prototypen schnell.
  • Teilen: Erhalten Sie Links zu Ihren Apps, um die Zusammenarbeit zu erleichtern.

Integration mit PyGWalker: Das HTML-Interfacekomponente von Gradio kann pygwalker-Visualisierungen hosten.

import gradio as gr
import pygwalker as pyg
 
html_code = pyg.walk(..., return_html=True)
gr.Interface(fn=None, inputs=None, outputs=gr.HTML()).launch()

Weiterführende Informationen: Wie man PyGWalker mit Gradio verwendet

3. Dash

Überblick: Dash (opens in a new tab) von Plotly ist ein produktives Framework zur Erstellung von analytischen Webanwendungen. Kein JavaScript erforderlich.

Hauptmerkmale:

  • Reaktiv: Erstellen Sie reaktive Apps um Plotly-Diagramme.
  • Anpassbar: Gestalten Sie Ihre Benutzeroberfläche mit einer Vielzahl von Dash-Komponenten.
  • Integration: Unterstützung für andere Plotly-Charting-Bibliotheken.

Integration mit PyGWalker: Mit dem html.Div-Komponente von Dash können pygwalker-Visualisierungen nahtlos eingebunden werden.

import dash
import dash_dangerously_set_inner_html
 
import dash_html_components as html
import pygwalker as pyg
 
from datasets import load_dataset
# load dataset
dataset = load_dataset("gradio/NYC-Airbnb-Open-Data", split="train")
df = dataset.to_pandas()
 
app = dash.Dash()
 
html_code = pyg.walk(df, return_html=True)
 
app.layout = html.Div([
    dash_dangerously_set_inner_html.DangerouslySetInnerHTML(html_code),
])
 
if __name__ == '__main__':
    app.run_server(debug=True)
 

4. Shiny-Python

Überblick: Während R's Shiny-Bibliothek für interaktive Apps bekannt ist, bietet die Python-Portierung shiny ähnliche Möglichkeiten für Python.

Hauptmerkmale:

  • Reaktivität: Erstellen Sie Apps mit reaktiven Bindungen für Live-Updates.
  • Benutzeroberflächenkomponenten: Shiny bietet eine Fülle von Benutzeroberflächenkomponenten.

Integration mit PyGWalker: Mit der ui.HTML-Komponente können pygwalker-Visualisierungen in die Shiny-App eingebettet werden.

from shiny import App, ui
import pygwalker as pyg
 
html_code = pyg.walk(..., return_html=True)
 
app_ui = ui.page_fluid(
    ui.HTML(html_code)
)
 
app = App(app_ui)

Weiterführende Informationen: Wie man PyGWalker mit Shiny-Python verwendet

5. Flask

Überblick: Flask (opens in a new tab) ist ein leichtgewichtiges WSGI-Webframework. Obwohl es nicht speziell für Data-Apps entwickelt wurde, bietet es eine unschlagbare Flexibilität.

Hauptmerkmale:

  • Microframework: Flask bietet die Grundlagen für den Betrieb einer Web-App.
  • Erweiterungen: Erweitern Sie die Funktionalität von Flask mit Erweiterungen.

Integration mit PyGWalker: Sie können den pygwalker-HTML-Code in einer Flask-App mithilfe der Funktion render_template rendern.

from flask import Flask, render_template_string
import pygwalker as pyg
 
app = Flask(__name__)
 
@app.route('/')
def home():
    html_code = pyg.walk(..., return_html=True)
    return render_template_string(html_code)
 
if __name__ == '__main__':
    app.run(debug=True)

Fazit

Ihre Datenstories verdienen ein größeres Publikum, und diese Bibliotheken machen es möglich! Egal, ob Sie einen einfachen Prototypen oder eine vollwertige Daten-App entwickeln, diese Bibliotheken in Kombination mit pygwalker bieten eine leistungsstarke Kombination, um Ihre Daten zugänglich und interaktiv zu machen. Tauchen Sie ein, experimentieren Sie und lassen Sie Ihre Visualisierungen im Web erstrahlen!