Top 5 Bibliotecas Python para Hospedar e Compartilhar seu PyGWalker como um Aplicativo Web
No mundo de hoje, centrado em dados e com ritmo acelerado, compartilhar suas ideias é tão importante quanto produzi-las. Python, sendo uma das principais linguagens de ciência de dados, oferece diversas bibliotecas para criar aplicativos web com base em suas análises de dados. Se você é fã do pygwalker
para visualização interativa, está com sorte! Este post revelará as top 5 bibliotecas para hospedar e compartilhar suas visualizações pygwalker
como aplicativos web.
- Streamlit
- Gradio
- Dash
- Shiny-Python
- Flask
1. Streamlit
Visão geral:
Streamlit (opens in a new tab) é uma biblioteca Python extremamente popular que transforma scripts de dados em aplicativos web compartilháveis em minutos, em vez de semanas. Você pode pensar no Streamlit como o Flask adaptado para cientistas de dados, permitindo o desenvolvimento rápido de aplicativos de dados sem a necessidade de se aprofundar nas complexidades do desenvolvimento web. Além disso, o Streamlit oferece uma plataforma perfeita para converter o pygwalker
em uma aplicação web ao vivo, permitindo que você compartilhe com um público mais amplo e não apenas apresente relatórios estáticos. O usuário pode fazer perguntas e continuar a exploração baseado em suas necessidades.
Recursos principais:
- Simplicidade: Transforme seus scripts de dados em aplicativos web com apenas algumas linhas de código.
- Widgets interativos: Adicione facilmente controles deslizantes, botões e campos de texto para manipular visualizações.
- Recarga instantânea: Veja as alterações em tempo real sem reiniciar seu aplicativo.
Integração com o PyGWalker:
O Streamlit e o PyGWalker oferecem uma combinação poderosa. A API recente no pygwalker
facilita o uso com o Streamlit, permitindo o uso do mecanismo de computação duckdb
, um recurso exclusivo dessa combinação. Aqui está um guia passo a passo de integração:
-
Configurando o ambiente: Verifique se você tem o Python 3.6 ou superior. Instale as dependências necessárias usando:
pip install pandas pygwalker streamlit
-
Incorporando o PyGWalker no Streamlit: Crie um novo script Python chamado
pygwalker_demo.py
. Utilize oStreamlitRenderer
dopygwalker.api.streamlit
para uma integração perfeita:from pygwalker.api.streamlit import StreamlitRenderer, init_streamlit_comm import pandas as pd import streamlit as st st.set_page_config( page_title="Use Pygwalker In Streamlit", layout="wide" ) init_streamlit_comm() st.title("Use Pygwalker In 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()
-
Explorando dados no Streamlit usando o PyGWalker: Execute seu aplicativo Streamlit usando o comando:
streamlit run pygwalker_demo.py
. Esse comando iniciará seu aplicativo Streamlit, e você poderá visualizar interativamente seus dados usando a funcionalidade intuitiva de arrastar e soltar do PyGWalker. -
Salvando o estado do gráfico do PyGWalker: Quando seu renderizador pygwalker estiver no modo de depuração e o parâmetro
spec
apontar para um caminho de arquivo JSON local, você pode salvar a configuração do seu gráfico clicando no botão de salvar na interface de exploração.
Leitura adicional: Como usar o PyGWalker com Streamlit
2. Gradio
Visão geral: Gradio (opens in a new tab) permite que você crie uma interface para modelos de aprendizado de máquina. Mas isso não se limita apenas a isso. Sua facilidade de criação de interfaces personalizadas é incomparável.
Recursos principais:
- Flexibilidade da interface: Crie interfaces com menus suspensos, controles deslizantes, caixas de texto e muito mais.
- Implantação rápida: Crie protótipos de aprendizado de máquina e implante-os rapidamente.
- Compartilhamento: Obtenha links compartilháveis para seus aplicativos, facilitando a colaboração.
Integração com o PyGWalker:
O componente de interface HTML
do Gradio pode hospedar visualizações do pygwalker
.
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()
Leitura adicional: Como usar o PyGWalker com Gradio
3. Dash
Visão geral: Dash (opens in a new tab) da Plotly é um framework produtivo para construir aplicativos web analíticos. Não requer JavaScript.
Recursos principais:
- Reativo: Construa aplicativos reativos em torno de gráficos do Plotly.
- Customizável: Crie sua interface do usuário com uma vasta gama de componentes do Dash.
- Integração: Oferece suporte para outras bibliotecas de gráficos da Plotly.
Integração com o PyGWalker:
Com o componente html.Div
do Dash, visualizações do pygwalker
podem ser incorporadas facilmente.
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
Visão geral:
Enquanto a biblioteca Shiny do R é conhecida por seus aplicativos interativos, a versão em Python, shiny
, traz capacidades similares para o Python.
Recursos principais:
- Reatividade: Crie aplicativos com ligações reativas para atualizações em tempo real.
- Componentes de IU: Shiny oferece uma infinidade de componentes de IU.
Integração com o PyGWalker:
Usando o componente ui.HTML
, visualizações do pygwalker
podem ser incorporadas ao aplicativo Shiny.
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)
Leitura adicional: Como usar o PyGWalker com Shiny-Python
5. Flask
Visão geral: Flask (opens in a new tab) é um microframework leve para aplicativos web WSGI. Embora não seja especificamente para aplicativos de dados, sua flexibilidade é imbatível.
Recursos principais:
- Microframework: O Flask oferece o básico para executar um aplicativo web.
- Extensões: Aumente as capacidades do Flask por meio de extensões.
Integração com o PyGWalker:
Você pode renderizar o HTML do pygwalker
dentro de um aplicativo Flask usando a função render_template
.
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)
Conclusão
Suas histórias de dados merecem um público maior, e essas bibliotecas tornam isso possível! Seja criando um simples protótipo ou um aplicativo de dados completo, essas bibliotecas, juntamente com o pygwalker
, oferecem uma combinação poderosa para tornar seus dados acessíveis e interativos. Aprofunde-se, experimente e permita que suas visualizações brilhem na web!