¿Qué es marimo?
marimo es un notebook de Python reactivo que se almacena como código puro y amigable con Git, permitiendo ejecutar celdas dependientes automáticamente. Está diseñado para desarrolladores y científicos de datos que necesitan reproducibilidad y gestión de estado sin errores, integrando soporte nativo para SQL y elementos interactivos.
¿Cuáles son las características de marimo?
- Ejecución reactivaAl modificar una celda, marimo actualiza automáticamente todas las celdas dependientes, eliminando la necesidad de gestionar el estado manualmente.
- Almacenamiento en Python puroLos notebooks se guardan como archivos .py, lo que facilita el versionado con Git, la ejecución como scripts y la reutilización como módulos.
- Soporte SQL integradoPermite consultar dataframes y bases de datos (DuckDB, Postgres, etc.) directamente desde celdas de SQL dentro del notebook.
- Elementos interactivosIncluye widgets nativos como sliders, dropdowns y tablas de dataframes para visualizar y manipular datos dinámicamente.
- Publicación como aplicacionesExporta notebooks a HTML basado en WebAssembly o los sirve como aplicaciones web mediante la CLI de marimo.
- Integración con IAOfrece autocompletado estilo GitHub Copilot, chat contextual y conexión de agentes externos a sesiones activas mediante
marimo pair.
¿Cuáles son los casos de uso de marimo?
- Análisis exploratorio de datosUtilizar celdas SQL y widgets interactivos para filtrar y visualizar conjuntos de datos grandes sin salir del entorno de desarrollo.
- Desarrollo reproducible de MLGestionar entornos virtuales y requisitos de paquetes serializados en el archivo .py para garantizar que los modelos funcionen igual en cualquier máquina.
- Enseñanza y documentaciónCompartir notebooks ejecutables como módulos de Python o aplicaciones web ligeras para cursos o reportes técnicos.
¿Cómo usar marimo?
- Crear o abrir notebookIniciar sesión en el editor web o abrir un archivo .py existente con la interfaz de marimo.
- Escribir código y SQLIntroducir comandos Python o consultas SQL en las celdas; los resultados se calculan y muestran inmediatamente.
- Configurar reactividadAjustar si las celdas deben ejecutarse automáticamente al cambiar dependencias o marcarse como obsoletas para ahorrar recursos.
- Exportar o compartirGenerar un archivo HTML independiente o servir el notebook como aplicación web usando la línea de comandos.


