Las 5 mejores bibliotecas de Python para alojar y compartir tu PyGWalker como una aplicación web
En el mundo actual centrado en datos y de ritmo rápido, compartir tus ideas es tan importante como obtenerlas. Python, siendo un lenguaje líder en ciencia de datos, ofrece numerosas bibliotecas para crear aplicaciones web a partir de tus análisis de datos. Si eres fanático de pygwalker
para visualización interactiva, ¡estás de suerte! Esta publicación de blog revelará las 5 mejores bibliotecas para alojar y compartir tus visualizaciones de pygwalker
como aplicaciones web.
- Streamlit
- Gradio
- Dash
- Shiny-Python
- Flask
1. Streamlit
Descripción general:
Streamlit (opens in a new tab) es una biblioteca de Python inmensamente popular que transforma scripts de datos en aplicaciones web compartibles en cuestión de minutos en lugar de semanas. Puedes pensar en Streamlit como Flask adaptado para científicos de datos, que permite el desarrollo rápido de aplicaciones de datos sin tener que sumergirte en las complejidades del desarrollo web. Además, Streamlit proporciona una plataforma fluida para convertir pygwalker
en una aplicación web en vivo, lo que te permite compartir con una audiencia más amplia y no solo presentar informes estáticos. El usuario puede formular preguntas y continuar la exploración según sus necesidades.
Características clave:
- Sencillez: Transforma tus scripts de datos en aplicaciones web con solo unas pocas líneas de código.
- Widgets interactivos: Añade fácilmente controles deslizantes, botones y campos de texto para manipular visualizaciones.
- Recarga en caliente: Visualiza los cambios en tiempo real sin reiniciar tu aplicación.
Integración con PyGWalker:
Streamlit y PyGWalker ofrecen una combinación potente. La API reciente en pygwalker
facilita su uso con Streamlit, permitiendo el motor de cálculo duckdb
, una característica exclusiva de su combinación. Aquí tienes una guía de integración paso a paso:
-
Configurar el entorno: Asegúrate de tener Python 3.6 o superior. Instala las dependencias necesarias usando:
pip install pandas pygwalker streamlit
-
Incorporar PyGWalker en Streamlit: Crea un nuevo script de Python llamado
pygwalker_demo.py
. Utiliza elStreamlitRenderer
depygwalker.api.streamlit
para una integración sin problemas:from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm import pandas as pd import streamlit as st st.set_page_config( page_title="Usar Pygwalker en Streamlit", layout="wide" ) init_streamlit_comm() st.title("Usar Pygwalker en Streamlit") @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()
-
Explorar datos en Streamlit usando PyGWalker: Ejecuta tu aplicación de Streamlit usando el comando:
streamlit run pygwalker_demo.py
. Este comando iniciará tu aplicación de Streamlit y podrás visualizar los datos de forma interactiva utilizando la funcionalidad intuitiva de arrastrar y soltar de PyGWalker. -
Guardar el estado del gráfico de PyGWalker: Cuando tu renderizador de pygwalker está en modo de depuración y el parámetro
spec
apunta a una ruta de archivo JSON local, puedes guardar la configuración de tu gráfico haciendo clic en el botón de guardar en la interfaz de exploración.
Lectura adicional: Cómo usar PyGWalker con Streamlit
2. Gradio
Descripción general: Gradio (opens in a new tab) te permite construir una interfaz de usuario alrededor de modelos de aprendizaje automático. Pero no se limita solo a eso. Su facilidad para construir interfaces personalizadas es incomparable.
Características clave:
- Flexibilidad de la interfaz: Crea interfaces con menús desplegables, controles deslizantes, cuadros de texto y más.
- Implementación rápida: Construye y despliega prototipos de aprendizaje automático rápidamente.
- Compartir: Obtén enlaces compartibles para tus aplicaciones, lo que facilita la colaboración.
Integración con PyGWalker:
El componente de interfaz HTML
de Gradio puede alojar visualizaciones de pygwalker
.
import gradio as gr
import pygwalker as pyg
codigo_html = pyg.walk(..., return_html=True)
gr.Interface(fn=None, inputs=None, outputs=gr.HTML()).launch()
Lectura adicional: Cómo usar PyGWalker con Gradio
3. Dash
Descripción general: Dash (opens in a new tab) de Plotly es un marco de trabajo productivo para construir aplicaciones web analíticas. No se necesita JavaScript.
Características clave:
- Reactivo: Construye aplicaciones interactivas basadas en gráficos Plotly.
- Personalizable: Diseña tu interfaz de usuario con una amplia gama de componentes de Dash.
- Integración: Amplía el soporte para otras bibliotecas de gráficos Plotly.
Integración con PyGWalker:
Con el componente html.Div
de Dash, las visualizaciones de pygwalker
se pueden incorporar fácilmente.
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
Descripción general:
Si bien la biblioteca Shiny de R es conocida por sus aplicaciones interactivas, la versión para Python, shiny
, ofrece capacidades similares en Python.
Características clave:
- Reactividad: Construye aplicaciones con enlaces reactivos para actualizaciones en tiempo real.
- Componentes de interfaz: Shiny ofrece una gran cantidad de componentes de interfaz de usuario.
Integración con PyGWalker:
Usando el componente ui.HTML
, se pueden incrustar visualizaciones de pygwalker
dentro de la aplicación Shiny.
from shiny import App, ui
import pygwalker as pyg
codigo_html = pyg.walk(..., return_html=True)
app_ui = ui.page_fluid(
ui.HTML(codigo_html)
)
app = App(app_ui)
Lectura adicional: Cómo usar PyGWalker con Shiny-Python
5. Flask
Descripción general: Flask (opens in a new tab) es un marco de aplicación web ligero WSGI. Si bien no está específicamente diseñado para aplicaciones de datos, su flexibilidad es inigualable.
Características clave:
- Microframework: Flask te proporciona lo básico para ejecutar una aplicación web.
- Extensiones: Mejora las capacidades de Flask a través de extensiones.
Integración con PyGWalker:
Puedes renderizar el HTML de pygwalker
dentro de una aplicación Flask utilizando la función render_template
.
from flask import Flask, render_template_string
import pygwalker as pyg
app = Flask(__name__)
@app.route('/')
def home():
codigo_html = pyg.walk(..., return_html=True)
return render_template_string(codigo_html)
if __name__ == '__main__':
app.run(debug=True)
Conclusión
¡Tus historias de datos merecen una audiencia más amplia y estas bibliotecas lo hacen posible! Ya sea que estés construyendo un prototipo simple o una aplicación de datos completa, estas bibliotecas junto con pygwalker
proporcionan una potente combinación para hacer que tus datos sean accesibles e interactivos. ¡Sumérgete, experimenta y deja que tus visualizaciones brillen en la web!