Preswald

Preswald

Structured Labs · Programação

O Preswald é um framework de código aberto que transforma scripts de Python em apps de dados interativos e os empacota como arquivos autônomos que rodam no navegador sem servidor.

Prévia da interface de Preswald

Sobre Preswald

About

O que é o Preswald

O Preswald é um gerador de sites estáticos para apps de dados interativos. Foi criado pela Structured Labs e é distribuído sob a licença Apache 2.0. Você escreve o app em Python e um único comando o compila em uma pasta de arquivos estáticos que pode abrir no navegador ou entregar a outra pessoa. Não há nada para instalar na máquina onde ele roda.

O problema que ele ataca é a entrega. Um analista consegue montar uma análise com pandas e Plotly em um notebook, mas compartilhar esse trabalho costuma exigir que a outra pessoa prepare um ambiente de Python. O Preswald junta seu código, seus dados e sua interface em um pacote portátil que roda sem conexão. Por dentro, ele se apoia em WebAssembly: executa o Pyodide para Python e o DuckDB para as consultas direto na aba do navegador.

Esse desenho traz trade-offs que vale conhecer de antemão. Como tudo roda no cliente, conjuntos de dados muito grandes e cálculos pesados ficam limitados pela máquina e pela memória do navegador de quem abre o app. O projeto também é novo, e relatos da comunidade sobre falhas na renderização de gráficos mostram que ele ainda está amadurecendo. O site oficial agora redireciona para a Structured Labs, que segue desenvolvendo o Preswald ao lado de seus outros produtos.

Como começar

  1. Instale o pacote com pip install preswald ou uv pip install preswald.
  2. Rode preswald init my_app para gerar a estrutura do projeto com um arquivo de app, configuração e dados de exemplo.
  3. Edite o arquivo Python e importe componentes de interface como text, table e get_df para montar o app.
  4. Rode preswald run para subir um servidor local de desenvolvimento e ver o app em localhost.
  5. Rode preswald export para gerar um pacote estático em uma pasta dist/ que roda sem conexão e pode ser compartilhado.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de Preswald.

Plano gratuitoSim
Planos pagosFree (open source)
PlataformaWeb (browser), Command line
DesenvolvedorStructured Labs
CategoriaProgramação
Data de lançamentoFeb 2025
Última atualizaçãoOct 2025
Visitas ao siteN/A
Ranking global do site6.6M
Disponibilidade da APIN/A

Ideal para

Os usuários, tarefas e cenários em que esta ferramenta se encaixa melhor.

Usuários

  • Analistas de dados
  • Desenvolvedores Python
  • Equipes que repassam trabalho a outras áreas
  • Equipes atentas à privacidade

Tarefas

  • Montar painéis para analistas
  • Escrever relatórios interativos
  • Publicar ferramentas de inspeção de dados
  • Preparar kits sem conexão

Cenários

  • Entregar uma ferramenta a um colega não técnico
  • Lidar com dados confidenciais
  • Prototipar um produto de dados rápido
  • Dar uma ferramenta estruturada a um agente de IA

Principais recursos

Autoria com foco em Python

Você monta o app inteiro em Python, com funções de apoio para texto, tabelas, gráficos e formulários. Não há JavaScript para escrever nem runtime de notebook para enfrentar. Para quem já se sente à vontade com pandas, o salto do script de análise para o app funcionando é curto.

Exportação baseada em arquivos

Um único comando preswald export compila o app em um site estático dentro de uma pasta dist/. Esse resultado contém tudo o que é preciso para executá-lo, então você pode compactar, hospedar ou deixar em uma pasta compartilhada. Funciona sem conexão em qualquer navegador moderno.

Processamento no navegador com Pyodide e DuckDB

O runtime executa Python via Pyodide e as consultas via DuckDB, ambos compilados para WebAssembly. Isso significa que o processamento real acontece na aba, não em um servidor remoto. O DuckDB resolve SQL analítico sobre arquivos locais com rapidez, e é isso que torna possíveis os apps de dados ágeis no navegador.

Motor reativo

O Preswald acompanha um grafo de dependências do seu estado e só reexecuta as partes do app afetadas por uma mudança. Quando o usuário mexe em um filtro, o app recalcula apenas as saídas envolvidas em vez do script inteiro. Isso mantém os apps interativos ágeis conforme crescem.

Componentes de interface combináveis

O framework traz blocos prontos como tabelas, gráficos, formulários e elementos de layout. Você os encaixa no seu script e eles são renderizados em uma interface consistente. Assim você evita escrever marcação e estilo à mão para as visualizações de dados mais comuns.

Execução local por padrão

Como os apps rodam inteiros no navegador, não há backend para implantar, proteger ou pagar. Os dados ficam na máquina onde o app roda, o que combina com conjuntos sensíveis e trabalho de campo sem conexão. Essa mesma característica é o que limita quanto dado e quanto processamento um app aguenta.

Código aberto sob Apache 2.0

O Preswald tem licença Apache 2.0 e é desenvolvido abertamente no GitHub, então você pode ler o código, abrir issues e contribuir. A Structured Labs mantém o projeto, com comunidade ativa no Slack e nas discussões do GitHub.

Prós e contras

Prós

  • Você escreve os apps em Python, então analistas conseguem compartilhar o trabalho sem aprender um stack de front-end.
  • O resultado é um pacote estático autônomo que roda sem conexão no navegador, sem servidor para implantar.
  • O DuckDB e o Pyodide levam SQL e execução de Python de verdade até a aba do navegador.
  • As reexecuções reativas mantêm os painéis interativos ágeis conforme crescem.
  • A licença Apache 2.0 evita dependência de fornecedor e dá liberdade total para hospedar por conta própria.

Contras

  • Tudo roda no cliente, então dados grandes e cálculos pesados esbarram nos limites de memória e velocidade da máquina de quem visita o app.
  • O projeto é novo, e os relatos de falhas na renderização de gráficos mostram que o runtime ainda amadurece, então podem aparecer arestas.
  • Não há uma API de nuvem documentada, então equipes que querem um backend gerenciado precisam procurar outra opção ou hospedar por conta própria.
  • Por serem entregues pelo navegador, os apps dependem de um navegador moderno e não servem para tarefas agendadas ou de servidor sem interface.

Perguntas frequentes

O Preswald cria apps de dados interativos em Python e os empacota como arquivos estáticos que rodam no navegador. Ele encaixa em painéis, relatórios, ferramentas de inspeção de dados e protótipos que precisam ser compartilhados sem pedir a ninguém para preparar um ambiente de Python.