marimo

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.

Vista previa de la interfaz de marimo

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

  1. 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.
  2. Ejecuta marimo edit en tu terminal para abrir el editor y crear un cuaderno nuevo.
  3. Escribe Python en una celda. Cuando la ejecutas, marimo ejecuta automáticamente las celdas que dependen de sus variables.
  4. Añade interactividad vinculando deslizadores, tablas o gráficos a variables de Python. No hacen falta funciones de callback.
  5. Guarda tu trabajo como archivo .py y 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.

Plan gratuitoSí
Planes de pago$0
PlataformaWeb, Linux, macOS, Windows
Desarrolladormarimo team
CategoríaProgramación
Fecha de lanzamientoJun 2020
Última actualizaciónOct 2025
Visitas al sitio web144.2K
Ranking global del sitio286.2K
Disponibilidad de la APIN/A

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.