
marimo
marimo team · Programación
marimo es un cuaderno de Python reactivo, gratuito y de código abierto para científicos de datos y desarrolladores que quieren código reproducible, archivos compatibles con Git y apps para compartir.

Acerca de marimo
Qué es marimo
marimo es un cuaderno de Python de código abierto construido alrededor de una idea: tu código y sus resultados nunca deberían contradecirse. En lugar de llevar la cuenta de qué celdas ejecutaste y en qué orden, marimo ejecuta las celdas dependientes de forma automática cada vez que cambias un valor en otra parte del cuaderno. Así elimina el estado oculto que hace que los cuadernos tradicionales cuesten de confiar y todavía más de compartir con un compañero.
Guarda cada cuaderno como un archivo .py normal, así que el control de versiones funciona igual que en el resto de tu código. Puedes ejecutar ese mismo archivo como script, lanzarlo como app web interactiva o abrirlo en el navegador mediante WebAssembly sin ningún servidor. Además, hay una opción alojada gratuita, molab, para probarlo en línea.
¿El problema? La ejecución reactiva hace que una celda costosa se vuelva a ejecutar con cada cambio pequeño, así que los flujos pesados necesitan cuidado. Puedes marcar las celdas lentas como obsoletas en lugar de ejecutarlas automáticamente, pero esa es una configuración en la que tienes que pensar. marimo cloud sigue en beta cerrada, lo que significa que los equipos que quieren un alojamiento totalmente gestionado sin montar sus propios servidores tienen que esperar a que se abra o levantar la infraestructura por su cuenta.
Primeros pasos
- Instala el paquete con pip (
pip install marimo), uv o conda, o sáltate las instalaciones y abre un cuaderno en molab, la versión gratuita en línea. - Ejecuta
marimo editen tu terminal para abrir el editor y crear un cuaderno nuevo. - Escribe Python en una celda. Cuando la ejecutas, marimo ejecuta automáticamente las celdas que dependen de sus variables.
- Añade interactividad vinculando deslizadores, tablas o gráficos a variables de Python. No hacen falta funciones de callback.
- Guarda tu trabajo como archivo
.pyy luego ejecútalo como script o despliégalo como app web cuando quieras compartirlo.
Información del producto
Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de marimo.
Ideal para
Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.
Usuarios
- Científicos de datos
- Desarrolladores
- Docentes
Tareas
- Explorar conjuntos de datos y crear gráficos
- Escribir SQL sobre dataframes y almacenes de datos
- Convertir un cuaderno en una pequeña herramienta interna
Casos de uso
- Reproducir el entrenamiento de un modelo meses después y obtener los mismos números.
- Compartir un informe interactivo donde quien revisa arrastra un deslizador en lugar de leer una salida estática.
- Prototipar un panel en el navegador sin montar backend, gracias a WebAssembly.
Funciones clave
Ejecución reactiva
Esta es la función que define a marimo. Ejecutas una celda y todas las que dependen de ella se vuelven a ejecutar, así el cuaderno no puede caer en el estado obsoleto y desordenado que despista a los usuarios de Jupyter. Si una celda es costosa, puedes decirle a marimo que marque las dependientes como obsoletas en vez de reejecutarlas. El resultado es un cuaderno cuyos resultados siempre coinciden con el código que tienen encima.
Almacenamiento en archivos Python puros
Cada cuaderno de marimo se guarda como archivo .py, no como JSON. Eso significa que los diffs se leen, los conflictos de fusión se manejan y tu cuaderno convive con el resto del proyecto en Git. Puedes importar funciones de un cuaderno a otro, lo que convierte los cuadernos en módulos reutilizables en lugar de documentos aislados.
Interactividad integrada
Vinculas elementos de interfaz directamente a variables de Python. Un deslizador no se conecta mediante callbacks: solo lee y escribe un valor, y marimo se encarga del resto. Las tablas, los gráficos y los formularios funcionan igual, lo que hace que convertir un análisis en una pequeña app sea más fácil, no menos.
Compatibilidad con SQL
marimo tiene compatibilidad nativa con SQL junto a Python. Puedes consultar dataframes, bases de datos, almacenes de datos y lakehouses sin salir del cuaderno, y mezclar los resultados con tu trabajo en Python. Es una comodidad real si tu análisis vive mitad en pandas y mitad en un almacén de datos.
Ejecutar como script o app
El mismo archivo se puede ejecutar como script de Python, parametrizado por argumentos de línea de comandos, o desplegarse como app web interactiva o presentación de diapositivas. No hay un paso de exportación aparte ni una reescritura. Un archivo, tres formas de usarlo.
Ejecución en el navegador mediante WebAssembly
marimo puede funcionar por completo en el navegador mediante WebAssembly, sin servidor. Eso baja la barrera para compartir un cuaderno con alguien que no quiere instalar nada. También es la forma en que la opción gratuita molab te pone a funcionar en segundos.
Flujos de trabajo nativos de IA
marimo se diseñó pensando en herramientas de IA. Puedes combinar el cuaderno con agentes de programación con IA como Claude Code, o usar las funciones de IA integradas del editor para autocompletar y recibir ayuda mientras escribes. El modelo reactivo también ayuda aquí, porque las ediciones automáticas no pueden dejar dependencias ocultas.
Ventajas y desventajas
Ventajas
- La ejecución reactiva elimina el estado oculto, así los resultados siempre coinciden con el código que ves.
- Guardar los cuadernos como archivos `.py` hace que el control de versiones y la revisión de código sean sencillos.
- Un solo archivo se ejecuta como script, app web o en el navegador, lo que reduce el trabajo de exportación.
- Es gratuito y de código abierto bajo una licencia permisiva, sin muros de pago por funciones.
Desventajas
- Las reejecciones reactivas pueden salir caras con conjuntos de datos grandes y te obligan a gestionar qué celdas quedan obsoletas.
- Hay menos plugins y tutoriales de terceros que en la madura biblioteca de plugins de Jupyter.
- marimo cloud sigue en beta cerrada, así que el alojamiento gestionado aún no está al alcance de todos.
Preguntas frecuentes
marimo es un cuaderno de Python reactivo para análisis de datos, entrenamiento de modelos y consultas SQL. Está pensado para quien quiere resultados reproducibles y archivos compatibles con Git en lugar del estado oculto que permiten los cuadernos tradicionales.
Contenido relacionado
Explora herramientas, habilidades y artículos relacionados con marimo.
Alternativas a marimo
Base Code
Base44 (Wix) · Programación · ProductividadBase Code es un entorno de desarrollo en la nube compartido de Base44. El equipo describe cambios sobre un repositorio de GitHub en el chat, los ve en una vista previa y los envía como pull requests.
Google EmbeddingGemma 2
Google DeepMind · Escritura · Imagen · ProgramaciónGoogle EmbeddingGemma 2 es un modelo abierto de 740 millones de parámetros que convierte texto, código, imágenes, audio y fotogramas de vídeo en vectores de un mismo espacio de 768 dimensiones, y funciona en móviles y portátiles.
GitGlow
GitGlow · Programación · ProductividadGitGlow es un cliente Git de escritorio que reúne tu código y los cambios de tus agentes de IA en una sola revisión, para que sepas qué va a salir de tu máquina antes de publicarlo.
