Preswald

Preswald

Structured Labs · Programación

Preswald es un framework de código abierto que convierte scripts de Python en apps de datos interactivas y las empaqueta en un solo archivo que se abre en el navegador sin necesidad de un servidor.

Vista previa de la interfaz de Preswald

Acerca de Preswald

About

Qué es Preswald

Preswald es un generador de sitios estáticos para apps de datos interactivas. Lo desarrolla Structured Labs y se distribuye con licencia Apache 2.0. Tú escribes la app en Python y un solo comando la compila en una carpeta de archivos estáticos que puedes abrir en el navegador o pasarle a otra persona. No hay nada que instalar en la máquina donde se ejecuta.

El problema que ataca es la entrega. Un analista puede montar un análisis con pandas y Plotly en un notebook, pero compartirlo suele implicar pedirle al otro que prepare un entorno de Python. Preswald mete tu código, tus datos y tu interfaz en un paquete portátil que corre sin conexión. Por dentro se apoya en WebAssembly: ejecuta Pyodide para Python y DuckDB para las consultas directamente en la pestaña del navegador.

Ese diseño trae contrapartidas que conviene conocer de entrada. Como todo corre en el cliente, los conjuntos de datos muy grandes y el cómputo pesado quedan limitados por la máquina y la memoria del navegador de quien lo abre. El proyecto además es joven, y varios fallos reportados por la comunidad en el redibujado de gráficos muestran que todavía está madurando. El sitio oficial ahora redirige a Structured Labs, que sigue desarrollando Preswald junto a sus otros productos.

Para empezar

  1. Instala el paquete con pip install preswald o uv pip install preswald.
  2. Ejecuta preswald init my_app para generar la estructura del proyecto con un archivo de app, configuración y datos de ejemplo.
  3. Edita el archivo de Python e importa componentes de interfaz como text, table y get_df para armar la app.
  4. Lanza preswald run para levantar un servidor local de desarrollo y ver la app en localhost.
  5. Ejecuta preswald export para construir un paquete estático en una carpeta dist/ que funciona sin conexión y se puede compartir.

Información del producto

Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de Preswald.

Plan gratuitoSí
Planes de pagoFree (open source)
PlataformaWeb (browser), Command line
DesarrolladorStructured Labs
CategoríaProgramación
Fecha de lanzamientoFeb 2025
Última actualizaciónOct 2025
Visitas al sitio webN/A
Ranking global del sitio6.6M
Disponibilidad de la APIN/A

Ideal para

Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.

Usuarios

  • Analistas de datos
  • Desarrolladores de Python
  • Equipos que pasan trabajo a otras áreas
  • Equipos sensibles a la privacidad

Tareas

  • Crear paneles para analistas
  • Redactar informes interactivos
  • Publicar herramientas de inspección de datos
  • Preparar kits sin conexión

Casos de uso

  • Pasar una herramienta a un compañero no técnico
  • Trabajar con datos confidenciales
  • Prototipar un producto de datos rápido
  • Darle una herramienta estructurada a un agente de IA

Funciones clave

Autoría centrada en Python

Montas toda la app en Python, con funciones de apoyo para texto, tablas, gráficos y formularios. No hay JavaScript que escribir ni un entorno de notebook con el que pelear. Para quien ya se maneja con pandas, el salto del script de análisis a la app funcionando es corto.

Exportación basada en archivos

Un solo comando preswald export compila la app en un sitio estático dentro de una carpeta dist/. Ese resultado contiene todo lo necesario para ejecutarla, así que puedes comprimirlo, alojarlo o dejarlo en una carpeta compartida. Funciona sin conexión en cualquier navegador moderno.

Cómputo en el navegador con Pyodide y DuckDB

El entorno ejecuta Python mediante Pyodide y las consultas mediante DuckDB, ambos compilados a WebAssembly. Esto significa que el procesamiento real ocurre en la pestaña, no en un servidor remoto. DuckDB resuelve SQL analítico sobre archivos locales con rapidez, y eso es lo que hace posibles las apps de datos ágiles en el navegador.

Motor reactivo

Preswald sigue un grafo de dependencias de tu estado y solo vuelve a ejecutar las partes de la app que un cambio afecta. Cuando el usuario mueve un filtro, la app recalcula solo las salidas implicadas en vez de todo el script. Esto mantiene ágiles las apps interactivas a medida que crecen.

Componentes de interfaz componibles

El framework incluye bloques ya hechos como tablas, gráficos, formularios y elementos de maquetación. Los colocas en tu script y se dibujan en una interfaz coherente. Así te ahorras escribir el marcado y el estilo a mano para las vistas de datos habituales.

Ejecución local por defecto

Como las apps corren enteras en el navegador, no hay backend que desplegar, asegurar ni pagar. Los datos se quedan en la máquina donde se ejecuta la app, algo que encaja con conjuntos sensibles y trabajo de campo sin conexión. Esa misma propiedad es la que limita cuántos datos y cuánto cómputo aguanta una app.

Código abierto bajo Apache 2.0

Preswald tiene licencia Apache 2.0 y se desarrolla abiertamente en GitHub, así que puedes leer el código, abrir incidencias y contribuir. Mantiene el proyecto Structured Labs, con comunidad activa en Slack y en las discusiones de GitHub.

Ventajas y desventajas

Ventajas

  • Escribes las apps en Python, así que los analistas pueden compartir su trabajo sin aprender un stack de front-end.
  • El resultado es un paquete estático autónomo que corre sin conexión en el navegador, sin servidor que desplegar.
  • DuckDB y Pyodide llevan SQL y ejecución de Python de verdad hasta la pestaña del navegador.
  • Las reejecuciones reactivas mantienen ágiles los paneles interactivos a medida que crecen.
  • La licencia Apache 2.0 evita ataduras a un proveedor y da libertad total para alojarlo por tu cuenta.

Desventajas

  • Todo corre en el cliente, así que los datos grandes y el cómputo pesado chocan con los límites de memoria y velocidad de la máquina de quien visita la app.
  • El proyecto es joven, y los fallos que reporta la comunidad en el redibujado de gráficos muestran que el entorno aún madura, así que puede haber asperezas.
  • No hay una API en la nube documentada, así que los equipos que quieren un backend gestionado deben buscar otra cosa o autoalojarlo.
  • Al entregarse por navegador, las apps dependen de un navegador moderno y no sirven para trabajos programados ni de servidor sin interfaz.

Preguntas frecuentes

Preswald crea apps de datos interactivas en Python y las empaqueta como archivos estáticos que corren en el navegador. Encaja en paneles, informes, herramientas de inspección de datos y prototipos que hay que compartir sin pedirle a nadie que prepare un entorno de Python.